|
一、单选题(共 30 道试题,共 60 分。) V 1. 执行语句 char ch[] = "Hello"; char * p = &ch[0]; cout<<*p 结果是输出 ( )。
A. 一个地址
B. H
C. Hello
D. 乱码
2. 有如下类和对象的定义: class Constants{ public: static double getPI(){return 3.1416;} }; Constants constants; 下列各组语句中,能输出 3.1416 的是 ( )
A. cout<<constants->getPI();和cout<<Constants::gerPI();
B. cout<<constants.getPI();和cout<<Constants.getPI();
C. cout<<constants->getPI();和cout<<Constants->getPI();
D. cout<<constants.getPI();和cout<<Constants::getPI();
3. 在每个C++程序中都必须包含有这样一个函数,该函数的名称为()
A. main
B. MAIN
C. name
D. function
4. 假定AB为一个类,则执行“ABa(4),b[4],*p[5]”语句时,自动调用该类构造函数的次数为()
A. 4
B. 5
C. 8
D. 13
5. private访问属性限制对象的成员可以在()中访问
A. 本类的成员函数
B. main函数
C. 父类的成员函数
D. 子类的成员函数
6. 如果有如下定义:constchar*str="OK";那么,sizeof(str)的值应该是()
A. 1
B. 2
C. 3
D. 4
7. 程序运行中需要从键盘上输入多于一个数据时,各数据之间应该使用()符号作为分隔符
A. 空格或逗号
B. 逗号或回车
C. 逗号或分号
D. 空格或回车
8. 十进制数127转换成二进制数是()
A. 11111111
B. 01111111
C. 10000000
D. 11111110
9. 下面是一个模板声明的开始部分: templute<typename T> double __ 由此可知 ( )
A. 这可能是一个函数模板的声明
B. 这可能是一个类模板的声明
C. 这既可能是一个函数模板的声明,也可能是一个类模板的声明
D. 这肯定是一个错误的模板声明
10. 执行下列语句段后,输出字符“*”的个数是()for(inti=50;i>1;I-=2)cout<<~*~;
A. 24
B. 25
C. 26
D. 50
11. 数组名作为实参传递给形参时,数组名被处理为该数组的()
A. 长度
B. 元素个数
C. 首地址
D. 各元素的值
12. 下列排序算法中,平均效率最低的排序算法是()
A. 插入法
B. 冒泡法
C. 选择法
D. 快速排序法
13. 二进制数00001001跟01000011异或的结果为()
A. 01001011
B. 00000001
C. 01001010
D. 01001100
14. 两个指针变量不可以()
A. 相加
B. 比较
C. 相减
D. 指向同一地址
15. 多态性是通过()实现的
A. 构造函数
B. 析构函数
C. 虚函数
D. 函数重载
16. C++异常处理机制中没有()
A. try
B. throw
C. catch
D. finally
17. 设有定义intx;floatv;,则10+x+v值的数据类型是()
A. int
B. double
C. float
D. 不确定
18. 下面的选项中正确的赋值语句是(chara[5],*p=a;)()
A. p=“abcd”;
B. a=“abcd”;
C. *p=“abcd”;D*a=“abcd”;
19. 若有说明: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
20. 二叉查找树按()遍历时访问到节点的数据是排好序的
A. 前序
B. 中序
C. 后序
D. 层次
21. 队列的最大特征是()
A. 先进先出
B. 后进先出
C. 自动排序
D. 大数优先
22. 下列语句分别是不同程序中的第一个输入输出语句,若去掉其中的“<<left”,输出效果将发生变化的是()
A. cout<<left<<setfill(~*~)<<357;
B. cout<<left<<setw(5)<<357;
C. cout<<left<<setw(5)<<"ABCDE";
D. cout<<left<<"ABCDE";
23. 有如下定义: int a[5]={1,3,5,7,9},*p=a; 下列表达式中不能得到数值 5 的是 ( )
A. a[2]
B. a[3]
C. *(p+2)
D. *p+4
24. 有如下 4 个语句: ① cout<<~A~<<setfill(~*~)<<left<<setw(7)<<~B~<<endl; ② cout<<setfill(~*~)<<left<<setw(7)<<~A~<<~B~<<endl; ③ cout<<~A~<<serfill(~*~)<<right<<setw(7)<<~B~<<endl; ④ cout<<setfill(~*~)<<right<<setw(7)<<~A~<<~B~<<endl; 其中能显示 A******B 的是
A. ①和③
B. ①和④
C. ②和③
D. ②和④
25. 要打开一个文件并从中读取数据,应该使用()类的对象
A. istream
B. ostream
C. ifstream
D. ofstream
26. 如果myclass类定义了拷贝构造函数和一个整型参数的构造函数,还重载了赋值运算符,那么语句myclassobj=100;会( )
A. 调用拷贝构造函数
B. 调用整型参数的构造函数
C. 调用赋值运算符
D. 引起编译错误
27. 以下对二维数组a的正确说明是:()
A. inta[3][];
B. floata(3,4);
C. doublea[1][4];
D. floata(3)(4);
28. 下列有关抽象类和纯虚函数的叙述中,错误的是()
A. 拥有纯虚函数的类是抽象类,不能用来定义对象
B. 抽象类的派生类若不实现纯虚函数,它也是抽象类
C. 纯虚函数的声明以“=0;”结束
D. 纯虚函数都不能有函数体
29. 当需要使用istrstream流类定义一个流类对象并联系一个字符串时,应在文件开始使用#include命令,使之包含()文件
A. iostream、h
B. iomanip、h
C. fstream、h
D. ststreh
30. 假定a为一个短整型(shortint)数组名,则元素a[8]的地址为()
A. a+4
B. a+8
C. a+16
D. a+32
二、多选题(共 5 道试题,共 20 分。) V 1. for语句的格式为for(表达式1;表达式2;表达式3),其中可以省略的是()
A. 两个分号
B. 表达式1
C. 表达式2
D. 表达式3
CD
2. 两个同名函数构成重载关系,只要()不同
A. 返回类型
B. 参数个数
C. 参数类型
D. 函数头后有无const
CD
3. 构造函数()
A. 函数名只能是类名
B. 返回类型可以是任意的
C. 参数个数和类型可以是任意的
D. 在对象创建时自动调用
CD
4. 面向对象的编程方法的主要特征包括()
A. 封装
B. 继承
C. 多态
D. 消息
BC
5. 类成员的访问属性可以是()
A. public
B. protected
C. private
D. default
BC
三、判断题(共 5 道试题,共 20 分。) V 1. 1.234e0为C++语言合法常量。()
A. 错误
B. 正确
2. 重载函数形参个数可以不同。()
A. 错误
B. 正确
3. _int可以定义为用户标识符。()
A. 错误
B. 正确
4. 结构化程序设计的基本方法是递归法。()
A. 错误
B. 正确
5. 逻辑运算符两侧运算对象的数据类型只能是0或1。()
A. 错误
B. 正确
谋学网www.mouxue.com
|
|