一、判断题(共 10 道试题,共 20 分。)
1. 循环语句的循环体至少执行一次。
A. 错误
B. 正确
满分:2 分
2. 使用内联函数是以牺牲增大空间开销为代价的。
A. 错误
B. 正确
满分:2 分
3. 内联函数的关键字为void。
A. 错误
B. 正确
满分:2 分
4. do-while循环可以写成while循环。
A. 错误
B. 正确
满分:2 分
5. 类是具有相同属性和服务的一组对象的集合。
A. 错误
B. 正确
满分:2 分
6. 对象是系统中用来描述客观事物的一个实体,它是用来构成系统的一个基本单位。 A. 错误
B. 正确
满分:2 分
7. 封装就是把对象的属性和服务结合成一个独立的系统单位,并尽可能隐蔽对象的内部细节。
A. 错误
B. 正确
满分:2 分
8. 一个函数模板只生成一个模板函数。
A. 错误
B. 正确
满分:2 分
9. 在C++中所有的函数调用前都要声明。
A. 错误
B. 正确
满分:2 分
10. C语言程序中,main()函数必须在其它函数之后,函数内可以嵌套定义函数。
A. 错误
B. 正确
满分:2 分
二、单选题(共 20 道试题,共 80 分。)
1. 定义共用体的关键字是()。
A. union
B. enum
C. struct
D. typedef
满分:4 分
2. 系统在调用重载函数时往往根据一些条件确定哪个重载函数被调用,在下列选项中,不能作为依据的是()。
A. 参数个数
B. 参数的类型
C. 函数名称
D. 函数的类型
满分:4 分
3. 设a=2,b=2;则++a+b的结果是()。
A. 2
B. 3
C. 4
D. 5 满分:4 分
4. 定义枚举类型的关键字是()。
A. union
B. enum
C. struct
D. typedef
满分:4 分
5. 下列while循环的次数是()。while(int i=0) i--;
A. 0
B. 1
C. 5
D. 无限
满分:4 分
6. 下列对重载函数的描述中,()是错误的。
A. 重载函数中不允许使用默认参数
B. 重载函数中编译是根据参数表进行选择
C. 不要使用重载函数来描述毫不相干的函数
D. 构造函数重载将会给初始化带来多种方式
满分:4 分
7. 在下列运算符中,优先级最高的是( )。
A. !
B. %
C. -=
D. &&
满分:4 分
8. 下面关于对象概念的描述中,()是错误的。
A. 对象就是C语言中的结构体变量
B. 对象代表着正在创建的系统中的一个实体
C. 对象是一个状态和操作(或方法)的封闭体
D. 对象之间的信息传递是通过消息进行的
满分:4 分
9. 若有以下函数调用语句:fun(a,b,c);在此函数调用语句中实参的个数是()。
A. 3
B. 4
C. 5
D. 6
满分:4 分
10. 下述关于break语句的描述中,()是错误的。
A. break语句可用于循环体内,它将退出该循环
B. break语句可用于switch语句中,它将退出switch语句
C. break语句可用于if体内,它将退出if语句
D. break语句在一个循环体内可以出现多次
满分:4 分
11. 下面关于类概念的描述中,()是错误的。
A. 类是抽象数据类型的实现
B. 类是具有共同行为的若干对象的统一描述体
C. 类是创建对象的样板
D. 类就是C语言中的结构体类型
满分:4 分
12. 若要定义一个只允许本源文件中所有函数使用的全局变量,则该变量需要使用的存储类别是()。
A. extern
B. register
C. auto
D. static
满分:4 分
13. 在int b[][3]={{1},{3,2},{4,5,6},{0}};中b[2][2]的值是()。
A. 0
B. 5
C. 6
D. 2
满分:4 分
14. 下面关于switch语句的描述中,()是正确的。
A. switch语句中default子句可以没有,也可有一个
B. switch语句中每个语句序列中必须有break语句
C. switch语句中default子句只能放在最后
D. switch语句中case子句后面的表达式只能是整型表达式
满分:4 分
15. C++语言中规定函数的返回值的类型是由()。
A. return语句中的表达类型所决定
B. 调用该函数时的主调用函数类型所决定
C. 调用该函数时系统临时决定
D. 在定义该函数时所指定的数据类型所决定
满分:4 分
16. 在C++中,关于下列设置参数默认值的描述中,正确的是()。
A. 不允许设置参数的默认值
B. 设置参数默认值只能在定义函数时设置
C. 设置参数默认值时,应该是先设置右边的再设置左边的
D. 设置参数默认值时,应该全部参数都设置
满分:4 分
17. 表达式18/4*sqrt(4.0)/5值的数据类型是()。
A. int
B. float
C. double
D. 不确定
满分:4 分
18. 设有定义int a;float f;double i,则表达式10+‘a’+i*f值的数据类型是()。
A. int
B. float
C. double
D. 不确定
满分:4 分
19. C++对C语言作了很多改进,下列描述中()使得C语言发生了质变,即从面向过程变成面向对象。
A. 增加了一些新的运算符
B. 允许函数重载,并允许设置默认参数
C. 规定函数说明必须用原型
D. 引进了类和对象的概念
满分:4 分
20. 设n=10,i=4,则赋值运算n%=i+1执行后,n的值是()。
A. 0
B. 3
C. 2
D. 1
满分:4 分