福师《C++语言程序设计》在线作业二
一、单选题(共 20 道试题,共 40 分。)
1. C++程序源文件默认的扩展名是(B )
A. cs
B. obj
C. cpp
D. exe
满分:2 分
2. 设void f1(int * m,long & n);int a;long b;则以下调用合法的是(B )。
A. f1(a,b);
B. f1(&a,b);
C. f1(a,&b);
D. f1(&a,&b);
满分:2 分
3. 循环while(int i=0) i--;执行次数是( A)。
A. 0
B. 1
C. 5
D. 无限
满分:2 分
4. 如果a=1,b=2,c=3,d=4,则条件表达式“a>b?a:c=
C. ::
D. /
满分:2 分
12. 下面关于类的对象性质的描述,正确的是(D )
A. 对象之间不可以相互赋值
B. 不可以说明指向对象的指针
C. 对象不能用作数组元素
D. 一个对象能用作另一个对象的成员
满分:2 分
13. 在下列运算符中,优先级最低的是(A )
A. ||
B. !=
C. <
D. +
满分:2 分
14. 如果友元函数重载一个运算符时,其参数表中没有任何参数则说明该运算符是(E)。
A. 一元运算符
B. 二元运算符
C. 选项和选项
D. 都可能
E. 重载错误
满分:2 分
15. 在进行完任何C++流的操作后,都可以用C++流的有关成员函数检测流的状态;其中只能用于检测输入流状态的操作函数名称是(A)。
A. fail
B. eof
C. bad
D. good
满分:2 分
16. 如果变量x,y已经正确定义,下列语句哪一项不能正确将x,y的值进行交换 D
A. x=x+y,y=x-y,x=x-y
B. t=x,x=y,y=t
C. t=y,y=x,x=t
D. x=t,t=y,y=x
满分:2 分
17. 以下哪个不是循环语句 D
A. while语句
B. do-while语句
C. for语句
D. if-else语句
满分:2 分
18. 关于异常和C++提供的异常处理机制。不正确的说法是(A )
A. 若程序员预见到程序的异常,则一定可以通过修改程序代码来避免异常出现
B. 使用dyname cast操作符可能会发生异常
C. 异常可以用catch捕获处理
D. 异常可以是对象,也可以是普通函数
满分:2 分
19. 静态成员函数仅能访问(A )
A. 静态的数据成员
B. 非静态的成员函数
C. 非静态的数据成员
D. 以上都不对
满分:2 分
20. 类TM和类TN是两个独立的类,那么类TM中哪种形式的数据成员一定是不允许的_____C______。
A. TM* a;
B. TN& a;
C. TM a;
D. TN a;
满分:2 分
二、判断题(共 20 道试题,共 40 分。)
V
1. 在基类定义的public和protected成员在保护继承的派生类中不可见。B
A. 错误
B. 正确
满分:2 分
2. 指针在使用前可以不进行初始化( A)
A. 错误
B. 正确
满分:2 分
3. 常量不能作为左值使用。B
A. 错误
B. 正确
满分:2 分
4. 字符串’hello,world”在内存中存放时,占用11个字节的空间。A
A. 错误
B. 正确
满分:2 分
5. NULL与void *是不同的概念,NULL是一个指针值,任何类型的指针都可赋予该值。而void *是一种类型,是一种无任何类型的指针。( B)
A. 错误
B. 正确
满分:2 分
6. 作为语句的函数调用是通过函数的副作用来体现的。B
A. 错误
B. 正确
满分:2 分
7. 当将一个类S定义为另一个类A的友元类时,类S的所有成员函数都可以直接访问类A的所有成员。 B
A. 错误
B. 正确
满分:2 分
8. 在一个函数中,不允许定义与结构体类型的成员相同名的变量。( B)
A. 错误
B. 正确
满分:2 分
9. typedef没有实际地定义一个新的数据类型,在建立一个tepedef类型时没有分配内存空间(B )
A. 错误
B. 正确
满分:2 分
10. 类是一种类型,它封装了数据和操作。B
A. 错误
B. 正确
满分:2 分
11. 一个对象必属于某个类。B
A. 错误
B. 正确
满分:2 分
12. 表达式8&3的结果是1。A
A. 错误
B. 正确
满分:2 分
13. 假设所有变量均为整型,则表达式(a=2,b=5,b++,a+b)的值是8。( A)
A. 错误
B. 正确
满分:2 分
14. 系统可以提供默认的析构函数。(B )
A. 错误
B. 正确
满分:2 分
15. 字符型变量用来存放字符常量,可以存放多个字符。( A)
A. 错误
B. 正确
满分:2 分
16. 下面两个语句是等价的:charstr[]=hello,world;charstr[11]=hello,world; A
A. 错误
B. 正确
满分:2 分
17. 静态就是让变量和函数在生命的区域内成为私有。(B )
A. 错误
B. 正确
满分:2 分
18. 对于全局函数int f(void),与其完全等价的函数原型为const int f(B )。
A. 错误
B. 正确
满分:2 分
19. C++语言中,标识符不区分大小写。(A )
A. 错误
B. 正确
满分:2 分
20. 变量必须先定义,后使用。B
A. 错误
B. 正确
满分:2 分
三、多选题(共 10 道试题,共 20 分。)
V
1. 下列说法中错误的是___ACD___。
A. C++程序总是从第一个定义的函数开始执行
B. C++程序总是从main函数开始执行
C. C++函数必须有返回值,否则不能使用函数
D. C++程序中有调用关系的所有函数必须放在同一个程序文件中
满分:2 分
2. 考虑函数原型void test(int a ,int b=7,char z=’*’),下面的函数调用中,属于合法调用的是___ABD___。
A. test(5)
B. test(5,8)
C. test(6,’#’)
D. test(0,0,’*’)
满分:2 分
3. 以下不正确的描述是___ACD___。
A. 函数的定义可以嵌套,函数的调用不可以嵌套
B. 函数的定义不可以嵌套,函数的调用可以嵌套
C. 函数的定义和函数的调用均可以嵌套
D. 函数的定义和函数的调用均不可以嵌套
满分:2 分
4. 下面关于指针变量和引用变量的说法正确的是__ABC____。
A. 指针变量存放的是内存地址,并且可以置为0
B. 定义引用变量时,必须同时指明具体被引用的对象或变量
C. 使用取地址操作符,可以取得指针变量自身的地址,但取不到引用变量自身的地址
D. 类中的数据成员可以是指针变量,但不能是引用变量
满分:2 分
5. 下面描述中,表达正确的是___ABC___。
A. 公有继承时基类中的public成员在派生类中仍是public的
B. 公有继承时基类中的private成员在派生类中是public的
C. 公有继承时基类中的protected成员在派生类中仍是protected的
D. 私有继承时基类中的public成员在派生类中是private的
满分:2 分
6. 下面哪些保留字可以作为函数的返回类型___ABD___。
A. void
B. int
C. new
D. long
满分:2 分
7. 对C++语言和C语言的兼容性,描述不正确的是___BCD___。
A. C++兼容C
B. C++部分兼容C
C. C++不兼容C
D. C兼容C++
满分:2 分
8. 下列哪些是类的特性___ABC___。
A. 多态性
B. 继承性
C. 封装性
D. 虚拟性
满分:2 分
9. 关于函数重载,下列描述错误的是___BCD___。
A. 函数重载是指两个或两个以上的函数取相同的函数名,但形参的个数或类型不同
B. 函数重载是指两个以上的函数取相同的名字和具有相同的参数个数,但形参的类型可以不同
C. 函数重载是指两个以上的函数名字不同,但形参的个数或类型相同
D. 函数重载是指两个以上的函数取相同的函数名,并且函数的返回类型相同
满分:2 分
10. 函数调用可以__ABCD____。
A. 出现在一个表达式中
B. 出现在执行语句中
C. 作为一个函数的实参
D. 作为一个函数的形参
满分:2 分