1. 关于C +十与C语言的关系的描述中,
A. C 语言是 C +十的一个子集 B. C++是兼容C语言的
C. C +十对C语言进行了一些改进 D. C++ 和 C 语言都是面向对象的
2. C++对C语言作了很多改进,下列描述中 _________ 使得C语言发生了质变,即从面向过程变
成又面向对象。 (2 分)
A. 增加了一些新的运算符
B. 允许函数重载,并允许设置默认参数 C. 规定函数说明必须用原型 D. 引进了类和对象的概念
3. 按照标识符的要求, ________ 符号不能组成标识符。 (2分)
A. 连接符 B. 下划线
C. 大小写字母 D. 数字字符
4. 下述关于break语句的描述中, ________ 是不正确的。(2分) A. break 语句可用于循环体中,它将退出该重循环 B. break语句可用于switch中,它将退出 switch语句 C. break 语句可用于 if 体内,它将退出 if 语句 D. break 语句在一个循环体内可以出现多次
5. 以下关于 do-while 语句的叙述正确的是 ________ 。 (2分) A. 不能使用 do-while 语句构成的循环 B. do — while语句构成的循环必须用 break语句才能退出
C. do-while 语句构成的循环,当 while 语句中的表达式值为非零时结束循环 D. do —while 语句构成的循环,当 while 语句中的表达式值为零时结束循环 6. ______ 是给对象取一个别名,它引入了对象的同一词。 A. 指针 B. 引用 C. 枚举
D. 结构
7. 下列数组的定义中, ______ __ 是错误的。 (2
A.char cal[ ]={ , ' ch, a, '' r '' B.char ca2[5]= ” char '}
C.char ca3[4]= ” char D.int array[ ]={6 , 5, 4} 3,
—是错误的。(2分)
(2分)
8. 1.下列变量名中, ______ 是合法的。 (2 分)
A. CHthA
B. byte - size C. double D. A + a 9.
使用数学函数,程序要包含 _______ 头文件。 (2 分) A. iostream.h B. math.h C. string.h D. stdio.h
10. 函数参数传递以下 ______ 不是正确的。 (2 分)
A. 函数类型一定和形参类型完全一样。 B. 在函数被调用时才分配形参的存储单元。 C. 实参类型必须与形参相符。
D. 传递时是传递参数值,即单向传递 11. 有关析构函数的说法不正确的是: (2 分)
A. 一个类中析构函数有且只有一个 B. 析构函数无任何函数类型
C•析构函数和构造函数一样可以有形参 D•析构函数作用是在对象被撤消时收回先前分配的内存 12. 下列说明中正确的是 : (2 分)
const char * ptr ; A. 指向字符常量的指针 B. 指向字符的常量指针 C•指向字符串常量的指针 D.指向字符串的常量指针
13. 系统在调用重载函数时,往往根据一些条件确定哪个重载函数被调用,在下列选项中,不能作为依据的是 ____ 。 (2 分)
A. 参数个数 B. 参数的类型 C•函数名称 D. 函数的类型
14. 关于纯虚函数和抽象类的描述中, _________ 是错误的。 (2 分) A. 纯虚函数是一种特殊的虚函数,它没有具体的实现 B. 抽象类是指具有纯虚函数的类
C. 一个基类中说明有纯虚函数,该基类的派生类一定不再是抽象类 D. 抽象类只能作为基类来使用,其纯虚函数的实现由派生类给出 15. 下列关于运算符重载的描述中, ________ 是正确的。 (2分)
A. 运算符重载可以改变运算数的个数 B. 运算符重载可以改变优先级
C. 运算符重载可以改变结合性
D. 运算符重载不可以改变语法结构
16. 进行磁盘文件的 I/O 操作时需要包含 _____ 文件。 (2 分)
A.iostream.h B.fstream.h C. stdio.h D. stdlib.h 17. 定义重载函数错误的为 __________ 。(多选)(3 分)
A. 功能相近的函数在相同作用域内以相同函数名定义重载函数。 B. 编译器以形参名来区分函数。
C. 编译器以返回值来区分函数。
D. 不同功能函数可以定义为重载函数。
18. 以下对类模板正确的描述为 ___________ 。 (多选 )(3分)
A. 系统规定应该使用模板。
B. 模板是 C++ 支持参数化多态性的工具。
C. 使用模板将程序所处理的对象的类型参数化。 D. 使用模板可以为用于处理多种不同类型的对象。 19. 20. 21. 22. 23.
同一数组的各元素具有 ___的数据类型 (2 分) 指针变量是用来存储 ___的变量 (2分) 字符串的结束标记是 ___(2 分)
派生新类的过程包括 ___已有类的成员,调整已有类的成员和添加新成员 (2 分) 构造派生类对象时,就要对基类数据成员、 ___数据成员和成员对象的数据成员进行初始 化 (2 分 )
24. 作用域分辨符是 ___(2 分)
25. 使用虚基类时要用 ___关键字 (2分)
26. C++程序按结构可划分为:类 ___文件、类定义文件和类实现文件
(2分)
27. 在使用 I/O 流类库对文件进行二进制操作时,文件打开模式应使用标志值 ______________ 。( 2 分)
28. 利用 I/O 流类库中的格式标志值 ______ 设置以定点格式显示浮点数值。 (2分)
29. 分析以下程序执行的结果 .(10 分)
#include #include { Sample public: x,y; int }; void { 30. 分析以下程 #include { } ; void { } 31. 分 析 以 下 程 #include Sample(int void Sample 的执行结 int Sample(int void Sample 序的输出 in t Sample(int cout<< ” constructing Sample(){x=y=0;} a,int b){x=a;y=b;} disp() { cout<< ” x= ” < main() s1(2,3); s1.disp() ; 果 (10 分) Sample x,y; public: Sample(){x=y=0;} a,int b){x=a;y=b;} ~Sample() { if(x== y) cout<< ” x=y ” < { cout<< ” x= ” < main() s1(2,3); s1.disp() ; 果 (10 分 ) Sample x; public: a) { x=a; object:x= ” < void { func(int static Sample n) obj(n); } void { } 32. 分 析 以 #include { }; void { 参考答案: 下程序 cout<< 的执 int int void x= ” int Sample main() func(1); func(10); 行结 果 (12 分 ) Sample public: x; y; disp() { ” ,y= ” < main() Sample::*pc; s; pc=&Sample::x; s.*pc=10; pc=&Sample::y; s.*pc=20; s.disp(); ” < 20 内存单元地址 21 ‘0' 22 吸收 23 新增 24:: 25 virtual 26 申明 27 ios::binary 29. 解: x=2,y=3 本题说明了重载构造函数的定义方法。首先定义了一个类 Sample,在 main() 中定义了它的一个对象,定义 s1 对象时调用其重载构造函数 (x=2,y=3) , 然 后 , 调 用 其 成 员 函 数 输 出 数 据 成 员 。 所 以 输 出 为 : x=2,y=3 。 注意:构造函数是唯一不能被显式调用的成员函数,它在定义类的对象时自动调用,也称为隐 式调用。 28ios::fixed 30. x!=y 解 : x=2,y=3 本题说明了析构函数的定义方法。首先定义了一个类 Sample,在main()中定义了它 的一个对象,定义 s1 对象时调用其重载构造函数 (x=2,y=3) ,然后,调用其成员函 数 输出数据成员,最后在退出程序时自动调用析构函数。所以输出为: x=2,y=3 x!=y 注意:析构函数在对象的作用域结束时被自动隐式调用 31. 解: counstructing object:x=1 本题说明静态对象构造函数的调用情况,由于在 func() 函数中定义的对象 obj 是静态对象,故 只被构造一次,所以输出为: counstructing object:x=1 注意:静态对象和静态变量一样,只被构造一次。块作用域的静态变量,在首次进入到定义该 静态对象的函数时,构造该静态对象,以后进入该函数时不再构造静态对象。 32. 解: x=10,y=20 本题说明了类数据成员指针的使用方法。在 main() 中定义的 pc 是一个指向 Sample 类数据成员 的指针。执行 pc=&Sample::x时,pc指向数据成员x,语句s.*pc=10等价于s.x=10(为了保证该 语句正确执行, Sample 类中的 x 必须是公共成员 );执行 pc=&Sample::y 时, pc 指向数据成员 y,语句 s.*pc=20等价于 s.y=20(同样,Sample类中的 y必须是公共成员 为: x=10,y=20 。 )。所以输出 因篇幅问题不能全部显示,请点此查看更多更全内容