17.派生类对象对其基类中的什么成员是可访问的?( )
A.公有继承的私有成员 B.私有继承的公有成员
C.私有继承的保护成员 D.保护继承的保护成员
【参考答案】 D
18.下列关于运算符重载不正确的是( )
A.运算符重载不能改变运算符的操作数个数
B.运算符重载不能改变运算符的优先级
C.运算符重载不能改变运算符的结合性
D.运算符重载能改变对预定义类型数据的操作方式
【参考答案】 D
19.对于重载的运算符>>,它是一个( )
A.用于输入的友元函数 B.用于输入的成员函数
C.用于输出的友元函数 D.用于输出的成员函数
【参考答案】 A
20.若调用一个函数,且此函数中没有return语句,则正确的说法是该函数( )
A.没有返回值
B.返回若干个系统默认值
C.有返回值,但返回一个不确定的值
D.能返回一个用户所希望的函数值
【参考答案】 C
21.以下能对二维数组a进行正确初始化的语句是( )
A.int a[2][]={{1,0,1},{5,2,3}}; B.int a[][3]={{1,2,3},{4,5,6}};
C.int a[2][4]={{1,2,3},{4,5},{6}}; D.int a[][3]={{1,0,1},{},{1,1}};
【参考答案】 B
22.有如下程序
#include
void main()
{float x=2.0,y;
if(x<0.0) y=0.0;
else if(x<10.0) y=1.0/x;
else y=1.0;
cout< 该程序的输出结果是( ) A.0 B.0.25 C.0.5 D.1.0 【参考答案】 C A.# B.; C.// D.} 【参考答案】 B 24.已知有定义 const int D=5; int i=1; double f=0.32; char c=15; 则下列选项错误的是( ) A.++i; B.D--; C.c++; D.--f; 【参考答案】 B 25.下面程序的功能是把316表示为两个加数的和,使两个加数分别能被13和11整除,在划线处应填入的选项是( ) #include void main() {int i=0,j,k; do{i++;k=316-13*i;} while(___); j=k/11; cout<<″316=13*″< A.k/11 B.k%11 C.k/11==0 D.k%11=0 【参考答案】 B 26.若已定义: int a[]={0,1,2,3,4,5,6,7,8,9},*p=a,i; 其中o≤i≤9,则对a数组不正确的引用是( ) A.a[p-a] B.*(&a[i]) C.p[i] D.a[10] 【参考答案】 D 27.函数fun的返回值是( ) fun(char *a,char *b) {int num=0,n=0; while(*(a+num)!=′\0′)num++; while(b[n]){*(a+num)=b[n];num++;n++;} return num;} A.字符串a的长度 B.字符串b的长度 C.字符串a和b的长度之差 D.字符串a和b的长度之和 【参考答案】 D 28.下面程序的结果为( ) #include int c; class A{ private: int a; static int b; public: A() {a=0;c=0;} void seta() {a++;} void setb() {b++;} void setc() {c++;}
23.C++中,表示一条语句结束的标号是( )