C++程序设计题库及答案.docx
![资源得分’ 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++程序设计题库及答案.docx》由会员分享,可在线阅读,更多相关《C++程序设计题库及答案.docx(77页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
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语言都是面向对象的答案:D4、
2、下面为使用面向对象语言的正确理由是()。A.面向对象程序由三种基本结构组成,分别是顺序结构、选择结构和循环结构B.程序语句比面向过程语言简单C.面向对象程序设计可以设计为自行修改错误D.面向对象程序很容易概念化答案:D5、以下选项中,合法的用户标识符是()。A. longB. _2TestC. 3DmaxD. A. dat答案:B6、下列描述中正确的是()A.不是每个C+程序都必须包含预处理命令#includeB. C+程序必须有return语句C. C+程序中的变量必须定义在主程序内部D. C+程序中所使用的符号常量可以不进行定义答案:A7、C+源程序文件的扩展名为()。A. .CPPB.
3、.CC. .DLLD. . EXE答案:A8、cout是10流库预定义的()A.类E. 对象C,包含文件D.常量答案:B9、C+对C语言作了很多改进,即从面向过程变成为面向对象的主要原因是()。A.增加了一些新的运算符B,允许函数重载,并允许设置缺省参数C.规定函数说明符必须用原型D,引进了类和对象的概念答案:D10、下列选项中,()是不合法的标识符.A. ProgramB. 0bj23C. doub I eD. B_C_D答案:C11、下列标识符中,不合法的用户标识符为()。A. a!B. _intC. a_10D. PAd答案:A12、只能向终端输出个字符的函数是()。A. pringf
4、函数B. putchar 函数C. getchar 函数D. scanf 函数答案:B13、如果有整型量int x = 5,执行情况x +:1.9后x的值为()。A. 6B. 7C.结果不确定D,表达式非法答案:A14、已知 a=5, b=3,表达式 a+=a=+b*3 的值为()。A. 40B. 80C. 100D. 120答案:D20、在C+语言中,自定义的标识符()。A.能使用关键字并且不区分大小写B.不能使用关键字并且不区分大小写C.能使用关键字并且区分大小写D.不能使用关键字并且区分大小写答案:D32、C+语言程序的基本单位是()。A.程序行B.语句C,函数D.字符答案:B38、下列
5、符号属于C+语言用户标识符的是()A. D0B. ifC. voidD. switch答案:A39、任意一个类,析构函数的个数最多是()A,不限个数B. 1C. 2D. 3答案:B【章节】第3章函数【知识点】1、C+函数的相关知识2、函数定义与函数的调用3、内联函数与函数重载【单选题】1、若有以下函数调用语句,在此函数调用语句中实参的个数是()。fun (a+b, (y=10, y), fun (n, k, d);A. 3B. 4C. 5D. 6答案:A2、以下程序的运行结果是()。func(int a, i nt b) static int m, i=2;i+=m+1;m=i+a+b;ret
6、urn(m);) int ma i n () int 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 (red, rec2 +1, (rec3, rec4);A. 3B. 4C. 5D.有语法错误 答案A4 .分析如下程序:#i ncIude int f (int b, int n) i nt i, r=1;for(i=0;i=n;i+)r=r*bi; return r;)void ma
7、inO int x, a=2, 3, 4, 5, 6, 7, 8, 9;x=f (a, 3);coutxend I;上面程序的输出结果是()。A. 720B. 120C. 24 D. 6答案:B5、下列函数参数默认值定义错误的是()。D. Fun(int x, int y=0)E. Fun (i nt x = 100)F. Fun (i nt x = 0, int y)G. Fun(int x = f()(假定函数f()已经定义)答案:C6、在函数定义前加上关键字“inline”表示该函数被定义为()。A.重载函数B.内联函数C.成员函数D.普通函数答案:B7、个函数功能不太复杂,但要求被频繁
8、调用,选用()。A.内联函数B.重载函数C,递归函数D.嵌套函数答案:A8、下面有关重载函数的说法中正确的是()。A.重载函数必须具有不同的返回值类型B.重载函数形参个数必须不同C.重载函数必须有不同的形参列表D,重载函数名可以不同答案:C9、在C+语言中,对函数参数默认值描述正确的是()。A.函数参数的默认值只能设定一个B. 一个函数的参数若有多个,则参数默认值的设定可以不连续C,函数必须设定默认值D.在设定参数的默认值后,该参数后面定义的所有参数都必须设定默认值答案:D10、考虑函数原型void test (int a, int b=7, char z*),下面的函数调用中,属于不合 法调
9、用的是A. test (5);B. test (5, 8);C. test(6, #);D. test (0, ,*);答案:C11、以下对C+函数的有关描述中,正确的是()A. C调用函数时,只能把实参的值传给形参,形参的值不能传递给实参B. C+函数既可以嵌套定义又可以递归调用C.函数必须有返回值,否则不能使用函数D. C+程序中有调用关系的所有函数必须放在同一源程序文件中答案:A12、在C+语言中函数返回值的类型是由()决定的。A.调用该函数时系统临时B. return语句中的表达式类型C.定义该函数时所指定的函数类型 D.调用该函数时的主调函数类型答案:c13、以下程序的输出结果是()
10、。i nt func(int a, i nt b) return a+b; int ma i n () int x=6, y=7, z=8, r;r=func (func(x, y), z-);coutrend I ;A. 15B. 20C. 21D. 31答案:C14、以下程序的输岀结果是()void fun(int a, int b. int c) a=456;b=567;c=678; i nt ma i n () int x=10, y=20, z=30;fun(x, y, z);cout z , y , x endl ;1A. 30,20,10B. 10, 20, 30C. 456,
11、567, 678D. 678, 567, 456答案:A15、C+语言中,形参与实参之间的数据传递方式是( A.只能按值传递 B,只能按地址传递C,既可以按值传递也可以按地址传递D,以上说法都不对答案:C16、分析以下程序:#i ncIude void fun(int num) coutnumendI;void fun (char ch) cout(ch+1) end I ; i nt mainO (funC A*);return 0;以上程序的输出结果是(A. 65B. 66C. AD. B答案:B17 一个函数为 void f (int x, char y = a),另一个函数为 void
12、 f (int)则它们( )A,不能在同一程序块中定义B,可以在同一个程序块中定义并可重载C.可以在同一个程序块中定义,但不可以重载D.以上说法均不正确答案:A18、函数定义为Fun(int &i),变量定义n = 100,则下面调用正确的是()。A. Fun (20)B. Fun (20 + n)C. Fun (n)D. Fun (&n)答案:C19、当个函数无返回值时,函数的类型应为( )A.任意B. voidC. intD. char答案:B20、下列带缺省值参数的函数说明中,正确的说明是(A.int Fun(intx, int y=2,int z=3);B.i nt Fun (i nt
13、x=1, i nt y,int z=3);C.int Fun(intx, int y=2,int z);D.i nt Fun (i ntx= 1, i nt y,int z=3);答案:A21、下列函数参数默认值定义错误的是()。A. Fun(int x, int y=0)B. Fun(int x = 100)C. Fun(int x = 0, int y)D. Fun(int x = f ()(假定函数f ()已经定义)答案:c22、在函数定义前加上关键字“ inline”表示该函数被定义为()。A.重载函数B.内联函数C.成员函数D.普通函数答案:B23、个函数功能不太复杂,但要求被频繁调
14、用,选用()。A.内联函数B.重载函数 C,递归函数 D.嵌套函数 答案:A 24、下面有关重载函数的说法中正确的是()。A.重载函数必须具有不同的返回值类型B.重载函数形参个数必须不同C.重载函数必须有不同的形参列表D.重载函数名可以不同 答案:C25、在C+语言中,对函数参数默认值描述正确的是()。A.函数参数的默认值只能设定一个 B. 个函数的参数若有多个,则参数默认值的设定可以不连续 C.函数必须设定默认值D.在设定参数的默认值后,该参数后面定义的所有参数都必须设定默认值 答案:D26、考虑函数原型void test(int a, int b=7, char z*),下面的函数调用中,
15、属于不合 法调用的是()。A. test (5);B. test (5, 8);C. test (6,;D. test (0, 0, ,;答案:C27、以下对C+函数的有关描述中,正确的是()。E. C调用函数时,只能把实参的值传给形参,形参的值不能传递给实参 B. C+函数既可以嵌套定义又可以递归调用 C.函数必须有返回值,否则不能使用函数 D. C+程序中有调用关系的所有函数必须放在同一源程序文件中答案:A28、在C+语言中函数返回值的类型是由()决定的。A.调用该函数时系统临时 B. return语句中的表达式类型 C,定义该函数时所指定的函数类型 D.调用该函数时的主调函数类型答案:C
16、29、以下程序的输出结果是()int func(int a, int b) return a+b; int main() i nt x=6, y=7, z=8, r; r=func(func(x, y), z-): coutrend I;A. 15F. 20G. 21H. 31答案:C30、以下程序的输出结果是()。void fun(int a, int b. int c) a=456;b=567;c=678; i nt ma i n () i nt x10, y20, z30;fun(x, y, z);cout z , y ,” x endl ; A. 30,20,10B. 10, 20,
17、30C. 456, 567, 678D. 678, 567, 456答案:A 【章节】第7章类与对象【知识点】1、面向对象程序设计的基本概念2、类定义、属性与行为、访问权限控制,对象的定义、使用3、构造函数与析构函数4、函数重载技术与运算符重载技术5、友元【单选题】1、对于下面定义的类MyClass,在函数f ()中将对象成员n的值修改为50的语句(划线处) 应该是()。cI ass MyCI ass(pub Iic:MyCI ass (int x) void SetValue(int n1) (n=n1 ;)pr i vate:i nt n;);int f()MyClass *ptr=new
18、 MyClass(45):A. MyClass(50)B. SetValue(50)C. ptr - SetVaIue(50)D. ptr - n=50 答案:C 分值:2 难度:1 知识点: 评析: 2、类MyClass的定义如下: cI ass MyClasspub Iic: MyClassO ( vaIue=0; ) setVariable(int i) ( vaIue=i; ) pr i vate: int value; ;则以下各项对如下语句序列的描述中,正确的是()。MyClass *p , my; p = &my;A,语句 p = &my; ”是把对象my赋值给指针变量pB.语句
19、MyClass *p , my;会调用两次类MyClass的构造函数C.对语句”*p. SetVariable(5)”的调用是正确的D. 语句 ” p - SetVar iable(5) n 与语句 n my. SetVar iable (5) n 等价 答案:D 分值:2 难度:1 知识点: 评析: 3、下面类的定义,有()错误。cI ass MyClass i nt i=0;pub I ic: void MyClass () ; MyClass (int Value) ;A. 1B. 2C. 3D. 4答案:C分值:2难度:1知识点:评析:4、定义析构函数时,应该注意()。A.其名与类名完
20、全相同B.返回类型是void类型C.无形参,也不可重载D.函数体中必须有delete语句。答案:C分值:2难度:1知识点:评析:5、构造函数不具备的特征的是()A.构造函数的函数名与类名相同B.构造函数可以重载C.构造函数可以设置默认参数D.构造函数必须指定返回类型答案:D分值:2难度:1知识点:评析:6、类的析构函数是在()被自动调用的。A.类创建时B.创建对象时C,删除对象时D.不自动调用答案:C分值:2难度:1知识点:评析:、对于任何个类,析构函数最多有()个。A. 0B. 1C. 2D. 4答案:B分值:2难度:2知识点:评析:8、通常,拷贝构造函数的参数是()A.某个对象名B.某个对
21、象的引用名C.某个对象的成员名D.某个对象的指针名答案:B分值:2难度:1知识点:评析:9、面向对象程序设计中的数据隐藏指的是()A.输入数据必须输入保密口令B.数据经过加密处理C.对象内部数据结构上建有防火墙D.对象内部数据结构的不可访问性答案:D分值:2难度:1知识点:评析:10、下列关于类的访问权限的描述中,错误的是( 。A.说明为公有的成员可以被程序中的任何代码访问B.说明为私有的成员只能被类的成员和说明为友元类的成员函数访问C.说明为保护的成员,除了能被本身的成员函数和说明为友元类的成员函数访问外,该 类的派生类的成员也可以访问D.类的所有成员都可以被程序中的任何代码访问答案:D分值
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- C+ 程序设计 题库 答案
![提示](https://www.taowenge.com/images/bang_tan.gif)
限制150内