《C++开发基础练习题及答案5_2023_背题版.pdf》由会员分享,可在线阅读,更多相关《C++开发基础练习题及答案5_2023_背题版.pdf(105页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、试题说明本套试题共包括1 套试卷每题均显示答案和解析C+开发基础练习题及答案5(5 0 0 题)C+开发基础练习题及答案5L 单选题 当一个类A中没有声明任何成员变量与成员函数,si ze o f(A)的值是多少?A)0B)104答案:B解析:2 .单选题 冒泡排序的时间复杂度A)0(n)B)O(l o g N)C)O(n)答案:C解析:3 .单选题 数据结构中,对于希尔排序的组内排序采用的方式是。A)冒泡排序B)折半插入排序C)快速排序D)以上都不对答案:D解析:4 .单选题 在循环中使用b r e a k 语句的功能是()。A)使程序的执行跳出b r e a k 所在的那一重循环B)使程序
2、执行结束C)跳出包含此b r e a k 语句的所有循环D)终止本次循环,继续下次循环答案:A解析:5 .单选题 关于d e l e t e 运算符的下列描述中,()是错误的。A)它必须用于ne w 返回的指针;B)使用它删除对象时要调用析构函数;C)对一个指针可以使用多次该运算符;D)指针名前只有一对方括号符号,不管所删除数组的维数。答案:C解析:6.单选题已知函数sw a p 定义的定义为:v o i d sw a p(i ntA,i nt b)i nt t=a;a=b;b=t;下列语句的输出是:Int x=5,y=1 0;S w a p(x,y);C o u t x ye nd l;A)
3、1 0 5B)5 1 0C)5 5D)1 0 1 0答案:B解析:7.单选题 要声明一个有1 0 个i nt 型元素的数组,正确的语句是()A)i nt a 1 0 B)i nt a 2,5 C)i nt a D)i nt *a 1 0 答案:A解析:8 .单选题 关于对象概念的描述中,说法错误的是()A)对象就是C 语言中的结构体B)对象代表着正在创建的系统中的一个实体C)对象是类的一个变量D)对象之间的信息传递是通过消息进行的答案:A解析:类是对现实世界中客观事物的抽象。对象是系统中用来描述客观事物的一个实体。故A 错误,B 正确。对象是类的一个具象,类是对象的一个抽象。对象是类的实例,是
4、类的一个变量。故C 正确。对象之间通过消息进行信息传递,故D 正确。9 .单选题 设存在函数i nt m i n(i nt,i nt)返回两参数中较小值,若求1 5,2 6,4 7 三者中最小值,下列表达式中错误的是OA)i n t m=m i n(m i n(1 5,2 6),m i n(1 5,4 7);B)i n t m=m i n(1 5,2 6,4 7);C)i n t m=m i n(1 5,m i n(4 7,2 6);D)i n t m =m i n(m i n(4 7,2 6),1 6);答案:B解析:函数的使用中参数的类型与个数应与声明中保持一致。函数形参只有两个参数,B
5、选项传递了3 个参数,故错误。1 0 .单选题 把一棵树转换为二叉树后,这棵二叉树的形态是A)唯一的B)有多种C)有多种,根结点没有左孩子D)有多种,根结点没有右孩子答案:A解析:1 1 .单选题 下列关于运算符重载的描述中,错误的是()。A)运算符重载不可以改变操作数的个数B)运算符重载不可以改变运算符的功能C)运算符重载不可以改变结合方向D)运算符重载可以改变运算优先级答案:D解析:1 2 .单选题 S h e l l 排序是一种什么排序()A)选择B)插入C)交换D)归并答案:B解析:1 3 .单选题 总体说明:4 0 题,每题2 分,编程题3 题,每题1 5 分,总分1 2 5 分,最
6、终折算成1 0 0 分C+对C 语言做了很多改进,下列描述中_ _ _ _ _ 使得C 语言发生了质变,即从面向过程变成面向对象。A)增加了一些新的运算符B)允许函数重载,并允许设置默认参数C)规定函数说明必须用原型D)引进类与对象的概念答案:D解析:1 4 .单选题 若有定义i n t x=1 7;”,则语句c o u tA)1 1B)0 x l l0 2 1D)2 0答案:C解析:1 5.单选题 下列循环语句中有语法错误的是()。A)i n t i;f o r(i=l;i 1 0;i+)c o u t *;B)i n t i,j;f o r(i=l,j=0;i 1 0;i+,j+)c o
7、u t *;C)i n t i=0;f o r(;i 1 0;i+)c o u t *;D)f o r(1)c o u t *;答案:D解析:1 6.单选题 通常拷贝构造函数的参数表是()。A)某个对象名B)某个对象的成员名C)某个对象的引用名D)某个对象的指针名答案:C解析:1 7.单选题 在一个程序文件中有如下语句:E x t e r n i n t v a r;关于这个语句,下列表述中错误的是()。A)v a r称为外部变量B)v a r定义在函数或类的外部C)v a r已在另一个程序文件中定义D)编译系统在处理这个语句时将为之分配空间答案:D解析:1 8.单选题 逗号表达式(x=2*3
8、,x=x*5),x+2 5的值为A)2 5B)5 50 4 5D)1 0 0答案:B解析:1 9.单选题 已知:i n t a=3;则执行a+=a-=a*a;后,变量a的值为()。A)3B)009D)-1 2答案:D解析:先计算a-=a*a,得a 值为-6,所以结果为T 22 0 .单选题 下列描述中,()是错误的。A)内联函数的主要解决程序的运行效率问题。B)内联函数的定义或声明必须出现在内联函数第一次补调用之前。C)内联函数中可以包括各种语句D)对内联不可以进行异常接口声明答案:C解析:在内联函数中不允许使用循环语句(fo r,whi le)和s wi tc h结果,带有异常接口声明的函数
9、也不能声明为内联函数。另外,递归函数(自己调用自己的函数)是不能被用来做内联函数的。内联函数只适合于只有1 5 行的小函数。2 1 .单选题 要定义整型数组x,使之包括初值为0的三个元素,下列语句中错误的是()。A)i n t x 3 =0,0,0;B)i n t x =0;C)s ta ti c i n t x 3 =0;D)i n t x =0,0,0;答案:B解析:2 2.单选题 下列语言中,属于面向对象的语言是()。A)C语言B)C+语言C)P a s c a l 语言D)B a s i c 语言答案:B解析:2 3 .单选题 通常,复制构造函数的参数是()。A)某个对象名B)某个对象
10、的成员名C)某个对象的引用名D)某个对象的指针名答案:C解析:2 4 .单选题 以下死循环的程序段是()。A)i n t x;fo r(i n t x=0;x =0);C)i n t a=5 ;whi le(a )a-;D)i n t i=3 ;fo r(;i ;i -);答案:B解析:2 5 .单选题 下列关于C+语言全局变量与局部变量的叙述中,错误的是()。A)函数调用结束时,函数中静态局部变量不释放内存空间,变量值保留B)函数调用结束时,函数中动态局部变量释放内存空间,变量值消失C)全局变量的生存周期是从程序开始到程序结束D)在一个函数或复合语句中,当局部变量与已有的全局变量重名时,在该
11、函数或复合语句中局部变量不起作用。答案:D解析:2 6 .单选题 设有:i n t a=l,b=2,c=3,d=4,m=2,n=2;执 行(m=a d)后n 的值是()A)1B)20 3D)0答案:B解析:e x pl|e x p2 若e x pl为1,则e x p2 不执行.m=l,所以(n=c d)不执行,n 值不变2 7 .单选题 声明函数为内联使用的关键字为()A)c o n s tB)i n li n eC)s ho r tD)s i gn e d答案:B解析:内联函数应该定义在前,调用在后,定义时只需在函数头返回值类型的前面加上关键字i n li n e0故本题选B。s ho r
12、t表示数据类型短整型。定义引用时,可以在定义的前面加c o n s t关键字,表明该引用是“常引用”。D为干扰项。2 8 .单选题 如果c 为字符型变量,判断c 是否为空格(假设已知空格A S CII码为3 2)不能使用()A)i f(c=3 2)B)i f(c=3 2 )C)i f(c=4 0)D)i f(c=)答案:B解析:4 0是八进制换算成二进制就是3 2 也就是空格29.单选题 如果变量x,y 已经正确定义,下列语句哪一项不能正确将x,y 的值进行交换()。A)x=x+y,y=x_y,x=x-yB)t=x,x=y;y=tC)t=y,y=x,x=tD)x=t,t=y,y=x答案:D解析
13、:30 .单选题 从具有n个结点的二叉搜索树中搜索一个元素时,在最坏情况下进行成功搜索的时间复杂度为A)0(n)B)0(l)C)0(log 2n)D)0(n 2)答案:A解析:31.单选题 以下选项中可作为C+语言合法整数的是()。A)10 10 11BB)0 28 6C)O x f f aD)x 2ba答案:C解析:A:是程序外的一种表示,B:八进制没有数码8,D:十六进制是0 X 开头,x 开头非法32.单选题 关于d e le t e 运算符的下列描述中,()是错误的。A)它必须用于ne w 返回的指针;B)使用它删除对象时要调用析构函数;C)对一个指针可以使用多次该运算符;D)指针名前
14、只有一对方括号符号,不管所删除数组的维数。答案:C解析:33.单选题 以下关于类占用内存空间的说法错误的是()A)类所占内存的大小是由成员变量(静态变量除外)和虚拟函数表指针空间(若有虚函数)所决定B)32位操作系统环境下空类的内存大小是4个字节C)类中无论有多少个虚函数,只会多占一个虚表指针空间D)子类的内存大小等于父类的内存大小加上子类独有成员变量的内存大小答案:B解析:空的类是会占用内存空间的,而且大小是1,原因是C+要求每个实例在内存中都有独一无二的地址。34.单选题 若有如下程序t t i nc lu d e u s i ng name s pac e s t d;v oi d f
15、u n(i nt*x,i nt s,i nt e)i nt i,j,t;f or(i=s,j=e;iA)0 98 7651234B)3210 98 76540 98 76543210D)45678 90 123答案:D解析:35.单选题 按照二叉树的定义,具有3个结点的二叉树有()种A)3B)405D)6答案:C解析:36.单选题 有如下函数定义:v oi d f u nc (i nt a,i nt&b)a+;b+;若执行代码段:i ntx=0 ,y=l f u nc (x,y);则变量x 和y 值分别是()人)0 和18)1和1C)0 和 2D)1 和2答案:C解析:37.单选题 C+函数中
16、未指定存储类别的局部变量,其隐含的存储类别是,A)au t oB)s t at i cC)e x t e r nD)r e g i s t e r答案:A解析:38 .单选题 锁机制是线程之间通信的常用方式,不包括?A)互斥量B)全局变量C)锁D)条件变量答案:B解析:39 .单选题 下列f o r循环的循环体执行次数为()。f o r(i n t i(0),j(1 0);i=j=4;i+,j)A)0;B)l;0 4;D)无限;答案:D解析:40.单选题 设x为i n t型变量,则执行以下语句后,x的值为 o x=1 0;A)1 0B)200 4 0D)30答案:B解析:41.单选题 以下程序
17、中,wh i l e循环的的循环次数为()。Si n cl u d e Us i n g n am e s p ace s td;I n t m ai n ()(i n t i=0;wh i l e (i 1 0)(i f (i 1 0)co n ti n u e;i f (i=5)bre ak;i+;)re tu rn 0;A)1B)1 0C)6D)死循环,不能确定次数答案:D解析:i+执行不到就回到循环开始,条件始终为真,死循环。42.单选题 假定机器数为8位,则-50的补码为()。A)1 000 1 1 1 0B)1 1 00 1 1 1 0O 0 1 0 0 1 1 1 0D)1 01
18、 1 001 1x+=x-=x-x;答案:B解析:43.单选题 下列关于数组的描述正确是 oA)数组的长度是可变的,而其中元素的数据类型必须相同B)数组的长度是可变的,而其中元素的数据类型可以不同C)数组的长度是固定的,而其中元素的数据类型可以不同D)数组的长度是固定的,而其中元素的数据类型必须相同答案:D解析:44.单选题 下面对C+语言的描述中,正确的是()0A)函数一定有返回值,否则无法使用函数B)C+语言函数既可以嵌套定义又可以递归调用C)在C+语言中,调用函数时,只能将实参的值传递给形参D)C+程序中有调用关系的所有函数都必须放在同一源程序文件中答案:C解析:45.单选题 关于文件包
19、含,下列描述错误的是A)文件包含命令行必须以#i n cl u d e 开头B)文件包含命令行的两种形式是有区别的,当#i n cl u d e 后面的文件名用 括起来时,应该先在源程序所在目录中进行搜索C)文件包含是可以嵌套的,即在被包含的文件中又使用文件包含命令行包含其他文件D)一个#i n cl u d e 命令只能包含一个文件,当多个文件需要包含时,应使用多个#i n cl u d e 命令行答案:B解析:46.单选题 变 量 的 指 针,其 含 义 是 指 该 变 量 的。A)值B)地址C)名D)一个标志答案:B解析:47.单选题 设存在函数i n t m ax(i n t,i n
20、t)返回两参数中较大值,若求22,59,70三者中最大值,下列表达式不正确的是()A)i n t m =m ax(22,m ax(59,70);B)i n t m =m ax(m ax(22,59),70);C)i n t m =m ax(22,59,70);D)i n t m =m ax(59,m ax(22,70);答案:c解析:函数参数的使用应与声明中类型与个数保持一致。函数形参只有两个参数,C 选项传递了3个参数。48.单选题 下列对于类的描述错误的是。A)类要先声明后使用B)类是具有唯一标识的实体C)两个类可以使用同一个名称D)组成类的不仅有数据,还可以有对数据进行操作的函数答案:C
21、解析:类是具有唯一标识符的实体,就是说类名不能重复。故C 错误。49 .单选题 表示“X 大于1而小于1 0”的逻辑表达式是()。A)K x l&x 1 0C)!(x =1 0)D)x l|x 1 0答案:B解析:50.单选题 若a 为i n t 类型,且其值为3,则执行完表达式a+=a-=a*a 后,a 的值是。(题)A)1 2B)-309D)-1 2答案:D解析:51 .单选题 以下对一维数组a的正确定义是()。A)i n t n =5,a n ;B)i n t a (5);C)c o n s t i n t N =5;i n t a N ;D)i n t n;c i n n;i n t
22、a n ;答案:C解析:52.单选题 关于C+的特点下列说法不正确的是()。(题)A)C+中没有结构化编程的语句B)C+是C 语言的超集,大多数C 程序在不用修改的情况下就可以在C+的集成环境下运行或调试C)C+是面向对象的程序设计语言D)C+的执行效率很高答案:A解析:53.单选题 如果有i n t x,*p;f l o a t y,*q;则下面操作中,正确的是()A)p=xB)p=qC)p=&xD)p=&y答案:C解析:c选项,指针变量p指向整型变量X,正确。54.单选题 关于类模板的模板参数说法正确的是()。A)只可作为数据成员的类型B)只可作为成员函数的返回值类型C)只可作为成员函数的
23、参数类型D)既可作为数据成员的类型,也可说明成员函数的类型答案:D解析:55.单选题 什么是成员()。A)类的特征B)类的方法C)类的事件D)以上全是答案:D解析:56.单选题 下列关于析构函数描述正确的是()A)可以重载B)函数体中必须有d e l e t e语句C)返回类型必须是v o i d类型D)不能指定返回类型答案:D解析:57.单选题 下列程序段的输出是 o u n s i g n e d s h o r t i=6553 8;i n t bA)6553 8B)有语法错误,无法编译通过C)0D)2答案:C解析:c o u t (b=a);58 .单选题 在C+中,关于下列设置缺省参
24、数值的描述中,()是正确的。A)不允许设置缺省参数值;B)在指定了缺省值的参数右边,不能出现没有指定缺省值的参数;C)只能在函数的定义性声明中指定参数的缺省值;D)设置缺省参数值时,必须全部都设置;答案:B解析:59 .单选题 如下输出语句c o u t 1 0)a-=5;a+=5;A)1 0B)l l0 1D)6答案:B解析:6 6 .单选题 i n t F u n c(i n t ,i n t);不可与下列哪个函数构成重载()A)i n t F u n c(i n t ,i n t ,i n t);B)d o u b l e F u n c(i n t ,i n t);C)d o u b
25、l e F u n c(d o u b l e ,d o u b l e);D)d o u b l e F u n c(i n t ,d o u b l e);答案:B解析:6 7 .单选题 类中定义的成员默认为()访问属性。A)p u b l i cB)p r i v a t eC)p r o t e c t e dD)F r i e n d答案:B解析:6 8.单选题 在C+中使用流进行输入输出,其中专用于从键盘进行输入的流是()A)c e r rB)c i nC)c o u tD)c f i l e答案:B解析:C+类中对象:c i n;运算符为 ,用于键盘输入。c o u t:运算符为
26、 ,用于屏幕输出。故本题选B。6 9.单选题 下列控制格式输入输出的操作符中,能够设置浮点数精度的是A)s e t p r e c i s i o nB)s h o w p o i n tC)s e t f i l lD)s e t w答案:A解析:7 0.单选题 下列说法正确的是_A)字符型数组与整型数组可通用B)字符型数组与字符串其实没什么区别C)字符串的输出可以用存储它的数组来输出,也可以字符串的形式整体输出,结果没区别D)当字符串放在字符数组中,这时要求字符数组长度比字符串长1个单元,因为要放字符串终结符,0;答案:D解析:7 1.单选题 以下4个选项中,不能看作一条语句的是()A)i
27、 f(b=0)m=l;n=2;B)a=0,b=0,c=0;C)i f(a 0);D);答案:A解析:语句以分号“;”结尾。A选项中,m=l;n=2之间有个分号,应该是两条语句。故本题选A。7 2.单选题 设有定义i n t i;d o u b l e j =5;,则1 0+i+j值的数据类型是()A)i n tB)d o u b l eC)f l o a tD)不确定答案:B解析:7 3.单选题 下列哪个不属于C+的预定义的流对象()。(题)A)i o s t r e a mB)c i nC)c e r rD)c l o g答案:A解析:7 4.单选题 使用s t r i n g.h库操纵字符
28、串时,将两个字符串连接成一个字符串的函数是()A)s t r l e n ()B)s t r c a p OC)s t r c a t ()D)s t r c m p ()答案:C解析:s t r c a t O:用于连接字符串。s t r l e n():返回字符串的长度。s t r c m p():比较两个字符串的大小。不存在s t r c a p O 故本题选C。7 5.单选题 有如下定义语句:i n t a a 3 =1 2,2 3,3 4,4,5,6,7 8,8 9,4 5 ;,则4 5在数组2 2中的行列坐标各为()。A)3,2B)3,l0 2,2D)2,l答案:C解析:7 6.单
29、选题 若有定义t y p e d e f c h a r T 1 0 ;T *a ;上述定义中a的类型与下面选项中完全相同的是()?A)c h a r a 1 0;B)c h a r (*a)1 0;C)c h a r *a ;D)c h a r *a 1 0;答案:B解析:7 7.单选题 关键字u n s i g n e d不 能 修 饰 的 类 型 是。A)c h a rB)i n tC)f l o a tD)l o n g i n t答案:C解析:7 8 .单选题 下面程序执行后的输出结果是 o#i n c l u d e u s i n g n a m e s p a c e s t
30、d;i n t f (i n tb ,i n t m,i n t n)i n t i,s=0;f o r(i=m;iA)2 5B)1 80 2 2D)1 4答案:D解析:7 9.单选题 已知i n t x=5,y=5,z=5;执行语句x%=y+z;后,x 的值是()。A)0B)50 6D)1答案:B解析:8 0 .单选题 使用输入输出操作符s e t w,可以控制()。(题)A)输出宽度B)输出精度C)对齐方式D)填充字符答案:A解析:8 1 .单选题 在一颗二叉树上第6 层的结点数最多是A)8B)1 60 3 2D)6 4答案:C解析:8 2 .单选题 1 0 流中,o f t r e a
31、m 的父类是下面的A)o s t r e a mB)i s t r e a mC)i fs t r e a mD)i o s t r e a m答案:A解析:8 3 .单选题 对数组名作函数参数,下面描述正确的是()。A)调用时将实参数组复制给形参数组B)实参和形参占用同一段存储单元C)形参定义的数组长度不能省略D)不能改变主调函数中的数据答案:B解析:8 4 .单选题 定义新类是通过什么实现的()。A)信息隐藏B)数据封装C)继承机制D)数据抽象答案:C解析:8 5 .单选题 关于C+语言中r e t u r n 语句正确的说法是()A)只能在主函数中出现B)在每个函数中都必须出现C)可以在
32、一个函数中出现多次D)只能在除主函数之外的函数中出现答案:C解析:8 6 .单选题 有如下程序i n t m a i n()i n t n=9;w h i l e(n 6)co u t l;i-=2)co u t *;(题)A)2 6B)240 2 5D)5 0答案:C解析:9 0 .单选题 已知p r i n t。函数是一个类的常成员函数,它无返回值,下列表示中正确的是A)v o i d p r i n t()co n s t;B)co n s t v o i d p r i n t();C)v o i d co n s t p r i n t();D)v o i d p r i n t(c
33、o n s t);答案:A解析:9 1 .单选题 对C+语言和C 语言的兼容性,描述正确的是()A)C+兼容CB)C+部分兼容CC)C+不兼容CD)C 兼容C+答案:A解析:9 2.单选题 在C+中,要实现动态联编,必 须 使 用()调用虚函数。A)类名B)派生类指针C)对象名D)基类指针答案:D解析:9 3.单选题 运行下述程序,输出结果是 oA)5B)70 9D)1 2答案:D解析:9 4.单选题 设有如下程序段:i n t x=2 0 0 2,y=2 0 0 3;co u t (x,y)n;则以下叙述中正确的是A)编译时产生出错信息,不能正确输出B)输出 2 0 0 2,2 0 0 3C
34、)输出值为2 0 0 2D)输出值为2 0 0 3答案:D解析:9 5.单选题 一个队列的入队序列是1 ,2,3,4 ,则队列的输出序列是A)4,3,2,1B)l,2,3,40 1,4,3,2D)3,2,4,1答案:B解析:9 6.单选题 若有定义i n t a 3 5 ,i,j;(且0 W i 3,0 W j aD)x.a答案:D解析:1 00.单选题 已知有如下定义:c ha r a 1 0;,则不能将字符串 a bc 存储在数组a 中的是。A)s t r c p y(a,a bc );B)a O=0,s t r c a t(a,a bc );C)a=a bc ;D)i nt i;f o
35、r(i=0;i =y&c h B I|!y)的值为()。A)0B)1C)非0的值D)语法错误答案:B解析:1 02.单选题 表达式!x 等效于 oA)x=lB)x=0C)x!=lD)x!=O答案:B解析:1 03.单选题 下列叙述中,错误的是()。A)t r u e 是一个bo o l 常量B)x 是一个字符常量C)1 00是一个i nt 常量D)3.1 4 是一个 d o u bl e 常量答案:B解析:1 04 .单选题 运行如下程序,输出结果为()。A)3B)201D)0答案:D解析:分析几条语句,i f 语句分i f 子句和e l s e 子句1 05 .单选题 若一棵二叉树具有1 2
36、 个度为2 的结点,6 个度为1 的结点,则度为0的结点个数是()oA)1 0B)l l013D)不确定答案:C解析:1 06 .单选题 以下选项中,正确的语句组是 oA)c ha r s 1 0 ;s=BOOK!?,;B)c ha r s ;s-*BOOK!n;C)c ha r*s;s=B00K!M ;D)c ha r*s ;s=BOOK!v;答案:D解析:1 07.单选题 i f 与e l s e 在使用过程中为避免嵌套出现二义性,C+中规定与e l s e 子句配对的是()A)其之前最近的i f 语句B)其之前最近且尚未配对的i f 语句C)缩排位置相同的i f 语句D)其之后最近的i
37、f 语句答案:B解析:i f 后面和e l s e 后面的语句可以再包含i f 语句,需要注意的是,e l s e 总是与前面最近的并且没有与其他e l s e 匹配的i f 相匹配。为了明确匹配关系,避免出现匹配错误,强烈建议将内嵌的i f 语句,一律用一对大花括号括起来。1 08.单选题 函数i nt s u m(i nt a=1 0,i nt b=1 5,i nt c=2 5);不可与下列哪个函数同时声明()A)i nt s u m(i nt,i nt,i nt,i nt)B)i nt s u m(i nt,i nt,i nt)C)i nt s u m(d o u bl e)D)i nt
38、 s u m(d o u bl e,d o u bl e,d o u bl e);答案:B解析:名称相同,参数个数相同,参数类型相同,无法重载。1 09.单选题 假设One Cl a s s 为一个类,则该类的复制初始化构造函数的声明语句为()。A)One Cl a s s(One Cl a s s p)B)0ne Cl a s s&(One Cl a s s p)C)One Cl a s s(One Cl a s s&p)D)One Cl a s s (One Cl a s s *p)答案:C解析:1 1 0.单选题 对于顺序存储的线性表,访问结点和增加、删除结点的时间复杂度为()A)0(n
39、)0(n)B)O(n)0(1)00(1)0(n)D)00答案:C解析:1 1 1 .单选题 以下代码片段的输出结果为()。i nt a 3 3 =1,2,3,4,5,6,7,8,9;i nt *p a 3 =a 0,a l ,a 2 ;v o i d ma i n()(p r i nt f(%d n ,*p a l );A)4B)104,5,6,7,8,9D)4,5,6答案:A解析:1 1 2.单选题 下面有关友员函数的描述中,真确的说法是()A)友员函数是独立于当前类的外部函数B)一个友员函数不可以同时定义为两个类的友员函数C)友员函数必须在类的外部进行定义D)在类的外部定义友员函数时必须加
40、上f r i e n d关键字答案:A解析:1 1 3.单选题 要定义数组A,使得其中每个元素的数据分别依次为:3、9、4、8、0、0、0,错误的定义语句是 OA)i nt A 善 3,9,4,8,0,0,0;B)i nt A =3,9,4,8;O i n t A 7 三 3,9,4,8,0,0,0;D)i nt A 7 =3,9,4,8;答案:B解析:1 1 4.单选题 多继承内嵌对象构造函数执行次序 下列程序的输出是:#i nc lud e U si ng na me spa c e std;C la ss A pub li c:A(i nt a l)c out,fA,f;a=a l;Pr
41、i va te:i nt a;C la ss B pub li c:B(i nt b l)c out wBM;b=b l;Pri va te:i nt b;C la ss C pub li c:C(i nt c l)c out,fC,f;c=c l;Pri va te:i nt c;C la ss D:pub li cA,pub li c B pri va te:C c;Pub li c:D(i nt d):B(d),A(d),c(d)c outwDw;);Int ma i n()D d l(1);re turn 0;A)DB)A B DC)B A C DD)A B C D答案:D解析:1 1
42、 5.单选题 关于异常机制,以下说法正确的是()。A)异常不是语法错误B)异常代表了编程过程中遇见的所有错误C)一旦出现异常,程序将会中断,退出执行D)派生类不能捕获基类的异常答案:A解析:1 1 6 .单选题 在类定义的外部,可以被访问的成员有()。A)所有类成员B)pri va te 或prote c te d 的类成员C)pub li c 的类成员D)pub li c 或pri va te 的类成员答案:C解析:1 1 7 .单选题 在C+中,要实现动态联编,必须使用()调用虚函数。A)类名B)派生类指针C)对象名D)基类指针答案:D解析:1 1 8.单选题 以下程序的输出结果为()。i
43、 nt a 3 3 =0,1,2,0,1,2,0,1,2,t=l;f or(i nt i =0;i 3;i+)f or(i nt j=i;j=i;j+)t=t+a i a j j ;pri ntf(%d n,t);A)3B)401D)9答案:B解析:1 1 9.单选题 关于th i s指针使用说法正确的是。A)保证每个对象拥有自己的数据成员,但共享处理这些数据的代码B)保证基类私有成员在子类中可以被访问。C)保证基类保护成员在子类中可以被访问。D)保证基类公有成员在子类中可以被访问。答案:A解析:1 2 0.单选题0有如下程序:#i nc lud e usi ng na me spa c e
44、std;i ntma i n()i ntf,f l=0,f 2=l;f or(i nti=3;i =6;i+)f=f l+f 2;f l=f 2;f 2=f;c outA)2B)30 5D)8答案:C解析:1 2 1.单选题 如输入 1,最后输出什么()voi d ma i n()c h a r c;sc a nf (%c,&c);swi tc h(c)c a se 1 :pri ntf(1);c a se 2 :pri ntf(2)c a se 3 :pri ntf(3)d e f a ult:pri ntf(e rror);A)1B)1 2 3C)e rrorD)1 2 3 e rror答
45、案:D解析:没有写b re a k,依次执行1 2 2.单选题 关于用c onst定义的常变量,下 列 叙 述 错 误 的 是。A)定义常变量时必须进行初始化B)每个常变量都有其特定的数据类型C)常变量在使用前必须先进行定义D)常变量定义之后可以被改变答案:D解析:1 2 3.单选题 设存在函数i nt ma x(i nt,i nt)返回两参数中较大值,若求2 2,5 9,7 0三者中最大值,下列表达式不正确的是()A)i nt m=ma x(2 2,ma x(5 9,7 0);B)i nt m=ma x(ma x(2 2,5 9),7 0);C)i nt m=ma x(2 2,5 9,7 0
46、);D)i nt m=ma x(5 9,ma x(2 2,7 0);答案:C解析:ma x中参数为两个,当实参数量多于形参数量时,多于的参数会被忽略。故本题中不能比较出三者中的最大值1 2 4.单选题 面向对象中的“对象”是 指()A)行为抽象B)数据抽象C)行为抽象和数据抽象的统一D)行为抽象和数据抽象的对立答案:C解析:结构化程序设计使用的是功能抽象,面向对象程序设计不仅能进行功能抽象,而且能进行数据抽象。“对象”实际上是功能抽象(行为抽象)和数据抽象的统一。1 2 5 .单选题 类的析构函数的作用是()。A)一般成员函数B)类的初始化C)删除对象D)对象的初始化答案:C解析:1 2 6
47、.单选题 假设A B 为一个类,则该类的拷贝构造函数的原型为()A)A B&(A B x)B)A B(A B x)C)A B (A B&x)D)A B(A B *x)答案:C解析:1 2 7.单选题 f o r(i n t x =0 ,y =0;!x&y =A&ch =ZB)ch =ZC)A =ch =A&ch ,用于键盘输入。co u t:运算符为 0)x*f(x-l):2);i n t i;i=f(f(l);A)2B)40 8D)无限递归答案:B解析:1 3 4.单选题 要求用友员函数重载的运算符是()。A)=B)C)D)0答案:C解析:1 3 5 .单选题 在C+语言中用于注释的标识符是
48、()A)&B)/0*D)/答案:B解析:C+程序中,仍沿用C 语言的注释风格,即注释有以下两种形式。1)从/*开始,到*/结束,这之间的所有内容都视作注释。2)从直到行尾,都是注释。故综上,/*/或都用于注释。本题选B。1 3 6 .单选题 在C+中,编译系统自动为一个类生成缺省构造函数的条件是A)该类没有定义任何有参构造函数B)该类没有定义任何无参构造函数C)该类没有定义任何构造函数D)该类没有定义任何成员函数答案:C解析:1 3 7 .单选题 在哪种情况下适宜采用i n l i n e 定义内联函数?A)函数体含有循环语句B)函数体含有递归语句C)函数代码少、频繁调用D)函数代码多、不常调
49、用答案:C解析:1 3 8 .单选题 设 i n t a=l,b=2,c=3,d=4;则以下条件表达式的值为()。a b?a:c =y&ch B&!y)的 值 是()A)0B)语法错01D)“假”答案:C解析:x=y是成立的,A的A S CH值是小于B的,!y=l所以答案是11 4 3.单选题 声明函数i n t F u n c(i n t a=0,i n t b=3,i n t c=4)相当于声明了几个函数形式。A)1B)203D)4答案:D解析:可以用4 种方法调用,即F u n c()无参数F u n c(2)一个参数F u n c(2,3)两个参数F u n c(2,3,3)三个参数1
50、 4 4 .单选题 下列不正确的定义是()A)i n t*p=&i,iB)i n t*p,iC)i n t i,*p=&ID)i n t i,*p答案:A解析:1 4 5 .单选题 关于函数的返回值说法正确的是()。A)由r e t u r n 语句返回时,只带回一值,其类型在函数定义时确定。B)其类型由调用表达式决定。C)函数可以没有返回值,这时在函数定义,函数的类型说明就没必要了。D)函数调用就要有返回值,否则调用就没意义了。答案:A解析:1 4 6 .单选题 C+语言的函数体必须放在一对()中A)B)0 D)()答案:A解析:1 4 7 .单选题 判断c h a r 型变量c l 是否为