大学C++期末考试题库与答案.docx
- 文档编号:6556617
- 上传时间:2023-01-07
- 格式:DOCX
- 页数:47
- 大小:42.01KB
大学C++期末考试题库与答案.docx
《大学C++期末考试题库与答案.docx》由会员分享,可在线阅读,更多相关《大学C++期末考试题库与答案.docx(47页珍藏版)》请在冰豆网上搜索。
大学C++期末考试题库与答案
2021年大学C++期末考试题库
一、单项选择题:
1.能作为C++程序的根本单位是(C)。
A.字符B.语句C.函数D.源程序文件
2.程序中主函数的名字为〔A〕。
A.mainB.MAINC.MainD.任意标识符
3.关于C++与C语言的关系的描述中,〔D〕是错误的。
A.C语言是C++的一个子集;B.C语言与C++是兼容的;
C.C++对C语言进展了一些改良;D.C++和C语言都是面向对象的
4.可用作C++语言用户标识符的一组标识符是(B)。
A.voiddefine+WORDB.a3_b3_123YN
C.for-abcCaseD.2aDOsizeof
5.存储以下数据,占用存储字节最多的是〔D〕。
A.0
B.
‘0’
C.“0〞D.0.0
6.
设int
a=12
;那么执行完语句
a+=a*a;后,a的值是(C)
。
A.12
B.144C.156
D.288
7.
假设在程序中
a、b、c均被定义成整型,所赋的值都大于
1,那么以下能正确表示代数式
1的表达式是(D)。
abc
A.1.0/a*b*cB.1/(a*b*c)C.1/a/b/(float)cD.1.0/a/b/c
8.以下说法中正确的选项是〔B〕。
A.C++程序总是从第一个定义的函数开场执行
B.C++程序总是从main函数开场执行
C.C++函数必须有返回值,否那么不能使用函数
D.C++程序中有调用关系的所有函数必须放在同一个程序文件中
9.
下面有关构造函数的描述中,正确的选项是〔
B〕。
A.
构造函数可以带有返回值
B.
构造函数的名字与类名完全一样
C.
构造函数必须带有参数
D.
构造函数必须定义,不能缺省
10.
10.在声明类时,下面的说法正确的选项是〔
〕。
A.可以在类的声明中给数据成员赋初值
B.数据成员的数据类型可以是register
C.private,public,protected可以按任意顺序出现
D.没有用private,public,protected定义的数据成员是公有成员
11.在下面有关析构函数特征的描述中,正确的选项是〔A〕。
A.一个类可以有多个析构函数B.析构函数与类名完全一样
C.析构函数不能指定返回类型D.析构函数可以有一个或多个参数
12.构造函数是在〔B〕时被执行的。
A.程序编译B.创立对象C.创立类D.程序装入内存
13.下面有关静态成员函数的描述中,正确的选项是〔B〕
A.在静态成员函数中可以使用this指针
B.在建立对象前,就可以为静态数据成员赋值
C.静态成员函数在类外定义是,要用static前缀
D.静态成员函数只能在类外定义
第1页共29页
C++程序设计试卷
14.下面有关友员函数的描述中,真确的说法是〔A〕
A.友员函数是独立于当前类的外部函数
B.一个友员函数不可以同时定义为两个类的友员函数
C.友员函数必须在类的外部进展定义
D.在类的外部定义友员函数时必须加上friend关键字
15.
友员的作用之一是〔
A
〕
A.
提高程序的运行效率
B.
加强类的封装
C.
实现数据的隐蔽性
D.
增加成员函数的种类
16.
使用派生类的主要原因是〔
A
〕
A.
提高代码的可重用性
B.
提高程序的运行效率
C.
加强类的封装性
D.
实现数据的隐藏
17.
在C++中继承方式有几中〔
C
〕
A.1
B.2C.3
D.4
18.假设已经定义好了类student,现在要定义类derived,它是从student私有派生的,那么
定义类derived的正确写法是〔D
〕
A.classderived
:
:
studentprivate{
//
,,,
.}
B.classderived
:
:
studentpublic{
//
,,,
.}
C.classderived
:
:
publicstudent{
//
,,,
.}
D.classderived
:
:
privatestudent{
//
,,,
.}
19.派生类的对象对它的基类成员中〔C〕是可以访问的。
A.公有继承的公有成员;B.公有继承的私有成员;
C.公有继承的保护成员;D.私有继承的公有成员。
20.类中定义的成员默认为〔A〕访问属性。
A.publicB.privateC.protectedD.friend
21.以下存储类标识符中,要求通过函数来实现一种不太复杂的功能,并且要求加快执行速度,选用〔A〕适宜。
A.内联函数;B.重载函数;C.递归调用;D.嵌套调用。
22.C++对C语言作了很多改良,以下描述中〔D〕使得C语言发生了质变,从面向过程变成了面向对象。
A.增加了一些新的运算符;B.允许函数重载,并允许设置缺省参数;
C.规定函数说明必须用原型;D.引进了类和对象的概念;
23.按照标识符的要求,〔A〕符号不能组成标识符。
A.连接符B.下划线C.大小写字母D.数字字符
24.以下变量名中,〔A〕是合法的。
ACHINABbyte-sizeCdoubleDA+a
25.以下各种函数中,〔C〕不是类的成员函数。
A构造函数B析构函数C友元函数D拷贝构造函数
26.以下〔A〕是正确的语句。
A;Ba=17Cx+yDcout<<"\n"
27.不能作为函数重载判断的依据的是(B)
A.返回类型B.constC.参数个数D.参数类型
28.通常,拷贝构造函数的参数是(C)
A.某个对象名B.某个对象的成员名
C.某个对象的引用名D.某个对象的指针名
第2页共29页
C++程序设计试卷
29.下面对静态数据成员的描述中,正确的选项是(C)
A类的不同对象有不同的静态数据成员值
B类的每个对象都有自己的静态数据成员
C静态数据成员是类的所有对象共享的数据
D静态数据成员不能通过类的对象调用
30.假定AB为一个类,那么执行ABx;语句时将自动调用该类的(B)
A.有参构造函数B.无参构造函数C.拷贝构造函数D.赋值构造函数
31.C++程序从上机到得到结果的几个操作步骤依次是(B)。
A.编译、编辑、连接、运行B.编辑、编译、连接、运行
C.编译、运行、编辑、连接D.编辑、运行、编辑、连接
32.假定一条定义语句为“inta[10],x,*p=a;〞,假设要把数组a中下标为3的元素值赋给
x,那么不正确的语句为〔A〕。
A.x=p[3];B.x=*(a+3);C.x=a[3];D.x=*p+3;
33.关于封装,以下说法中不正确的选项是〔D〕。
A.通过封装,对象的全部属性和操作结合在一起,形成一个整体
B.通过封装,一个对象的实现细节被尽可能地隐藏起来〔不可见〕
C.通过封装,每个对象都成为相对独立的实体
D.通过封装,对象的属性都是不可见的
34.预处理命令在程序中都是以(B)符号开头的。
A.*B.#C.&D.@
35.存储以下数据,占用存储字节最少的是〔B〕。
A.0B.‘0’C.“0〞D.0.0
36.程序运行中需要从键盘上输入多于一个数据时,各数据之间应使用(D)符号作为分隔
符。
A.
空格或逗号
B.
逗号或回车
C.
逗号或分号
D.空格或回车
37.
假定变量m定义为“intm=7;
〞,那么定义变量
p的正确语句为〔
B
〕。
A.intp=&m;
B.int*p=&m;
C.int
&p=*m;
D.int
*p=m;
38.
下面的哪个保存字不能作为函数的返回类型?
C
。
A.void
B.int
C.new
D.long
39.
采用重载函数的目的是〔
B
〕。
A.
实现共享
B.
减少空间C.
提高速度
D.
使用方便,提高可读性
40.假定AB为一个类,那么(C)为该类的拷贝构造函数的原型说明。
A.AB(ABx);B.AB(intx);C.AB(AB&x);D.voidAB(AB&x);
41、C++对C语言作了很多改良,以下描述中〔D〕使得C语言发生了质变,从面向过程变成了面向对象。
A、增加了一些新的运算符;B、允许函数重载,并允许设置缺省参数;C、规定函数说明必须用原型;D、引进了类和对象的概念;
42、所谓数据封装就是将一组数据和与这组数据有关操作组装在一起,形成一个实体,这实体也就是(A)。
A.类B.对象C.函数体D.数据块
43、关于new运算符的以下描述中,〔C〕是错误的。
A、它可以用来动态创立对象和对象数组;
B、使用它创立的对象或对象数组可以使用运算符delete删除;
C、使用它创立对象时要调用构造函数;
第3页共29页
C++程序设计试卷
D、使用它创立对象数组时必须指定初始值;
44、〔D
〕不是构造函数的特征。
A、构造函数的函数名与类名一样;
B、构造函数可以重载;
C、构造函数可以设置缺省参数;
D、构造函数必须指定类型说明。
45、假定一个类的构造函数为
B(intx,inty){a=x--;b=a*y--;},
那么执行Bx(3,5);
语句
后,x.a和x.b
的值分别为(C)
A、3和5
B、5和3C
、3和15D
、20和5
46、关于成员函数特征的以下描述中,
〔A〕是错误的。
A、成员函数一定是内联函数;
B
、成员函数可以重载;
C、成员函数可以设置缺省参数值;
D、成员函数可以是静态的;
47、在公有继承的情况下,基类成员在派生类中的访问权限〔
B〕。
A、受限制
B
、保持不变
C
、受保护
D
、不受保护
48、友元的作用是〔
A〕。
A、提高程序的运用效率;
B、加强类的封装性;
C、实现数据的隐藏性;
D、增加成员函数的种类;
49、在C++中,关于以下设置缺省参数值的描述中,
〔B
〕是正确的。
A、不允许设置缺省参数值;
B、在指定了缺省值的参数右边,不能出现没有指定缺省值的参数;
C、只能在函数的定义性声明中指定参数的缺省值;
D、设置缺省参数值时,必须全部都设置;
50、关于delete运算符的以下描述中,〔C〕是错误的。
A、它必须用于new返回的指针;
B、使用它删除对象时要调用析构函数;
C、对一个指针可以使用屡次该运算符;
D、指针名前只有一对方括号符号,不管所删除数组的维数。
51、constint*p
说明不能修改〔
C〕。
A、p指针;
B
、p指针指向的变量;
C、p指针指向的数据类型;
D、上述A、B、C三者;
52、当需要翻开
A盘上的以xxk.dat
文件用于输入时,那么定义文件流对象的语句为(B)。
A、fstreamfin(
“A:
xxk.dat
〞,1)
B
、ifstreamfin(
“A:
xxk.dat
〞,ios:
:
nocreate)
C、ofstreamfin(
“A:
xxk.dat
〞)
D
、ifstreamfin(
“A:
xxk.dat
〞,ios:
:
app)
53、派生类的对象对它的基类成员中〔A〕是可以访问的。
A、公有继承的公有成员;B、公有继承的私有成员;
C、公有继承的保护成员;
D、私有继承的公有成员;
54、假定一个字符串的长度为
n,那么定义存储该字符串的字符数组的长度至少为〔
C〕。
A、n-1B
、n
C
、n+1D
、n+2
55、在inta=3;*p=&a;
中,*p的值是〔
D〕。
A、变量a的地址值
B
、无意义
C
、变量p的地址值
D
、3
56、以下常量中,〔D〕不是字符常量。
A、’\005’
B、’\n’
C、’c’
D、“a〞
57、在inta=3,*p=&a;
中,*p的值是〔
D〕。
A〕变量a的地址值
B
〕无意义
C
〕变量p的地址值
D
〕3
58、以下4个选项中,不能看作一条语句的是〔
B
〕。
A)if(b==0)m=1;n=2;B)a=0,b=0,c=0;
C)if(a>0);
D){;}
第4页共29页
C++程序设计试卷
59、〔D〕不是构造函数的特征。
A〕构造函数的函数名与类名一样
B
〕构造函数可以重载
C〕构造函数可以设置缺省参数
D
〕构造函数必须指定类型说明
60、以下程序段中与语句
k=a>b?
1:
0;功能等价的是〔D〕。
A〕if(a>b)k=1;
B
〕if(a>b)k=0
C〕if(a>b)k=1;
D
〕if(a
61、以下常量中,〔D〕不是字符常量。
A〕’\005’
B
〕’\n’
C)
’c’
D
〕"a"
62、表示“x大于1而小于10〞的逻辑表达式是〔B〕。
A〕1 B 〕x>1&&x<10 C)! (x<=1||x>=10) D 〕x>1||x<10 63、关于成员函数特征的以下描述中, 〔 A〕是错误的。 A〕成员函数一定是内联函数 B 〕成员函数可以重载 C〕成员函数可以设置缺省参数值 D〕成员函数可以是静态的 64、有以下程序 #include voidmain() {inti,s=0;for(i=1;i<10;i+=2)s+=i;cout< 程序执行后的输出结果是〔 C〕。 A〕自然数1~9 的累加和 B 〕自然数1~10 的累加和 C〕自然数1~9 中的奇数之和 D〕自然数1~10 中的偶数之和 65、设有定义: intn=0,*p=&n,**q=&p; 那么以下选项中,正确的赋值语句是〔 D〕。 A〕p=1;B 〕*q=2; C 〕q=p;D 〕*p=5; 66、〔A〕能正确输出结果: C++。 A〕chars[]="C++";cout< B〕chars[3]="C++";cout< C〕chars[3]={'C','+','+','\0'};cout< D〕chars[3]={'C','+','+'};cout< 67、有以下程序段 inta[10]={1,2,3,4,5,6,7,8,9,10},*p=a,b; b=p[5]; b中的值是〔 B〕。 A〕5B 〕6 C〕8 D 〕9 68、有以下程序 #include voidmain() {char*p[10]={"abc","aabdfg","dcdbe","abbd","cd"};cout< } 执行后输出结果是B A〕dcdbeB〕abbdC〕abcD〕abb 69、以下静态数据成员的特性中,〔C〕是错误的。 A〕说明静态数据成员时前边要加修饰符static 第5页共29页 C++程序设计试卷 B〕静态数据成员要在类体外进展初始化 C〕静态数据成员不是所有对象所共用的 D〕引用静态数据成员时,要在其名称前加<类名>和作用域运算符 70、有以下语句 structS {intg; charh;}T; 那么下面表达中不正确的选项是〔 C〕。 A〕S是构造体名 B 〕该构造体包含 2个成员 C〕S是struct类型的变量 D〕T是structS 类型的变量 71、派生类的对象对它的基类成员中〔 A〕是可以访问的。 A〕公有继承的公有成员 B〕公有继承的私有成员 C〕公有继承的保护成员 D〕私有继承的公有成员 72、实现运行时的多态性用 。 D A、重载函数B、构造函数 C、析构函数D、虚函数 73.以下变量名中,〔A 〕是合法的。 A.CHINA B.byte-size C.double D.A+a 74.在intb[][3]={{1},{3,2},{4,5,6},{0}};b[2][2] 的值是〔D〕。 A.0 B.2 C.5 D.6 75.以下各运算符中,〔B〕优先级最高。 A.+〔双目〕B.*〔单目〕C.<=D.*= 76.以下for循环的次数为〔B〕。 for(inti(0),x=0;! x&&i<=5;i++) A.5B.6C.1D.无限 77.下述关于break语句的描述中,〔C〕是正确的。 A.break语句可用于循环体内,它将退出该重循环。 B.break语句可用于开关语句中,它将退出开关语句。 C.break语句可用于if体内,它将退出if语句。 D.break语句在一个循环体内可以出现屡次。 78.在一个被调用函数中,关于return语句使用的描述,〔D〕是错误的。 A. 被调用函数中可以不用 return语句。 B. 被调用函数中可以使用多个 return语句。 C. 被调用函数中,如果有返回值,就一定要有 return 语句。 D. 被调用函数中,一个 return 语句可返回多个值给调用函数。 79. 在C++中,关于以下设置参数默认的描述中, 〔C 〕是正确的。 A.不允许设置参数的默认值。 B.设置参数默认值只能在定义函数时设置。 C.设置参数默认值时,应该是先设置右边的再设置左边的。 D.设置参数默认值时,应该全部参数都设置。 80.以下存储类标识符中,要求通过函数来实现一种不太复杂的功能,并且要求加快执行速 度,选用〔A〕适宜。 A.内联函数B.重载函数C.递归调用D.嵌套调用 第6页共29页 C++程序设计试卷 81.以下的各类函数中,〔C〕不是类的成员函数。 A.构造函数B.析构函数C.友元函数D.拷贝初始化构造函数 82.〔D〕不是构造函数的特征 A.构造函数的函数名与类名一样B.构造函数可以重载 C.构造函数可以设置缺省参数D.构造函数必须指定类型说明 83.f1(int)是类A的公有成员函数,p是指向成员函数f1()的指针,采用〔C〕是正确的。 A.p=f1B.p=A: : f1C.p=A: : f1()D.p=f1() 84.以下定义中,〔A〕是定义指向数组的指针p。 A. int*p[5] B. int(*p)[5] C. (int*)p[5]D. int*p[] 85.循环while(inti=0)i-- ;执行次数是〔 A 〕。 A.0 B.1 C.5 D. 无限 86. 设intx ;,那么经过〔 C 〕后,语句*px=0;可将x值置为0。 A. int*px ; B. intconst*px=&x ; C.int*constpx=&x ; D.constint*px=&x ; 87. 设voidf1(int*m ,long&n) ;inta ;longb;那么以下调用合法的是〔 B〕。 A. f1(a ,b); B. f1(&a ,b); C. f1(a ,&b); D. f1(&a ,&b) 88.关于对象概念的描述中,〔A〕是错误的。 A.对象就是C语言中的构造变量; B.对象代表着正在创立的系统中的一个实体; C.对象是一个状态和操作〔或方法〕的封装体; D.对象之间的信息传递是通过消息进展的; 89.在以下double型常量表示中,〔A〕是错误的。 A.E15;B..35;C.3E5;D.3E-5 90.以下给字符数组进展初始化中,〔A〕是正确的。 A.chars1[]="12345abcd";B.chars2[3]="xyz"; C.chars3[][3]={‘a’,’x’,’y’};D.chars4[2[3]={"xyz","mnp"}; 91.对于int*pa[5];的描述,〔D〕是正确的。 A.pa是一个指向数组的指针,所指向的数组是5个int型元素; B.pa是一个指向某个数组中第5个元素的指针,该元素是int型变量;C.pa[5]表示某个数组的第5个元素的值; D.pa是一个具有5个元素的指针数组,每个元素是一个int型指针; 92.以下各运算符中,〔A〕
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 大学 C+ 期末考试 题库 答案