C++开发基础(习题卷1)
说明:答案和解析在试卷最后
第1部分:单项选择题,共59题,每题只有一个正确答案,多选或少选均不得分。
1.[单选题]派生类的对象对它的基类成员中( )是可以访问的。
A)公有继承的公有成员;
B)公有继承的私有成员;
C)公有继承的保护成员;
D)私有继承的公有成员
2.[单选题]下列有关引用的说法中,错误的是________。
A)函数可以返回引用
B)返回值的类型为引用时不产生值的副本
C)形参和实参前加&均为引用类型变量
D)若一个函数返回了引用,则该函数的调用也可以被赋值
3.[单选题]有以下函数定义:
Void fun(int n,double x) {…}
若以下选项中的变量都已经正确定义且赋值,则对函数fun的正确调用语句是( )。
A)fun(int y,double m);
B)k=fun(10,12.5);
C)fun(x,n);
D)void fun(n,x);
4.[单选题]getline()功能是
A)用于输入流,读取字符到buffer中
B)用于输出流,从buffer中拿数据
C)用于错误输入
D)用于错误输出
5.[单选题]已知以下代码:
1 class A
2 {
3 public:
4 int a;
5 public:
6 A(){f();}
7 virtual void f() = 0;
8 void fun();
}
则有错误的语句是( )。"
A)4
B)6
C)7
D)8
6.[单选题]设 int a=1, b=2, c=3, d=4; 则以下条件表达式的值为(  ) 。
a <
b ? a :
c <
d ? c : d
A)1
B)2
C)3
D)4
7.[单选题]有以下程序
A)10
B)11
C)9
D)8
8.[单选题]C++源程序文件扩展名为( )
A)cpp
B)h
C)1ib
D)obj
9.[单选题]( )能正确输出结果:C++。
A)char s[]="C++";cout<<s<<endl
B)char s[3]="C++";cout<<s<<endl
C)char s[3]={'C','+','+','\0'};cout<<s<<endl
D)char s[3]={'C','+','+'};cout<<s<<endl
10.[单选题]若用数组名作为函数调用的实参,传递给形参的是________。
A)数组的首地址
B)数组中第一个元素的值
C)数组中的全部元素的值
D)数组元素的个数
11.[单选题]下面有关字符数组的描述中错误的是________。
A)字符数组可以存放字符串
B)字符串可以整体输入、输出
C)可以在赋值语句中通过赋值运算对字符数组整体赋值
D)不可以用关系运算符对字符数组中的字符串进行比较
12.[单选题]不同对象调用同名函数,但导致完全不同行为的现象称为()
A)抽象
B)封装
C)继承
D)多态性
13.[单选题]下列关于C++函数的叙述中,错误的是________。
A)函数必须有返回值
B)一个函数中可以有多条return语句
C)在不同的函数中可定义同名的变量
D)函数不能嵌套定义,但可以嵌套调用
14.[单选题]下面关于线性表的叙述中,错误的是
A)线性表采用顺序存储必须占用一片连续的存储单元
B)线性表采用顺序存储便于进行插入和删除操作
C)线性表采用链式存储不必占用一片连续的存储单元
数组全部赋值为1
D)线性表采用链式存储便于进行插入和删除操作
15.[单选题]关于构造函数的描述下列说法不正确的是( )
A)构造函数可以被重载
B)构造函数不能被覆盖
C)一个构造函数可以返回一个私有的或一个对象的引用
D)构造函数代码执行顺序时是从最远的祖先类到当前的类层级
16.[单选题]树得存储结构双亲表示法存储说法正确的是
A)只存储了结点的数据信息
B)只存储了结点的指针域
C)存储只能采用顺序结构
D)既存储了结点的数据域也存储了指针域
17.[单选题]已知类X中的一个成员函数说明如下:void Set(X &a) ,其中X &a的含义是( )。
A)指向X 的指针为a
B)将a 的地址赋值给变量Set
C)a是类X的对象引用,用来作为Set()的形参
D)变量X与a 按位相与作为函数Set()的形参
18.[单选题]关于二维数组a[3][4] ,以下说法正确的是( )。
A)&a[i] 和a[i] 是完全相同的,表示元素a[i]
B)&a[i] 和a[i] 数值完全相同,表示数组a 第i 行的首地址
C)a[0] 和a[0][0] 数值是相同的
D)该二维数组共有4 行3 列共12 个元素
19.[单选题]有如下程序for(j=0;j<=3;j++) a=1;执行后变量j的值是( )
A)0
B)3
C)4
D)1
20.[单选题]判断字符型变量ch是否为大写英文字母,应使用表达式( )。
A)ch>='A' & ch<='Z'
B)ch<='A' ||ch>='Z'
C)A'<=ch<='Z'
D)ch>='A' && ch<='Z'
21.[单选题]关于内联函数说法错误的是(  )。
A)不是任何一个函数都可定义成内联函数。
B)内联函数的函数体内不能含有复杂的结构控制语句。
C)递归函数可以被用来作为内联函数。
D)内联函数一般适合于只有1~ 5 行语句的小函数。
22.[单选题]在C++语言中,一维数组的定义方法为: 类型说明符 数组名[ ];( )
A)整型常量表达式
B)整型常量
C)整型变量
D)整型常量或整型表达式
23.[单选题]系统在处理完一个异常后,下一步是( )。
A)返回抛出异常的地方,执行下一句
B)执行当前异常处理语句的catch 语句块的下一句
C)转到主函数结束的地方
D)异常退出
24.[单选题]对定义重载函数的下列要求中( )是错误的。
A)参数的个数可以不同
B)参数中至少有一个类型不同
C)要求参数个数相同时,参数类型不同
D)要求函数的返回值不同
25.[单选题]Mysql的默认端口号是多少?
A)80
B)21
C)3306
D)8000
26.[单选题]向一个栈顶指针为HS的链栈中插入一个s结点时,则执行
A)HS->next=s;
B)s->next=HS->next;HS->next=s;
C)s->next=HS;HS=s;
D)s->next=HS;HS=HS->next;
27.[单选题]若有定义语句:int a=3, b=2, c=1;则以下赋值语句错误的是( )。
A)a=4+b=3;
B)a=b=c+1;
C)a=(b=4)+c;
D)a=1+(b=c=4);
28.[单选题]排序方法中,从未排序序列中依次取出元素与已排序序列(初始时为空)中的元素进行比较,将其放入已排序序列的正确位置上的方法,称为
A)希尔排序
B)插入排序
C)快速排序
D)冒泡排序
29.[单选题]定义新类是通过什么实现的( )。
A)信息隐藏
B)数据封装
C)继承机制
D)数据抽象
30.[单选题]在C++中使用流进行输入输出,其中用于屏幕输出的对象是( )
A)cerr
B)cin
C)cout
D)cfile
31.[单选题]在调用函数时,如果实参是简单的变量,它与对应形参之间的数据传递方式是( )。
A)地址传递
B)单向值传递
C)由实参传形参,再由形参传实参
D)传递方式由用户指定
32.[单选题]C++语言中友元的作用之一是:
A)提高程序的运行效率
B)加强类的封装性
C)实现数据的隐藏性
D)增加成员函数的种类
33.[单选题]若有以下类T 说明,函数fFriend 的错误定义是(  ) 。
class T
{ int i;
friend void fFriend(T&,int) ;
};
A)void fFriend(T &objT, int k) { objT.i = k; }
B)void fFriend(T &objT, int k) { k = objT.i; }
C)void T::fFriend(T &objT, int k) { k += objT.i; }
D)void fFriend(T &objT, int k) { objT.i += k; }
34.[单选题]有以下变量说明,下面正确的语句是(  ) 。
int a=10, b; int &pa=a, &pb=b;
A)&pb = a;
B)pb = pa;
C)pb = &pa;
D)*pb = *pa;
35.[单选题]C++的继承性允许派生类继承基类的( )。
A)部分特性,并允许增加新的特性或重定义基类的特性
B)部分特性,但不允许增加新的特性或重定义基类的特性
C)所有特性,并允许增加新的特性或重定义基类的特性
D)所有特性,但不允许增加新的特性或重定义基类的特性
36.[单选题]下列的各类函数中, (  )不是类的成员函数。
A)构造函数
B)析构函数
C)友元函数
D)拷贝初始化构造函数
37.[单选题]下列关于对象数组的描述中,错误的是(    )
A)对象数组的下标是从0开始的
B)对象数组的数组名是个常量指针
C)对象数组的每个元素是同一个类的对象
D)对象数组只能赋初值,不能被赋值
38.[单选题]采用顺序查方法查长度为n的线性表时,每个元素的平均查长度为
A)n

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