21春《C++》作业4
试卷总分:100 得分:100
一、单选题 (共 10 道试题,共 40 分)
1.如不希望函数返回任何值,则可以将函数的返回值定义为( )
A.int
B.0
C.void
D.return
2.在C++中,下列选项中是合法的八进制数的是
A.127
B.091
C.0x12
D.01011
3.对于int *pa[5];的描述,正确的是( )。
A.pa是一个指向数组的指针,所指向的数组是5个int型元素
B.pa是一个指向某个数组中第5个元素的指针,该元素是int型变量
C.pa[5]表示某个数组的第5个元素的值
D.pa是一个具有5个元素的指针数组,每个元素是一个int型指针
4.在函数定义中的形参属于( )。
A.局部变量
B.全局变量
C.静态变量
D.寄存器变量
5.使用地址作为实参传给形参,下列说法正确的是( )。
A.实参是形参的备份
B.实参与形参无联系
C.实参与形参是同一对象
D.形参是实参的备份
6.在C++中,14%4的运算结果为( )
A.1
B.2
C.3
D.4
7.在while循环中使用( )语句可以立即跳出整个循环体。
A.continue
B.return
C.case
D.break
8.C++ 中不能用来组成循环结构的关键字是( )
A.for
B.while
C.switch
D.do
9.指针变量是用来存放( )的变量。
A.其他变量的值
B.其他变量的变量名
C.函数名
D.地址
10.说明语句在某一个类定义、函数定义或复合语句中的变量被称为( )
A.全局变量
B.局部变量
C.形式变量
D.实际变量
二、多选题 (共 8 道试题,共 32 分)
11.C++语言中,下面的描述不正确的是( )
A.do-while语句构成的循环,当while语句中的表达式值为非零时结束循环
B.do-while语句构成的循环必须用break语句才能退出
C.不能使用do-while语句构成的循环
D.do-while语句构成的循环,当while语句中的表达式值为零时结束循环
12.下列关于数组初始化的说法正确的是( )
A.若对数组a定义:"static int x[10];",则数组元素值均为0
B."int x[10]={1,2,3,4,5,6,7,8,9};"表示x[9]元素值为9
C.对于"int x[10];"它的元素初值是不确定的
D."int x[10]={1,2,3,4,5};"是不合法的,因为数组长度为10,而初始值仅有5个
13.若有定义: char *str[]={"one","two","three"},**p=str; 则可以表示出字符't'的表达是( )
A.*str+2
B.*str[2]
C.*(p+1)
D.**++p
14.以下为不合法的十六进制数是( )
A.0x2A
B.0x11Au
C.0X0
D.3A
15.下面哪些是C++标准I/O操作包含的类对象( )
A.cin
B.cerr
C.clog
D.cout
16.若有以下定义和语句: int w[2][3],(*pw)[3]; pw=w; 则对w数组元素合法引用是( )
A.pw[0][0]
B.*(pw[1]+2)
C.*(w[0]+2)
D.*(pw+1)[2]
17.下列关于数组初始化的说法正确的是( )
A.若对数组a定义:"static int x[10];",则数组元素值均为0
B."int x[10]={1,2,3,4,5,6,7,8,9};"表示x[9]元素值为9
C.对于"int x[10];"它的元素初值是不确定的
D."int x[10]={1,2,3,4,5};"是不合法的,因为数组长度为10,而初始值仅有5个
18.已知x,y,z是整型变量,则下列选项中正确的是( )
A.if (x&&y) cout<<"x&&y"
B.if (x=y) cout<<"x=y"
C.if (x#y) cout<<"x#y"
D.if(x<>y) cout<<"x<>y"
三、判断题 (共 7 道试题,共 28 分)
19.结构体的默认访问权限为public,而类中的默认访问权限为protected。
20.C++中的注释可以帮助读者阅读源程序,但并不参与程序的运行。
21.某类中的友元类的所有成员函数可以存取或修改该类中的私有成员。
22.编译错误属于异常,可以抛出。
23.返回值类型、参数个数和类型都相同的函数也可以重载。
24.C++是最开始提出类概念的语言
25.指针指向的内存地址可以改变,与之类似,引用指向的变量也可以改变。