一、单选题(共 30 道试题,共 60 分。)V 1. 队列的最大特征是()
A. 先进先出
B. 后进先出
C. 自动排序
D. 大数优先
满分:2 分
2. 有如下类定义: class MyClass{ int value; public: MyClass(int n): value (n) {} int gerValue()const{ return value;} }; 则类 MyClass 的构造函数的个数是 ( )
A. 1个
B. 2个
C. 3个
D. 4个
满分:2 分
3. 在下列关键字中,不能用来表示继承方式的是()
A. private
B. static
C. public
D. protected
满分:2 分
4. 已知函数 f 的原型是 void f(int *a, long & b);,变量 v1、v2 的定义是: int v1; loong v2; 下列调用语句中正确的是 ( )
A. f(v1,&v2)
B. f(v1,v2)
C. f(&v1,&v2)
D. f(&v1,v2)
满分:2 分
5. 设有定义intx;floatv;,则10+x+v值的数据类型是()
A. int
B. double
C. float
D. 不确定
满分:2 分
6. C++异常处理机制中没有()
A. try
B. throw
C. catch
D. finally
满分:2 分
7. 二叉查找树按()遍历时访问到节点的数据是排好序的
A. 前序
B. 中序
C. 后序
D. 层次
满分:2 分
8. 如果有如下定义:constchar*str="OK";那么,sizeof(str)的值应该是()
A. 1
B. 2
C. 3
D. 4
满分:2 分
9. 二进制数00001001跟01000011异或的结果为()
A. 01001011
B. 00000001
C. 01001010
D. 01001100
满分:2 分
10. 假定a为一个短整型(shortint)数组名,则元素a[8]的地址为()
A. a+4
B. a+8
C. a+16
D. a+32
满分:2 分
11. 若有定义:intaa[8];则以下表达式中不能代表数组元aa[1]的地址的是()
A. &aa[0]+1
B. &aa[1]
C. &aa[0]++
D. aa+1
满分:2 分
12. 抽象类指的是()
A. 没有任何成员的类
B. 只有成员函数没有数据成员的类
C. 有虚函数的类
D. 有纯虚函数的类
满分:2 分
13. 以下对二维数组a的正确说明是:()
A. inta[3][];
B. floata(3,4);
C. doublea[1][4];
D. floata(3)(4);
满分:2 分
14. C++泛型编程通过()实现
A. void
B. template
C. NULL
D. typedef
满分:2 分
15. 十进制数127转换成二进制数是()
A. 11111111
B. 01111111
C. 10000000
D. 11111110
满分:2 分
16. 使用流控制符()需要头文件
A. endl
B. hex
C. setw
D. left
满分:2 分
17. 程序运行中需要从键盘上输入多于一个数据时,各数据之间应该使用()符号作为分隔符
A. 空格或逗号
B. 逗号或回车
C. 逗号或分号
D. 空格或回车
满分:2 分
18. 如果在try块中用throw"error";语句抛出一个异常,则参数类型是()的catch块能够捕获这个异常。
A. char*
B. constchar*
C. Char
D. constchar
满分:2 分
19. 数组名作为实参传递给形参时,数组名被处理为该数组的()
A. 长度
B. 元素个数
C. 首地址
D. 各元素的值
满分:2 分
20. 下面函数调用语句含有实参的个数为: ( ) func((exp1,exp2),(exp3,exp4,exp5))
A. 1
B. 2
C. 4
D. 5
满分:2 分
21. 如果myclass类定义了拷贝构造函数和一个整型参数的构造函数,还重载了赋值运算符,那么语句myclassobj=100;会( )
A. 调用拷贝构造函数
B. 调用整型参数的构造函数
C. 调用赋值运算符
D. 引起编译错误
满分:2 分
22. 链表的基本单元是()
A. 节点
B. 头指针
C. 尾指针
D. 数据域
满分:2 分
23. 若已定义inta=5;下面对(1),(2)两个语句正确理解的是()(1)int*p=&a;(2)*p=a;
A. (1)(2)中的*P含义相同,都表示给指针变量P附值
B. (1)(2)的执行结果都是把变量a的地址值赋给指针变量P
C. (1)在对P进行说明的同时进行初始化,使P指向a,(2)将变量a的值赋给指针变量P
D. (1)在对P进行说明的同时进行初始化,使P指向a,(2)将变量a的值赋给*P
满分:2 分
24. 一个类如果没有定义任何函数,编译器不会自动为这个类产生()
A. 拷贝构造函数
B. 无参构造函数
C. 输出流运算符
D. 赋值运算符
满分:2 分
25. 在定义inta[3][4][2];后,第10个元素是()
A. a[2][1][2]
B. a[1][0][1]
C. a[2][0][1]
D. a[2][2][1]
满分:2 分
26. 下列语句分别是不同程序中的第一个输入输出语句,若去掉其中的“<<left”,输出效果将发生变化的是()
A. cout<<left<<setfill(~*~)<<357;
B. cout<<left<<setw(5)<<357;
C. cout<<left<<setw(5)<<"ABCDE";
D. cout<<left<<"ABCDE";
满分:2 分
27. 以下不能正确进行字符串赋初值的语句是()
A. charstr[5]="good!";
B. charstr[]="good!";
C. char*str="good!";
D. charstr[5]={‘g',‘o',‘o',‘d'};
满分:2 分
28. 多重继承时,如果派生类的两个父类有一个共同的虚基类,那么虚基类的初始化参数由()的构造函数来传递
A. 第一个父类
B. 第二个父类
C. 派生类
D. 以上都不是
满分:2 分
29. 下列哪个是C++语言的有效标识符?()
A. _No1
B. No、1
C. 12345
D. int
满分:2 分
30. 若有说明:int*p1,*p2,m=5,n;以下均是正确赋值语句的是()
A. p1=&m,p2=&p1
B. p1=&m;p2=&n;*p1=*p2
C. p1=&m;p1=p2
D. p1=&m;*p2=*p1
满分:2 分