C++开发基础(习题卷27)
第1部分:单项选择题,共57题,每题只有一个正确答案,多选或少选均不得分。
1.[单选题]下列关于函数参数默认值的描述中,正确的是( )。
A)函数参数的默认值只能设置一个
B)若一个函数含有多个参数,其中一个参数设置成默认值后,其后所有参数都必须设置默认值
C)若一个函数含有多个参数,则设置默认参数时可以不连续设置默认值
D)C++语言中函数都必须设有默认值
答案:B
解析:
2.[单选题]在文件中,可将写数据看做是从流中()数据
A)插入
B)替换
C)提取
D)删除
答案:A
解析:
3.[单选题]运行这个程序的输出是________。
A)32
B)23
C)2013
D)0231
答案:D
解析:
4.[单选题]右值引用的说法错误的是?
A)消除两个对象交互时不必要的对象拷贝
B)节省运算存储资源
C)能够更简洁、明确地定义泛型函数
D)降低了运行效率
答案:D
解析:
5.[单选题]在哪种派生方式中,派生类可以访问基类中的protected 成员(  )
A)public 和private
B)public 和protected
C)protected 和private
D)仅protected
答案:B
解析:
6.[单选题]一棵有124个叶结点的完全二叉树,最多有()个结点
A)247
B)248
C)249
解析:
7.[单选题]已知Point类中只有一个构造函数,其原型如下:
Point(int x=0, int y=0);
则下列用来定义Point对象的语句错误的是:
A)Point p1;
B)Point p2();
C)Point p3(3);
D)Point p4(1,3);
答案:B
解析:若无参数,则不带括号,带括号为函数
8.[单选题]下列表达式,哪个是声明P为指向常量的常量指针()
A)const int*P
B)int*const P
C)const int* const P
D)int*P
答案:C
解析:C++语言也可以使用const限定访问权限,const修饰指针变量时,基本含义如下:
1)如果唯一的const位于符号*的左侧,表示指针所指数据是常量,数据不能通过本指针改变,但可以通过其他方式进行修改;指针本身是变量,可以指向其他的内存单元。
2)如果唯一的const位于符号*的右侧,表示指针本身是常量,不能让该指针指向其他内存地址;指针所指的数据可以通过本指针进行修改。
3)在符号*的左右各有一个const时,表示指针和指针所指数据都是常量,既不能让指针指向其他地址,也不能通过指针修改所指向的内容。
P为指向常量的常量指针,即指针和所指数据都是常量,故需*左右各有一个const,本题选C。
9.[单选题]执行下述程序的输出是________。
A)1
B)11
C)111
D)1111
答案:D
解析:
10.[单选题]如果表达式 a+b中的“+”是作为成员函数重载的运算符,若采用运算符函数调用格式,则可表示为( )。
A)operator+(b)
B)operator+(a)
C)operator+(a,b)
D)operator(a+b)
答案:A
解析:
11.[单选题]以下不是double compare(int,int)的重载函数的是()
A)int compare(double,double)
B)double compare(double,double)
C)double compare(double,int)
D)int compare(int,int)
答案:D
12.[单选题]( )是给变量取一个别名,它引入了变量的同意词。
A)指针
B)引用
C)枚举
D)结构
答案:B
解析:
13.[单选题]下列C++运算符中,优先级最高的是______。
A)+
B)*
C)<=
D)*=
答案:B
解析:
14.[单选题]下列不属于C++关键字的是()
A)extern
B)goto
C)free
D)default
答案:C
解析:extern、goto、default是C++关键字。free不是C++关键字。
class="fr-fic fr-dib">
15.[单选题]对于下面char (*p)[16]的声明描述正确的一项是( )
A)p是长度为16的字符指针数组
B)p是包含16个字符的字符串
C)p是指向长度为16的字符数组的指针
D)p是长度为16的字符数组
答案:C
解析:
16.[单选题]有如下一段代码:int nCount = 0;while (x) { nCount++; x = x & (x - 1);}假设x初始为9999,则执行
完nCount值为( )
A)32
B)999
C)8
D)1
答案:C
解析:X=X&(X-1)这算的是X写成二进制数后其中1的个数。把9999化为二进制,每进行一次x&(x-1)的结果就会少一个1(按位与后变为0),因此原来x的1的个数就是答案
17.[单选题]下面有关数值书写错误的是()。
A)1242D
B)10110B
C)34H
D)C4D2Q
答案:D
解析:
18.[单选题]若一棵二叉树的前序遍历序列和后序遍历序列分别为1,2,3,4和4,3,2,1,则该二叉树的中序遍历序列不会是
A)1,2,3,4
B)2,3,4,1
C)3,2,4,1
D)4,3,2,1
答案:C
解析:
19.[单选题]以下代码执行后,a、b、c的值分别为( )。int a=8,b=10,c=3;if (a>b) c=a, a=b, b=c;
A)10 10 8
B)10 8 8
C)10 3 3
D)8 10 3
答案:B
解析:
20.[单选题]类定义的内容允许被其他对象无限制地存取的是( )。
A)private部分
B)protected 部分
C)public 部分
D)以上都对
答案:C
解析:
21.[单选题]在inta=3,*p=&a;中,*p的值是________。
A)变量a的地址值
B)无意义
C)变量p的地址值
D)3
答案:D
解析:
22.[单选题]下列说法正确的是________。
A)结构体变量不能像int型变量一样作函数的参数
B)结构体变量不能像int型变量一样作函数的返回值
C)结构体变量通常不能像int型变量一样作为整体进行输入输出
D)相同结构体类型的变量之间不能直接进行赋值
答案:C
解析:
23.[单选题]有如下类定义和变量定义:classBase{public:intx;private:inty;};classA:publicBase{类体略
*/};classB:privateBase{类体略*/};Aa;Bb;下列语句中正确的是________。
A)cout<
B)cout<
C)cout<
D)cout<
答案:A
解析:
24.[单选题]采用重载函数的目的是(  )。
A)实现共享
B)减少空间
C)提高速度
D)使用方便,提高可读性
答案:B
解析:
25.[单选题]对于有n个结点的二叉树,其高度为字符串常量实质上是一个指向该字符串首字符的指针常量吗
A)nlog2n
B)log2n
C)log2(n+1)
D)不确定
答案:D
解析:
26.[单选题]设C语言数组Data[m+1]作为循环队列SQ的存储空间,front为队头指针,rear为队尾指针,则执行出队操作的语句为
A)front=front+1
B)front=(front+1)% m
C)rear=(rear+1)%(m+1)
D)front=(front+1)%(m+1)
答案:D
解析:
27.[单选题]有如下程序段:
Int i=5;
While( int i=0 ){ cout << '*'; i--; }
执行时输出"*"的个数是( )。
A)0
B)1
C)5
D)无穷
答案:A
解析:循环条件一开始就为假。

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