C++开发基础(习题卷24)
第1部分:单项选择题,共57题,每题只有一个正确答案,多选或少选均不得分。
1.[单选题]在定义int a[2][3];之后,对a的元素正确引用的有________。
A)a[2][2]
B)a[1,3]
C)a[1>2][!1]
D)a[2][0]
答案:C
解析:
2.[单选题]已知枚举类型声明语句为: enum COLOR{WHITE,YELLOW,GREEN=5,RED,BLACK=10}; 则下列说法中
错误的是( )。
A)枚举常量WHITE的值为1
B)枚举常量YELLOW的值为1
C)枚举常量RED的值为6
D)枚举常量BLACK的值为10
答案:A
解析:
3.[单选题]下面不正确的字符常量是 _____。
A)“a”
B)'\''
C)'A'
D)' '
答案:A
解析:
4.[单选题]在一个具有n个单元的顺序栈中,假设以地址高端作为栈底,以top作为栈顶指针,则当作进栈处理时,top的变化为()。
A)top不变
B)top=0
C)top--
D)top++
答案:C
解析:
5.[单选题]有以下程序
Int main()
{ char a[]={ ′a′, ′b′, ′c′,′d′, ′e′, ′f′, ′g′,′h′,′\0′};
int i,j;
i=sizeof(a);
j=strlen(a);
cout << i << "," << j << endl;
Return 0;
}
A)9,9
B)8,9
C)1,8
D)9,8
答案:D
解析:
6.[单选题]若有以下标志符定义:char c=’c’;int a=4;float f=3.14;double d=1.212;则表达式
c+a/(int)d+f的结果类型是(  )
A)float
B)char
C)int
D)double
答案:D
解析:当不同类型的量进行混合算术运算时,系统自动进行合理的类型转换,编译器就会自动把低级类型向高级类型转换。数据类型级别由低到高分别为:char→int→float→double。转换时由低级别向高级别转换。会自动提升为参与表达式求值的最上级类型double。故本题选D。
也可以在程序中使用强制类型转换运算符:static_cast或const_cast。
7.[单选题]下面不是栈的基本运算
A)删除栈顶元素
B)删除栈底元素
C)入栈
D)栈置空
答案:B
解析:
8.[单选题]下列选项中, (  ) 不.能.交换变量 a和b的值。
A)t=b; b=a; a=t;
B)a=a+b; b=a-b; a=a -b;
C)t=a; a=b; b=t;
D)a=b; b=a;
答案:D
解析:
9.[单选题]在下列对字符数组进行初始化中,( )是正确的。
A)char s1[ ]="abcd"
B)char s2[3]="xyz"
C)char s3[ ][ ]={‘a’, ‘x’, ‘y’}
D)char s4[2][3]={"xyz","mnp"}
答案:A
解析:
10.[单选题]TCP头部是多少个字节
A)4
B)8
C)20
D)1500
答案:C
解析:
11.[单选题]现在有如下程序
Int main()
{ char s[80];
int i,j;
gets(s);
for(i=j=0;s[i]!=′\0′;i++)
if(s[i]!=′H′) ______
s[j]=′\0′;
puts(s);
return 0;
}
这个程序段的功能是删除输入的字符串中字符′H′,则空线上应当填入的是( )。
A)s[j++]=s[i]; j++;
B)s[j]=s[i++]; j++;
C)s[j++]=s[i];
D)s[j]=s[i];
答案:C
解析:
12.[单选题]类的私有成员可在何处访问(  )
A)通过子类的对象访问
B)本类及子类的成员函数中
C)通过该类对象访问
D)本类的成员函数中
答案:D
解析:
13.[单选题]类的静态成员的访问控制( )。
A)只允许被定义为private
B)只允许被定义为private或protected
C)只允许被定义为public
D)可允许被定义为private、protected或public
答案:D
解析:
14.[单选题]数组名作为实参时,传递给形参的是________。
A)数组的首字节地址
B)数组第一个元素的值
C)数组中所有元素的值
D)数组元素的个数
答案:A
解析:
15.[单选题]有如下类定义
classSample{intx,y;public:Sample():x(0),y(0){}intgetX(){returnx;}intgetY();}obj;已知成员函数getY()的功能是返回私有成员y的值,则该函数在类体外的正确定义是________。
A)Sample::intgetY(){returny;}
B)intgetY(){returny;}
C)intgetY(){returnSample::y;}
D)intSample::getY(){returny;}
16.[单选题]以下程序输出结果是________。intmain(){intm=5;if(m++>5)cout<
A)7
B)6
C)5
D)4
答案:B
解析:
17.[单选题]执行如下语句序列,不可能出现的情况是________。
intx;cin>>x;if(x>250)cout<<'A';if(x<250)cout<<'B';elsecout<<'A';
A)显示:A
B)显示:B
C)显示:AB
D)显示:AA
答案:C
解析:
18.[单选题]设有定义:int x=2,y=2;则表达式x--||++y的值是( )。
A)2
B)0
C)1
D)3
答案:C
解析:
19.[单选题]关于构造函数,下列说法不正确的是( )。
A)构造函数名字和类名相同
B)构造函数在创建对象时自动执行
C)构造函数无任何函数返回类型
D)构造函数有且只有一个
答案:D
解析:
20.[单选题]通常,复制构造函数的参数是( )。
A)某个对象名
B)某个对象的成员名
C)某个对象的引用名
D)某个对象的指针名
答案:C
解析:
21.[单选题]有如下两个类定义:classAA{};classBB{AAv1,*v2;BBv3;int*v4;};其中有一个成员变量的定义是错误的,这个变量是________。
A)v1
B)v2
C)v3
D)v4
答案:C
22.[单选题]重新定义标识符的作用域规定是外层变量被隐藏,( )变量是可见的。
A)外层
B)内层
C)外层和内层
D)内部
答案:B
解析:
23.[单选题]排序算法中,插入排序时间复杂度分析正确的是
A)平均为O(n)
B)最好情况O(1)
C)最坏情况O(n^2)
D)以上都不正确
答案:C
解析:
24.[单选题]关于保护继承的说法正确的是( )。
A)基类的公有成员、私有成员可被子类继承下来,而且性质不变。
B)基类的公有成员、私有成员可被子类继承下来,而且性质改变为保护成员。
C)基类的公有成员、私有成员可被子类继承下来,而且性质均改变为私有成员。
D)基类的公有成员、私有成员可被子类继承下来,性质不变,私有成员不被继承。答案:D
解析:
25.[单选题]使用重载函数编程序的目的是(  ) 。
A)使用相同的函数名调用功能相似的函数
B)共享程序代码
C)提高程序的运行速度
D)节省存贮空间
答案:A
解析:
26.[单选题]能够把指定长度的字节序列插入到输出流中的函数是(  )。
字符串常量1234的长度是多少
A)put
B)write
C)cout
D)print
答案:B
解析:
27.[单选题]下列关于this指针的叙述中,正确的是( )。
A)this指针是一个隐含指针,它隐含于类的成员函数中
B)只有在使用this时,系统才会将对象的地址赋值给this
C)类的友元函数也有this指针
D)this指针表示了成员函数当前操作的数据所属的对象
答案:D
解析:
28.[单选题]常量是在程序中( )。

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。