目录
一、单选题 ......................................................................... 1 二、判断题 ......................................................................... 12 三、填空题 ......................................................................... 13 四、程序填充 ....................................................................... 18 五、读程序写出运行结果 ............................................................. 31 六、指出以下程序或函数的功能 ....................................................... 44 七、程序改错 ....................................................................... 46 八、程序设计 ....................................................................... 《面向对象程序设计》答案 ........................................................... 、单选题
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++
函数必须有返回值,否则不能使用函数 D. C++ 程序中有调用关系的所有函数必须放在同一个程序文件中
52 61
1
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. 当#i nclude后面的文件名用双引号括起来时,寻找被包含文件的方式是 (B )A. 直接按系统设定的标准方式搜索目录
B. 先在源程序所在目录搜索,再按系统设定的标准方式搜索目录
C. 仅仅搜索源程序所在目录 D. 搜索当前逻辑盘上的所有目录
63. 当#“ elude后面的文件名用尖括号括起来时,寻找被包含文件的方式是 (A )A. 直接按系统设定的标准方式搜索目录
B. 先在源程序所在目录搜索,再按系统设定的标准方式搜索目录 C. 仅仅搜索源程序所在目录 D.
搜索当前逻辑盘上的所有目录
2
67. 文件包含命令中被包含的文件的扩展名( C )。
A. 必须是 .h B. 不能是 .h C. 可以是 .h 或 .cpp D. 必须是 .cpp 70. 用new运算符创建一个含 10个元素的一维整型数组的正确语句是 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} string ”,则 cout<
80. 假定 p 指向的字符串为” 输出结果为( C )。 A. string B. ring
C. ing D. i
81. 假定 p 指向的字符串为”
string ”,若要输出这个字符串的地址值, 则使用( D )。 A. cout<<*s; B. cout<
定义p并使p指向动态空间中的包含 A. int *p=new int[30];
C. int *p=new [30]; D. *p=new int[30]; 83. 84. 85.
假定 p 是具有 int** 类型的指针变量,则给 p 赋值的正确语句为( B )。
B. p=new int*; C. p=new int**; D. p=new int[10];
D. int(*p)[20];
BOOK*book=new BOOK”; ,
” Wang
(C )
D. cout<<(void *)s;
30个整数的数组所使用的定义语句为
(A )。
B. int *p=new int(30);
A. p=new int;
要使语句“ p=new int[10][20]; ”能够正常执行, p 应被事先定义为( D )。 假定有“ struct BOOK{char title[40]; float price;}; A. strcpy(book->title,
A. int *p; B. int **p; C. int *p[20]; 则正确的语句为( A )。
” Wang Tao” ); B. strcpy(book.title,
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; 87. B )。
A. BOOK &x= &book; 88. A. B.
D. BOOK *x=book;
假定有“ struct BOOK{char title[40]; float price;}book;
B. BOOK &x=book;
”,则正确的语句为
C. BOOK &x=new BOOK; D. BOOK &x=BOOK;
下列对引用的陈述中不正确的是( C )。
每一个引用都是其所引用对象的别名 , 因此必须初始化 形式上针对引用的操作实际上作用于它所引用的对象
C. 一旦定义了引用,一切针对其所引用对象的操作只能通过该引用间接进行 D. 91.
不需要单独为引用分配存储空间
假定指针变量 p 定义为“ int *p=new int(100); ”,要释放 p 所指向的动态内存, 应使A. delete p; B. delete *p; C. delete &p; D. delete []p;
92.
假定指针变量 p 定义为“ int *p=new int[30]; ”,要释放 p 所指向的动态内存, 应使用语
D. delete []p; D. int &rx=x;
用语句( A )。
句( D )。
A. delete p; B. delete *p; C. delete &p; 93.
A. int rx=x; B. int rx=&x; C. int *rx=&x; 94.
A.
假定变量x定义为“ int x=5; ”,要使rx成为x的引用(别名),rx应定义为(D )。
关于消息,下列说法中不正确的是( B )。 发送消息的对象请求服务,接受消息的对象提
3