《c++》复习题集及答案

目录

一、单选题 ....................................................................................................................................... 1 二、判断题 ..................................................................................................................................... 12 三、填空题 ..................................................................................................................................... 13 四、程序填充 ................................................................................................................................. 18 五、读程序写出运行结果 ............................................................................................................. 31 六、指出以下程序或函数的功能 ................................................................................................. 44 七、程序改错 ................................................................................................................................. 46 八、程序设计 ................................................................................................................................. 52 《面向对象程序设计》答案 ......................................................................................................... 61

一、单选题

1. C++源程序文件的缺省扩展名为( A )。

A. cpp B. exe C. obj D. lik

2. 由C++源程序文件编译而成的目标文件的缺省扩展名为( C )。 A. cpp B. exe C. obj D. lik

3. 由C++目标文件连接而成的可执行文件的缺省扩展名为( B )。 A. cpp B. exe C. obj D. lik

4. 编写C++程序一般需经过的几个步骤依次是( B )。 A. 编译、编辑、连接、调试 B. 编辑、编译、连接、调试 C. 编译、调试、编辑、连接 D. 编辑、调试、编辑、连接

6. 能作为C++程序的基本单位是( C )。

A. 字符 B. 语句 C. 函数 D. 源程序文件 8. C++程序的基本模块为( D )。

A. 表达式 B. 标识符 C. 语句 D. 函数 10. 存储以下数据,占用存储字节最多的是( D )。 A. 0 B. ?0? C. “0” D. 0.0 38. 以下说法中正确的是( B )。

A. C++程序总是从第一个定义的函数开始执行 B. C++程序总是从main函数开始执行

C. C++函数必须有返回值,否则不能使用函数

1

D. C++程序中有调用关系的所有函数必须放在同一个程序文件中 40. 函数重载是指( A )。

A. 两个或两个以上的函数取相同的函数名,但形参的个数或类型不同

B. 两个以上的函数取相同的名字和具有相同的参数个数,但形参的类型可以不同 C. 两个以上的函数名字不同,但形参的个数或类型相同

D. 两个以上的函数取相同的函数名,并且函数的返回类型相同 41. 以下关于函数模板叙述正确的是( C )。 A. 函数模板也是一个具体类型的函数

B. 函数模板的类型参数与函数的参数是同一个概念

C. 通过使用不同的类型参数,函数模板可以生成不同类型的函数 D. 用函数模板定义的函数没有类型 42. 下列( C )的调用方式是引用调用。

A. 形参和实参都是变量 B.形参是指针,实参是地址值 C. 形参是引用,实参是变量 D.形参是变量,实参是地址值

43. 为了提高程序的运行速度,可将不太复杂的功能用函数实现,此函数应选择( A )。

A. 内联函数 B.重载函数 C.递归函数 D.函数模板 55. 以下正确的描述是( C )。 A. 不允许设置参数的默认值

B. 设置参数的默认值只能在定义函数时设置 C. 设置参数的默认值时,应该设置右边的参数 D. 设置参数的默认值时,应该全部参数都设置 56. 采用重载函数的目的是( D )。 A. 实现共享 B. 减少空间

C. 提高速度 D. 使用方便,提高可读性 59. 下面的标识符中,( C )是文件级作用域。

A. 函数形参 B.语句标号 C.外部静态类标识符 D.自动类标识符 60. 以下叙述不正确的是( D )。

A. 宏替换不占用运行时间 B. 宏名无类型

C. 宏替换只是字符替换 D. 宏名必须用大写字母表示 61. C++语言的编译系统对宏命令的处理是( D )。 A. 在程序运行时进行 B. 在程序连接时进行

C. 和C++程序的其它语句同时进行编译

D. 在对源程序中其它成分正式编译之前进行

62. 当#include后面的文件名用双引号括起来时,寻找被包含文件的方式是( B ) A. 直接按系统设定的标准方式搜索目录

B. 先在源程序所在目录搜索,再按系统设定的标准方式搜索目录 C. 仅仅搜索源程序所在目录 D. 搜索当前逻辑盘上的所有目录

63. 当#include后面的文件名用尖括号括起来时,寻找被包含文件的方式是( A ) A. 直接按系统设定的标准方式搜索目录

B. 先在源程序所在目录搜索,再按系统设定的标准方式搜索目录 C. 仅仅搜索源程序所在目录 D. 搜索当前逻辑盘上的所有目录

。 。 2

67. 文件包含命令中被包含的文件的扩展名( C )。

A. 必须是.h B. 不能是.h C. 可以是.h或.cpp D. 必须是.cpp 70. 用new运算符创建一个含10个元素的一维整型数组的正确语句是( C )。 A. int *p=new a[10]; B. int *p=new float[10];

C. int *p=new int[10]; D. int *p=new int[10]={1,2,3,4,5}

80. 假定p指向的字符串为”string”,则cout<

83. 假定p是具有int**类型的指针变量,则给p赋值的正确语句为( B )。

A. p=new int; B. p=new int*; C. p=new int**; D. p=new int[10]; 84. 要使语句“p=new int[10][20];”能够正常执行,p应被事先定义为( D )。 A. int *p; B. int **p; C. int *p[20]; D. int(*p)[20]; 85. 假定有“struct BOOK{char title[40]; float price;}; BOOK *book=new BOOK;”,则正确的语句为( A )。

A. strcpy(book->title,”Wang Tao”); B. strcpy(book.title,”Wang Tao”);

C. strcpy(*book.title,”Wang Tao”); D. strcpy((*book)->title,”Wang Tao”);

86. 假定有“struct BOOK{char title[40]; float price;}; BOOK *book;”,则不正确的语句为( A )。

A. BOOK *x=new book; B. BOOK x={\ C. BOOK *x=new BOOK; D. BOOK *x=book;

87. 假定有“struct BOOK{char title[40]; float price;}book;”,则正确的语句为( B )。

A. BOOK &x= &book; B. BOOK &x=book; C. BOOK &x=new BOOK; D. BOOK &x=BOOK; 88. 下列对引用的陈述中不正确的是( C )。

A. 每一个引用都是其所引用对象的别名,因此必须初始化 B. 形式上针对引用的操作实际上作用于它所引用的对象

C. 一旦定义了引用,一切针对其所引用对象的操作只能通过该引用间接进行 D. 不需要单独为引用分配存储空间

91. 假定指针变量p定义为“int *p=new int(100);”,要释放p所指向的动态内存,应使用语句( A )。

A. delete p; B. delete *p; C. delete &p; D. delete []p; 92. 假定指针变量p定义为“int *p=new int[30];”,要释放p所指向的动态内存,应使用语句( D )。

A. delete p; B. delete *p; C. delete &p; D. delete []p; 93. 假定变量x定义为“int x=5;”,要使rx成为x的引用(别名),rx应定义为( D )。 A. int rx=x; B. int rx=&x; C. int *rx=&x; D. int &rx=x; 94. 关于消息,下列说法中不正确的是( B )。

A. 发送消息的对象请求服务,接受消息的对象提供服务

3

联系客服:779662525#qq.com(#替换为@) 苏ICP备20003344号-4