一、单选题(共 30 道试题,共 60 分。)V
1. 假定a为一个短整型(shortint)数组名,则元素a[8]的地址为()
A. a+4
B. a+8
C. a+16
D. a+32
满分:2 分
2. 函数的形参是()
A. 全局变量
B. 局部变量
C. 静态变量
D. 部变量
满分:2 分
3. 执行语句 char ch[] = "Hello"; char * p = &ch[0]; cout<<*p 结果是输出 ( )。
A. 一个地址
B. H
C. Hello
D. 乱码
满分:2 分
4. 在下列关键字中,不能用来表示继承方式的是()
A. private
B. static
C. public
D. protected
满分:2 分
5. 使用流控制符()需要头文件
A. endl
B. hex
C. setw
D. left
满分:2 分
6. 下列排序算法中,平均效率最低的排序算法是()
A. 插入法
B. 冒泡法
C. 选择法
D. 快速排序法
满分:2 分
7. 父类和子类各自定义一个成员函数,函数名相同,参数表不同,那么()
A. 在子类中这两个函数构成重载关系
B. 子类不会继承父类的这个函数
C. 子类中的函数会覆盖父类中的函数
D. 编译时会发生错误
满分:2 分
8. 假定AB为一个类,则执行“ABa(4),b[4],*p[5]”语句时,自动调用该类构造函数的次数为()
A. 4
B. 5
C. 8
D. 13
满分:2 分
9. 有如下类和对象的定义: 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();
满分:2 分
10. 如果myclass类定义了拷贝构造函数和一个整型参数的构造函数,还重载了赋值运算符,那么语句myclassobj=100;会( )
A. 调用拷贝构造函数
B. 调用整型参数的构造函数
C. 调用赋值运算符
D. 引起编译错误
满分: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. 下面的选项中正确的赋值语句是(chara[5],*p=a;)()
A. p=“abcd”;
B. a=“abcd”;
C. *p=“abcd”;D*a=“abcd”;
满分:2 分
14. 两个指针变量不可以()
A. 相加
B. 比较
C. 相减
D. 指向同一地址
满分:2 分
15. C++语言对C语言做了很多改进,C++语言相对于C语言的最根本的变化是()
A. 增加了一些新的运算符
B. 允许函数重载,并允许设置缺省参数
C. 规定函数说明符必须用原型
D. 引进了类和对象的概念
满分:2 分
16. 已知函数 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 分
17. 以下不能正确进行字符串赋初值的语句是()
A. charstr[5]="good!";
B. charstr[]="good!";
C. char*str="good!";
D. charstr[5]={‘g',‘o',‘o',‘d'};
满分:2 分
18. 队列的最大特征是()
A. 先进先出
B. 后进先出
C. 自动排序
D. 大数优先
满分:2 分
19. 有如下定义: int a[5]={1,3,5,7,9},*p=a; 下列表达式中不能得到数值 5 的是 ( )
A. a[2]
B. a[3]
C. *(p+2)
D. *p+4
满分:2 分
20. 若已定义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 分
21. C++泛型编程通过()实现
A. void
B. template
C. NULL
D. typedef
满分:2 分
22. 下面不支持下标操作的容器是()
A. vector
B. deque
C. list
D. map
满分:2 分
23. 在每个C++程序中都必须包含有这样一个函数,该函数的名称为()
A. main
B. MAIN
C. name
D. function
满分:2 分
24. C++异常处理机制中没有()
A. try
B. throw
C. catch
D. finally
满分:2 分
25. 若k为整形,则while循环执行( )次。 k=2; while(k==0) printf(“%d”,k); k--; printf(“\n”);
A. 10
B. 9
C. 0
D. 1
满分:2 分
26. C++函数的声明和定义可以分开,函数声明不需要()
A. 返回类型
B. 函数名
C. 参数表
D. 函数体
满分:2 分
27. 下面是一个模板声明的开始部分: templute<typename T> double __ 由此可知 ( )
A. 这可能是一个函数模板的声明
B. 这可能是一个类模板的声明
C. 这既可能是一个函数模板的声明,也可能是一个类模板的声明
D. 这肯定是一个错误的模板声明
满分:2 分
28. 抽象类指的是()
A. 没有任何成员的类
B. 只有成员函数没有数据成员的类
C. 有虚函数的类
D. 有纯虚函数的类
满分:2 分