C++程序设计题库及答案.pdf
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_05.gif)
《C++程序设计题库及答案.pdf》由会员分享,可在线阅读,更多相关《C++程序设计题库及答案.pdf(84页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、【章节】第 1 章 C+基础知识【知识点】1、C+程序的构成与书写形式;2、基本数据类型,常量、变量和表达式3、C+的标准输入输出【单选题】1、在 C+中,源程序变为可执行程序的正确顺序应该是()A.编辑、链接、编译、执行 B.编辑、编译、链接、执行C.编译、编辑、链接、执行D.编译、链接、编辑、执行答案:B2、要把高级语言编写的源程序转换为目标程序,需要使用()。A.编辑程序B.驱动程序C.调试程序D.编译程序答案:D3、下列关于C+与 C 语言的关系描述中,错误的是()。A.C 语言是C+语言的一个子集B.C+与 C 语言是兼容的C.C+对 C 语言进行了一些改进D.C+和 C 语言都是面
2、向对象的答 案:D4、下面为使用面向对象语言的正确理由是()。A.面向对象程序由三种基本结构组成,分别是顺序结构、选择结构和循环结构B.程序语句比面向过程语言简单C.面向对象程序设计可以设计为自行修改错误D.面向对象程序很容易概念化答案:D5、以下选项中,合法的用户标识符是()。A.longB._2TestC.3DmaxD.A.dat答案:B6、下列描述中正确的是()。A,不是每个C+程序都必须包含预处理命令#includeB.C+程序必须有return语句C.C+程序中的变量必须定义在主程序内部D.C+程序中所使用的符号常量可以不进行定义答案:A7、C+源程序文件的扩展名为()。A.C P
3、PB.CC.D L LD.E X E答案:A8、c o u t 是 1 0 流库预定义的()。A.类B.对象C.包含文件D.常量答案:B9、C+对 C语言作了很多改进,即从面向过程变成为面向对象的主要原因是()。A.增加了一些新的运算符B.允许函数重载,并允许设置缺省参数C.规定函数说明符必须用原型D.引进了类和对象的概念答案:D1 0、下列选项中,()是不合法的标识符.A.P r o g r a mB.0 b j 2 3C.d o u b l eD.B _ C _ D答案:c1 1、下列标识符中,不合法的用户标识符为()。A.a !B._ i n tC.a _ 1 0D.P A d答案:A1
4、 2、只能向终端输出一个字符的函数是()。A.p r i n g f 函数B.p u t c h a r 函数C.g e t c h a r 函数D.s c a n f 函数答案:B1 3、如果有整型量i n t x =5,执行情况x +=1.9 后 x的值为()。A.6B.7C.结果不确定D.表达式非法答案:A1 4、已知 a=5,b=3,表达式 a+=a*=+b*3 的值为()。A.4 0B.80C.1 0 0D.1 2 0答案:D2 0、在 C+语言中,自定义的标识符()。A.能使用关键字并且不区分大小写B.不能使用关键字并且不区分大小写C.能使用关键字并且区分大小写D,不能使用关键字并
5、且区分大小写答案:D3 2、C+语言程序的基本单位是()。A.程序行B.语句C.函数D.字符答案:B3 8、下列符号属于C+语言用户标识符的是()。A.D 0B.i f0.v o i dD.s w i t ch答案:A3 9、任意一个类,析构函数的个数最多是()。A.不限个数B.1C.2D.3答案:B【章节】第 3章 函 数【知识点】1、C+函数的相关知识2、函数定义与函数的调用3、内联函数与函数重载【单选题】1、若有以下函数调用语句,在此函数调用语句中实参的个数是()。f un (a+b,(y=10,y),f un (n,k,d);A.3B.40.5D.6答案:A2、以下程序的运行结果是()
6、。f un c(i n t a,i n t b)s t a t i c i n t m,i=2;i+-m+1;m=i+a+b;return(m);)i nt ma i n()in t k=4,m=1,p;p=func(k,m);coutpend I;p=func(k,m);coutpend I;A.8,17B.8,16C.8,20D.8,8答案:A3.以下函数调用语句中,含有的实参个数是().func(re d,rec2+1,(rec3,rec4);A.3B.4C.5D.有语法错误 答 案 A4.分析如下程序:#i ncIude in t f (in t b r in t n)in t i,r
7、=1;fo r(i=0;i,y n,xendl;)A.30,20,10B.10,20,30C.456,567,678D.678,567,456答案:A15、C+语言中,形参与实参之间的数据传递方式是()。A.只能按值传递B.只能按地址传递C.既可以按值传递也可以按地址传递D.以上说法都不对答案:C16、分析以下程序:#include vo i d fun(i nt num)coutnumend I;vo i d fun(char ch)cout(ch+1)end I;i nt m a i n()funC A);return 0;以上程序的输出结果是()OA.6 5B.6 6C.AD.B答案:B
8、17、一个函数为 vo i d f (i n t x,cha r y =a ),另一个函数为 vo i d f (i n t),()oA.不能在同一程序块中定义B.可以在同一个程序块中定义并可重载C.可以在同一个程序块中定义,但不可以重载D.以上说法均不正确答案:A18、函数定义为F un(i n t&i),变量定义n =1 0 0,则下面调用正确的是()则它们A.F un (2 0)B.F un (2 0 +n)C.F un (n)D.F un (&n)答案:C19、当一个函数无返回值时,函数的类型应为()。A.任意B.vo i dC.i n tD.cha r答案:B2 0、下列带缺省值参数
9、的函数说明中,正确的说明是()。A.i n t F un (i n t x,i n t y=2,i n t z=3);B.i n t F un(i n t x=1,i n t y,i n t z-3);C.i n t F un(i n t x,i n t y=2,i n t z);D.i n t F un(i n t x=1,i n t y,i n t z-3);答案:A2 1、下列函数参数默认值定义错误的是()。A.F un (i n t x,i n t y=0)B.F un (i n t x =10 0)C.F un (i n t x =0,i n t y)D.F un (i n t x二
10、千()(假定函数f()已经定义)答案:C2 2、在函数定义前加上关键字“i n l i n e”表示该函数被定义为()。A.重载函数B.内联函数C.成员函数D.普通函数答案:B2 3、一个函数功能不太复杂,但要求被频繁调用,选用()。A.内联函数B.重载函数C.递归函数D.嵌套函数答案:A2 4、下面有关重载函数的说法中正确的是()。A.重载函数必须具有不同的返回值类型B.重载函数形参个数必须不同C.重载函数必须有不同的形参列表D.重载函数名可以不同答案:C2 5、在 C+语言中,对函数参数默认值描述正确的是()。A.函数参数的默认值只能设定一个B.一个函数的参数若有多个,则参数默认值的设定可
11、以不连续0.函数必须设定默认值D.在设定参数的默认值后,该参数后面定义的所有参数都必须设定默认值答案:D2 6、考虑函数原型vo i d t e s t (i n t a,i n t b=7,cha r z=*),下面的函数调用中,属于不合法调用的是()。A.t e s t ;B.t e s t (5,8);0.t e s t(6,;D.t e s t(0,0,*);答案:C2 7、以下对C+函数的有关描述中,正确的是()。A.C调用函数时,只能把实参的值传给形参,形参的值不能传递给实参B.C+函数既可以嵌套定义又可以递归调用C.函数必须有返回值,否则不能使用函数D.C+程序中有调用关系的所有
12、函数必须放在同一源程序文件中答案:A2 8、在 C+语言中函数返回值的类型是由()决定的。A.调用该函数时系统临时B.r e t ur n 语句中的表达式类型C.定义该函数时所指定的函数类型D.调用该函数时的主调函数类型答 案:C2 9、以下程序的输出结果是()。i n t f un c(i n t a,i n t b)r e t ur n a+b;i n t m a i n ()i n t x=6,y=7,z-8,r;尸f un c(f un c(x,y),z-);co utre n d I;A.15B.2 0C.2 1D.3 1答案:C3 0、以下程序的输出结果是()。vo i d f u
13、n(i n t a,i n t b,i n t c)a=4 5 6;b=5 6 7;c=6 7 8;i n t m a i n ()i n t x=10,y=2 0,z=3 0;f un(x,y,z);co utz,y,Se t VaIu e(5 0)D.pt r -n=5 0答案:C分值:2难度:1知识点:评析:2、类 My C l as s 的定义如下:cI as s My C l as s(pu b Ii c:My C l as s O(v al u e=0;)s e t Var i abIe (i n t i)(v aIu e=i;)pr i v at e:i n t v al u e
14、;);则以下各项对如下语句序列的描述中,正确的是()。My C l as s *p,m y;p=&m y;A.语句 p=&m y;”是把对象m y 赋值给指针变量pB.语句My C l as s *p,m y;”会调用两次类My C l as s 的构造函数C.对语句”*p.Se t Var i abl e ”的调用是正确的D.语句p-Se t Var i abIe(5)”与语句m y.Se t Var i abl e ”等价答案:D分值:2难度:1知识点:评析:3、下面类的定义,有()错 误。c i as s My C l as s i n t i=0;pu b Ii c:v o i d M
15、y C I as s();My C l as s (i n t VaIu e);A.1B.2C.3D.4答案:C分值:2难度:1知识点:评析:4、定义析构函数时,应该注意()。A.其名与类名完全相同B.返回类型是void类型C.无形参,也不可重载D.函数体中必须有delete语句。答案:C分值:2难度:1知识点:评析:5、构造函数不具备的特征的是()。A.构造函数的函数名与类名相同B.构造函数可以重载C.构造函数可以设置默认参数D.构造函数必须指定返回类型答案:D分值:2难度:1知识点:评析:6、类的析构函数是在()被自动调用的。A.类创建时B.创建对象时C.删除对象时D.不自动调用答案:C分
16、值:2难度:1知识点:评析:7、对于任何一个类,析构函数最多有()个。A.0B.1C.2D.4答案:B分值:2难度:2知识点:评析:8、通常,拷贝构造函数的参数是()。A.某个对象名B.某个对象的引用名C.某个对象的成员名D.某个对象的指针名答案:B分值:2难度:1知识点:评析:9、面向对象程序设计中的数据隐藏指的是()。A.输入数据必须输入保密口令B.数据经过加密处理C.对象内部数据结构上建有防火墙D,对象内部数据结构的不可访问性答案:D分值:2难度:1知识点:评析:10、下列关于类的访问权限的描述中,错误的是(A.说明为公有的成员可以被程序中的任何代码访问B.说明为私有的成员只能被类的成员
17、和说明为友元类的成员函数访问C.说明为保护的成员,除了能被本身的成员函数和说明为友元类的成员函数访问外,该类的派生类的成员也可以访问D.类的所有成员都可以被程序中的任何代码访问答案:D分值:2难度:1知识点:评析:11、一个类的友元函数或友元类可以访问该类的()。A.私有成员B.保护成员C.公有成员D.所有成员答案:D分值:2难度:1知识点:评析:1 2、下列关于成员函数特征的描述中,错误的是()。A.成员函数一定是内联函数B.成员函数可以重载C.成员函数可以设置参数的默认值D.成员函数可以是静态的答案:A分值:2难度:1知识点:评析:1 3、下面对类中静态数据成员的描述中,正确的是()。A.
18、静态数据成员是类的所有对象共享的数据B.类的每个对象都有自己的静态数据成员C.类的不同对象有不同的静态数据成员D.静态数据成员不能通过类的对象调用答案:A分值:2难度:1知识点:评析:1 4、C+中对于类中定义的成员,其默认的访问权限为()。A.pu b I i cB.pr o t e ct e dC.pr i v at eD.s t at i c答案:c分值:2难度:1知识点:评析:1 5、类的析构函数的作用是()。A.作为类的一般成员函数B.类的初始化C.对象的初始化D.对象扫尾处理答案:D分值:2难度:1知识点:评析:1 6、若有一个M y C I a s s 类,则执行语句 M y C
19、 I a s s,a,b (2),*p;后,自动调用该类的构造函数()次。A.2B.3C.4D.5答案:A分值:2难度:1知识点:评析:1 7、C+对 C语言作了很多改进,即从面向过程变成为面向对象的主要改进是()A.增加了一些新的运算符B.允许函数重载,并允许设置缺省参数C.规定函数说明符必须用原型D.引进了类和对象的概念答案:D分值:2难度:1知识点:评析:1 8、类 M y C l a s s 的定义如下:c I a s s M y C l a s s(p u b I i c:M y c l a s s O M y C l a s s(i n t i)v a I u e=n e w i
20、n t (i);)i n t*v a l u e;);若要对v a l u e 赋值,则下面语句正确的是()。A.M y C l a s s m y;m y.v a I u e=1 0;B.M y C l a s s m y;*m y.v a l u e=1 0;C.M y C l a s s m y;m y.*v a l u e=1 0;D.M y C l a s s m y(1 0);答 案:D分值:2难度:1知识点:评析:1 9、下面是对类M y C l a s s 的定义,对定义中语句描述正确的是()。c I a s s M y C l a s s(p u b I i c:v o i
21、d M y C I a s s (i n t a)X=a;/i n t f (i n t a,i n t b)(X二 a;Y二 b;i n t f (i n t a,i n t br i n t c=0)/(X=a;Y二 b;Z=c;)s t a t i c v o i d g()X=1 0;/p r i v a t e:i n t X,Y,Z;;A.语句是类M y C I a s s的构造函数定义B.语句是类和语句实现类成员函数的重载0.语句实现对类成员变量X的更新操作D.语句、和都不正确答案:D分值:2难度:1知识点:评析:2 0 类 a C l a s s 的定义如下:c l a s s
22、 a C I a s s p u b I i c:a C I a s s ()a C I a s s (i n t i)v a l u e 二 n e wi n t (i);i n t *v a I u e;若要对类中的v a I u e赋值,则下面的语句中,正 确 的 是()。A.a C I a s s m y;m y.v a I u e =1 0;B.a C I a s s m y;*m y.v a I u e =1 0;C.a C I a s s m y;m y.*v a I u e =1 0;D.a C I a s s m y (1 0);答案:D分值:2难度:1知识点:评析:2 1、
23、对于下面定义的类M y C l a s s,在函数f ()中将对象成员n的值修改为5 0的语句(划线处)应 该 是()。c I a s s M y C l a s sp u b I i c:M y C I a s s (i n t x)n二x;)v o i d S e t V a I u e(i n t n 1)n=n 1 ;p r i v a t e:i n t n;);i n t f()M y C l a s s *p t r=n e w M y C l a s s(4 5);)A.M y C l a s s(5 0)B.S e t V a l u e(5 0)C.p t r -S e t
24、 V a I u e(5 0)D.p t r -n=5 0答案:C分值:2难度:1知识点:评析:2 2、类M y C l a s s的定义如下:c I a s s M y C l a s s(p u b I i c:M y C l a s s ()v a I u e=0;)s e t V a r i a b I e (i n t i)(v a I u e=i;)p r i v a t e:i n t v a l u e;);则以下各项对如下语句序列的描述中,正确的是().。M y C l a s s *p ,m y;p =&m y;A.语句 p =&m y;”是把对象m y赋值给指针变量pB.
25、语句M y C l a s s *p ,m y;”会调用两次类M y C l a s s的构造函数C.对语句”*p.S e t V a r i a b l e (5)”的调用是正确的D.语 句 p -S e t V a r i a b l e(5)与语句m y.S e t V a r i a b I e (5)”等价答案:D分值:2难度:1知识点:评析:2 3、类的析构函数是在()被自动调用的?A.类创建时B.创建对象时C.删除对象时D.不自动调用答案:C分值:2难度:1知识点:评析:24、对于任何一个类,析构函数最多有()个。A.0B.1C.2D.3答案:B分值:2难度:1知识点:评析:25
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- C+ 程序设计 题库 答案
![提示](https://www.taowenge.com/images/bang_tan.gif)
限制150内