C++程序设计考试题库附答案.docx

上传人:无*** 文档编号:68461437 上传时间:2022-12-27 格式:DOCX 页数:152 大小:151.99KB
返回 下载 相关 举报
C++程序设计考试题库附答案.docx_第1页
第1页 / 共152页
C++程序设计考试题库附答案.docx_第2页
第2页 / 共152页
点击查看更多>>
资源描述

《C++程序设计考试题库附答案.docx》由会员分享,可在线阅读,更多相关《C++程序设计考试题库附答案.docx(152页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。

1、【章节】第1章C+基础知识1、在C+中,源程序变为可执行程序的正确顺序应该是()。A.编辑、链接、编译、执行 B.编辑、编译、链接、执行C.编译、编辑、链接、执行D.编译、链接、编辑、执行答案:B分值:2难度:1知识点:1评析:2、要把高级语言编写的源程序转换为目标程序,需要使用()。A.编辑程序B1驱动程序C.调试程序D.编译程序答案:D分值:2难度:13、下列关于C+与C语言的关系描述中,错误的是()。A. C语言是C+语言的个子集B. C+与C语言是兼容的C. C+对C语言进行了一些改进D. C+和C语言都是面向对象的答案:D4、下面为使用面向对象语言的正确理由是().A.面向对象程序由

2、三种基本结构组成,分别是顺序结构、选择结构和循环结构B.程序语句比面向过程语言简单C.面向对象程序设计可以设计为自行修改错误D,面向对象程序很容易概念化答案:D分值:2难度:1知识点:评析:5、以下选项中,合法的用户标识符是()。A. longB. _2TestC. 3DmaxD. A.dal答案:B分值:2难度:1知识点:评析:6、下列描述中正确的是().A.不是每个C+程序都必须包含预处理命令#includeE. C+程序必须有return语句F. C+程序中的变量必须定义在主程序内部G. C+程序中所使用的符号常量可以不进行定义答案:A分值:2难度:I知识点:评析:7、C+源程序文件的扩

3、展名为()。A. .CPPB. CC. .DLLD. .EXE答案:A分值:2难度:1知识点:评析:8, cout是10流库预定义的()。A.类B.对象C.包含文件D.常量答案:B分值:2难度:1知识点:评析:9、C+对C语言作了很多改进,即从面向过程变成为面向对象的主要原因是()。A.增加了一些新的运算符B,允许函数重载,并允许设置缺省参数C.规定函数说明符必须用原型D.引进了类和对象的概念答案:D分值:2难度:1知识点:评析:10下列选项中,()是不合法的标识符.A. ProgramB. Obj23C. doubleD. B_C_D答案:c分值:2难度:1知识点:评析:11、下列标识符中,

4、不合法的用户标识符为()。E. a!F. _intG. a_10H. PAd答案:A分值:2难度:1知识点:评析:12、只能向终端输出个字符的函数是()。A. pringf 函数B. putchar 函数C. getchar 函数D. scanf 函数答案:B分值:2难度:I知识点:评析:13、如果有整型量intx = 5,执行情况x+=1.9后x的值为()A. 6B. 7C.结果不确定D.表达式非法答案:A分值:2难度:1知识点:评析:14、已知 a=5,b=3,表达式 a+=a*=+b*3 的值为( )。A. 40B. 80C. 100D. 120答案:D分值:2难度:1知识点:评析:15

5、、下列语句彼此等价的是()。A. !(a O)和!(a 0)B. !(a = b)和(a b) & (a 10) | (a )和(a = 0)D. !(ab)和 a定义如下变量:inti=2;intj=3;则i的结果为()。A. 0.66667B.0C. 0.7D. 0.6666666666.答案:B分值:2难度:1知识点:评析:17、下面表达式的值为false的是()。A. 1 3 & 5 4)C. !(5 8) | (2 设 int a=3,b=4,c=5;表达式(a+b) c&b=c 的值是()A. 2B. -1C. 0D. 1答案:C分值:2难度:1知识点:评析:19、下列符号中,不是

6、分隔符的是()。A.;B.()c. /D. )答案:C分值:2难度:1知识点:评析:20、在C+语言中,自定义的标识符()。A.能使用关键字并且不区分大小写B,不能使用关键字并且不区分大小写C.能使用关键字并且区分大小写D,不能使用关键字并且区分大小写答案:D分值:2难度:1知识点:评析:21、字符串常量ME”的字符个数是()。A. 4B. 3C. 2D. 1答案:B分值:2难度:1知识点:评析:22、C+语言可执行程序从()开始执行。A.程序中第一条可执行语句E. x=0, y=0,z=0C.程序中的main函数D,包含文件中的第一个函数答案:C分值:2难度:1知识点:评析:23、下列符号中

7、,不是分隔符的是().A.;B.F. G. )答案:B分值:2难度:1知识点:评析:24.在C+语言中,自定义的标识符()。A.能使用关键字及标准标识符B.不能使用关键字并且不区分大小写C.能使用关键字并且区分大小写D,不能使用关键字并且区分大小写答案:D分值:2难度:I知识点:评析:25、在C+语言里,一条语句以()字符作为结束符。A.,B.;C.D.无符号答案:B分值:2难度:1知识点:评析:26、设以下变量都是int类型,则值不等于7的表达式是()。A. x=y=6,x+y,x+lB. x=y=6,x+y,y+lC. x=6,x+1 ,y=6,x+yD. y=6,y+l,x=y,x+l答

8、案:C分值:2难度:1知识点:评析:27、x=l,y=l,z=l,执行表达式 w=+x|+y&+z 后,x、y、z 的值分别为()。E. x=2, y=l, z=lF. x=2, y=2, z=2G. x=l, y=l, z=lH. x=2, y=2, z=l答案:A分值:2难度:1知识点:评析:28、用逻辑表达式表示“大于10而小于20的数”,正确的是()。A. 10x 10|x10&x20D. !(x =20)答案:D分值:2难度:1知识点:评析:29 设 int a = 10, b = 11, c = 12:表达式(a + b) c & b = = c 的值是()A. 2B.OC. -2

9、D. 1答案:B分值:2难度:1知识点:评析:30、整型变量i定义后赋初值inti = 2.8 *6的结果是()。A. 12B. 16C. 17D. 18答案:B分值:2难度:I知识点:评析:31、在C语言中合法的字符型常量是()。A.抽B. AC. 65D. a答案:A分值:2难度:1知识点:评析:32、C+语言程序的基本单位是()。A.程序行B.语句C.函数D.字符答案:B33、下列C+运算符中,优先级最高的是()。A. + (双目)B. * (单目)C. =D. *=答案:B分值:2难度:1知识点:评析:34、在32位计算机中,个int型数据所占用的内存长度为多少字节()。A. 2B.

10、4C. 6D. 8答案:B分值:2难度:1知识点:评析:35.若变量a是int型,并执行了语句:a= A +1.6;,则正确的叙述是()。A. a的值为字符CB. a的值为浮点型C.不允许字符型和浮点型数据相加D. a的值为字符A的ASCII值加1答案:D分值:2难度:1知识点:评析:36、下列十六进制整型常量的写法中,正确的是()。E. OxafF. 2TOxG. 021bH. OxAE答案:D分值:2难度:1知识点:评析:37、C+对C语言作了很多改进,即从面向过程变成为面向对象的主要改进是()A.增加了一些新的运算符B,允许函数重载,并允许设置缺省参数C.规定函数说明符必须用原型D.引进

11、了类和对象的概念答案:D分值:2难度:1知识点:评析:38、下列符号属于C+语言用户标识符的是().A. DOB. ifC. voidD. switch答案:A分值:2难度:1知识点:评析:39、任意个类,析构函数的个数最多是()A,不限个数B. 1C. 2D. 3答案:B分值:2难度:1知识点:评析:40、()函数是Windows应用程序开始执行时的入口点。A. WinMain ()B. Win ()C. Main ()D. Windows ()答案:A分值:2难度:1知识点:评析:41、下列数据中不合法的C+实数是()A. 3e-5B. .6C.5.D. 6答案:D分值:2难度:1知识点:

12、评析:42、下列数据中合法的C+字符常量是(A. asB.C. ”23,D.答案:D分值:2难度:1知识点:评析:43、表达式33/5的结果为 A. 6B. 6.6C. 7D,以上都不对答案:A分值:2难度:】知识点:评析:44、下列符号属于C+语言用户标识符的是(A. voidB. templateC. IFD. switch答案:C分值:2难度:】知识点:评析:45、以下所列的C+语言常量中,错误的是()。A. OxFFB. 1.2e0.5C. 2LD. 721答案:B分值:2难度:1知识点:评析:46、若 x=4,则 x*=x+2 的值为()A. 36B. 24C. 18D. 20答案:

13、B分值:2难度:】知识点:评析:47、以下运算符中,运算对象必须是整型的是()。A./B. %=C. !=D. =答案:B分值:2难度:1知识点:评析:48、能將数学表达式a=c=b表示为正确的C+表达式的是()。 A.a=c=bB. c=bC.c=a & c=a | c以下选项中,与k=n+完全等价的表达式是()。A. k=n?n=n+lB. n=n+l,k=nC.k=+nD. k+=n+l答案:A分值:2难度:1知识点:评析:【程序阅读】1、定义如下变量和数组:inti;intx33 = 12,3,4,5,6,7,8,9; 则语句 for(i = 0;i3;i+)coutvvxil;的执行

14、结果是 答案:258分值:4难度:1 知识点:评析:2、以下程序的输出结果是 #includeusing namespace std; ini main() (int a = 7, b = 4, c = 6, d;cout (d = a b ? (a c? a : c):(b); )答案:7分值:4难度:1【章节】第2章基本控制结构程序设计1,结构化程序设计所规定的三种基本控制结构是()。A.顺序结构、选择结构、循环结构B.输入、输出、处理C. for、while、switchD,主程序、子程序、函数答案:A分值:2难度:1 知识点:评析:2、当执行以下程序段时,循环体将执行().int ma

15、in() (int y = 1;do( y-; while (-y); A. 一次B.两次C,无限次D.系统将提示有语法错误 答案:C 分值:2 难度:1知识点:评析:3. while(!x)中的(!x)与下面()条件等价.A.x=lB.x!=lC. x!=0D.x=0答案:D4,下面程序的输出结果是()。#includeusing namespace std;int main()(int x = 4;docout (x -= 3 ) endl;while(x);)D. 1E. I 和一3F. 2 和。D.死循环答案:A分值:2难度:1知识点:评析:5,下列语句段将输出字符*的个数为().in

16、t i = 100;while(l)(i -;if ( i=0) break;coutG. 98 个H. 99 个I. 100 个J. 10I 个答案:B分值:2难度:1知识点:评析:6、t为int类型,进入循环while(t=l)之前,t的值为。则以下叙述中,正确的是()。A,循环控制表达式的值为0B,循环控制表达式的值为1C,循环控制表达式不合法D.以上说法都不对答案:B分值:2难度:】知识点:评析:7、为了避免在嵌套的条件语句if.else中产生歧义,C+规定的if.else语句的匹配原则是 ( )。A.else子句与所排位置相同的if配对B.else子句与其之前最近的if配对C.els

17、e子句与其之后最近的if配对D.else子句与同一行上的if配对答案:B分值:2难度:1知识点:评析:8、x = O;for(i = 0; i 99; i+) if(i) x+;执行完程序段后,x 的值是().K. 0L. 30M. 98N. 90答案:C分值:2难度:1知识点:评析:9,下列程序的输出结果是()。#include using namespace std;void main() ini x = 1, a = 0, b = 0;switch(x)(case 0 : b+;case 1 : a+;case 2 : a+; b+;)cout a= a b= b ;A. a=2 b=

18、1B. a=l b=lC. a=l b=0D. a=2 b=2答案:A分值:2难度:1知识点:)是正确的。评析:10、下列给字符数组进行初始化的语句中,(A. char sl=nabcdn;B.chars23=,xyzn;C.char s3=a;x,y ;D.char s423=,xyz,;mnpn;答案:A分值:2难度:1知识点:评析:11、下列程序段中循环体执行的次数为( ) int k=10; while (k=l)k=k-l;A,循环体语句次都不执行B.循环体语句执行无数次C.循环体语句执行次D.循环体语句执行9次答案:A分值:2难度:1知识点:评析:12、执行以下程序段后,变量i的值

19、为()。int i=2;switch (i) case 1: i+=10;case 2: i+=10;case 3: i+; break; default : i+; break; A. 24B. 14C. 12D. 13答案:D分值:2难度:I知识点:评析:13、C+语言中规定,if语句的嵌套结构中,else总是与()配对。A.与最近的if配套B.与第一个if配套C.与缩进位置相同的if配套D.与最近的且尚未配对的if配套答案:D分值:2难度:1【程序阅读题】1、写出以下程序的输出结果#includeusing namespace std;int main()(int a = 7, b =

20、4, c = 6, d;cout (d = a b ? (a c? a : c):(b);)答案:7分值:4难度:1知识点:评析:2、写出以下程序的输出结果#include using namespace std;int main()(int a = 0,i;for(i = 1; i5; i+)(switch(i)(case 0:case 3: a + = 2;case 1:case 2: a += 3;default: a += 5;cout a endl;return 0;3142答案: 分值: 难度: 知识点:评析:1、打印出所有的水仙花数。(所谓水仙花数是指个三位数,其各位数字立方和等

21、于该数本 身)答案:pa201.c#include using namespace std; void main()int n,a,b,c;for(n=100;n1000;n+) a=n%10;b=n/10%10;c=n/100;if (a*a*a+b*b*b+c*c*c=n) coutn,t,;结果:结果文件名。可选,程序输入结果文件。没有输出文件则为src另起一行屏幕显 示结果。素材:分值:10难度:知识点:评析:2,输入100到200之间的所有素数。(所谓素数是指除了 1和它本身外,不能被其他数所整 除的数)答案:pa202.c#includeusing namespace std;vo

22、id main()int m;for(m= 100;m=200;m+) if(prime(m) coutm,t,;int prime(int m)int i,k=l;if(m=l) k=0;for(i=2;im;i+)if(m%i=O) k=0;return k;)结果。素材:分值:10难度:知识点:评析:3、打印如下图形:* *答案:pa203.c#include using namespace std; int main()int i,j;for (i=l;i=4;i+)for(j=l;j=4-i;j+)coutwfor(j=l,j=2*i-l;j+)cout*;coutendl;retu

23、rn 0;结果。素材: 分值:10【章节】第3章函数【知识点】1、C+函数的相关知识2、函数定义与函数的调用3、内联函数与函数重载【单选题】1、在Visual Bacic中,要使个窗体不可见,但不从内存中释放,应使用的语句是()。A. ShowB. HideC. LoadD. Unload答案:B难度:1分值:2知识点:1评析:1、若有以下函数调用语句,在此函数调用语句中实参的个数是()。fun(a+b,(y= 10,y),fun(n,k,d);A. 3B. 4C. 5D. 6答案:A分值:2难度:1知识点:评析:2、以下程序的运行结果是()。int main() int k=4,m=l,p;

24、p=func(k,m);coutpendl;p=func(k,m);coutpendl;1func(int a,int b) static int m,i=2;i+=m+l;m=i+a+b;retum(m);)A. 8,17B. 8,16C. 8,20D. 8,8答案:A分值:2难度:1知识点:评析:3 .以下函数调用语句中,含有的实参个数是().func(recl,rec2 +I,(rec3,rec4);A. 3B. 4C. 5D,有语法错误答案A4 .分析如下程序:#include int f(int b,int n)int i,r=l;for(i=0;i=n;i+)r=r*bi;retu

25、rn r;void main()int x,a2,3,4,5,6,7,8,9;x=f(a,3);coutxendl;上面程序的输出结果是()A. 720B. 120C. 24D. 6答案:B分值:2难度:1知识点:评析:5、下列函数参数默认值定义错误的是()。E. Fun(int x, int y=0)F. Fun(intx= 100)G. Fun(int x = 0, int y)H. Fun(int x = f()(假定函数f()已经定义)答案:C分值:2难度:1知识点:评析:6、在函数定义前加上关键字“inline”表示该函数被定义为()A.重载函数B.内联函数C.成员函数D.普通函数答

26、案:B分值:2难度:1知识点:评析:7, 个函数功能不太复杂,但要求被频繁调用,选用()。A.内联函数B.重载函数C.递归函数D.嵌套函数答案:A分值:2难度:1知识点:评析:8、下面有关重载函数的说法中正确的是()。A.重载函数必须具有不同的返回值类型B.重载函数形参个数必须不同C,重载函数必须有不同的形参列表D,重载函数名可以不同答案:C分值:2难度:1知识点:评析:9,在C+语言中,对函数参数默认值描述正确的是()。A.函数参数的默认值只能设定一个8, 个函数的参数若有多个,则参数默认值的设定可以不连续C.函数必须设定默认值D.在设定参数的默认值后,该参数后面定义的所有参数都必须设定默认

27、值答案:D分值:2难度:1知识点:评析:10、考虑函数原型void test(inta,intb=7,charz=*),下面的函数调用中,属于不合法调用的是A. test(5);B. test(5,8);C. test(6;#);D. test(O,O,*);答案:C分值:2难度:1知识点:评析:1k以下对C+函数的有关描述中,正确的是()。A. C调用函数时,只能把实参的值传给形参,形参的值不能传递给实参B. C+函数既可以嵌套定义又可以递归调用C.函数必须有返回值,否则不能使用函数D. C+程序中有调用关系的所有函数必须放在同一源程序文件中答案:A分值:2难度:1知识点:评析:12、在C+

28、语言中函数返回值的类型是由()决定的。A,调用该函数时系统临时8. return语句中的表达式类型C,定义该函数时所指定的函数类型D.调用该函数时的主调函数类型答案:C分值:2难度:1知识点:评析:13、以下程序的输出结果是()。int func(int a,int b) return a+b;int main() int x=6,y=7,z=8,r;r=func(func(x,y),z);coutrendl;)A. 15B. 20C. 21D. 31答案:c分值:2难度:1知识点:评析:14、以下程序的输出结果是()。void fun(int a,int b,int c) a=456;b=5

29、67;c=678;int main() int x=10,y=20,z=30;fun(x,y,z);coutz,7,y,7,xendl;A. 30,20,10B. 10,20,30C. 456,567,678D. 678,567,456答案:A分值:2难度:1知识点:评析:15、C+语言中,形参与实参之间的数据传递方式是()。A,只能按值传递B.只能按地址传递C,既可以按值传递也可以按地址传递D.以上说法都不对答案:C分值:2难度:1知识点:评析:16、分析以下程序:#include void fun(int num) coutnumendl;void fun(char ch) cout(ch

30、+ l)endl;int main()fun(A);return 0;I以上程序的输出结果是()。A. 65B. 66C. AD. B答案:B分值:2难度:1知识点:评析:17、个函数为 void f(int x, char y = a),另一个函数为 void f(int),则它们()A.不能在同一程序块中定义B.可以在同一个程序块中定义并可重载C.可以在同一个程序块中定义,但不可以重载D.以上说法均不正确答案:A分值:2难度:1知识点:评析:18、函数定义为Fun(int&i),变量定义n= 100,则下面调用正确的是()。A. Fun(20)B. Fun(20 + n)C. Fun(n)

31、D. Fun(&n)答案:C分值:2难度:1知识点:评析:19、当个函数无返回值时,函数的类型应为()。A,任意B. voidC. intD. char答案:B分值:2难度:1知识点:评析:20、下列带缺省值参数的函数说明中,正确的说明是()。A. int Fun(int x,int y=2,int z=3);B. int Fun(int x=l,int y,int z=3);C. int Fun(int x,int y=2,int z);D. int Fun(int x=l,int y,int z=3);答案:A分值:2难度:1知识点:评析:21、下列函数参数默认值定义错误的是()。A. F

32、un(int x, int y=0)B. Fun(intx= 100)C. Fun(int x = 0, int y)D. Fun(int x = f()(假定函数f()已经定义)答案:C分值:2难度:1知识点:评析:22、在函数定义前加上关键字“inline”表示该函数被定义为()。A.重载函数B.内联函数C.成员函数D.普通函数答案:B分值:2难度:1知识点:评析:23、个函数功能不太复杂,但要求被频繁调用,选用()。A.内联函数B.重载函数C,递归函数D.嵌套函数答案:A分值:2难度:1知识点:评析:24、下面有关重载函数的说法中正确的是()A.重载函数必须具有不同的返回值类型B.重载函

33、数形参个数必须不同C,重载函数必须有不同的形参列表D,重载函数名可以不同答案:C分值:2难度:1知识点:评析:25、在C+语言中,对函数参数默认值描述正确的是()。A.函数参数的默认值只能设定一个8. 个函数的参数若有多个,则参数默认值的设定可以不连续C.函数必须设定默认值D.在设定参数的默认值后,该参数后面定义的所有参数都必须设定默认值答案:D分值:2难度:1知识点:评析:26、考虑函数原型void test(int a,int b=7,char z=*),下面的函数调用中,属于不合法调用的是( )。A. test(5);B. test(5,8);C. test(6;#);D. test(。

34、,*);答案:C分值:2难度:1知识点:评析:27、以下对C+函数的有关描述中,正确的是()。A. C调用函数时,只能把实参的值传给形参,形参的值不能传递给实参B. C+函数既可以嵌套定义又可以递归调用C.函数必须有返回值,否则不能使用函数D. C+程序中有调用关系的所有函数必须放在同一源程序文件中 答案:A 分值:2 难度:1 知识点: 评析:28、在C+语言中函数返回值的类型是由()决定的。A.调用该函数时系统临时8. return语句中的表达式类型C.定义该函数时所指定的函数类型D,调用该函数时的主调函数类型答案:C分值:2难度:1知识点:评析:29、以下程序的输出结果是()。int f

35、unc(int a,int b) return a+b;int main() int x=6,y=7,z=8,r;r=func(func(x,y),z);coutrendl;A. 15B. 20C. 21D. 31答案:C分值:2难度:1知识点: 评析:30、以下程序的输出结果是()。void fun(int a,int b,int c) a=456;b=567;c=678; int main() int x=10,y=20,z=30;fun(x,y,z);coutz,y,7,xendl; A. 30,20,10B. 10,20,30C. 456,567,678D. 678,567,456答案

36、:A 分值:2 难度:1 知识点:评析:【程序阅读、分析题】1、写出下面程序的运行结果#include using namespace std;int fun(int n)(static int m=2;m=m+n;return m;)int main()(int a=3,b=4;int x;x=fun(a);x=fun(b);coutxendl;return 0;答案:9分值:4难度:3知识点:评析:2、写出以下程序的输出结果#include using namespace std;void fun() static int a=0;a+=2;couta;int main() int cc;

37、for(cc=l ;cc4;cc+)fun();coutendl;return 0;答案:246分值:4难度:3知识点:评析:3、阅读下面程序:#include using namespace std;long fib(int n) if(n2)return (fib(n-l)+fib(n-2);elsereturn 2;1int main() coutfib( 3)end 1;return 0;)则程序的输出结果是:答案:4分值:4难度:1知识点:评析:4、写出程序运行的结果。#include using namespace std;int i=l;int main(void)(int a=

38、3;int b=-10;static int c=O;void other(void);coutMMAINn;coutM i: Mi,r a: ,a4-+H b: nbu c: Mcendl;c=c+8; other();coui ”一MAINn“;cout i: ,if a: n4-+a b: Hb c: Hcendl;i=i+10; other();system(pause);return 0;void other(void)(static int a=2;static int b;int c=10;a+=2; i+=30; c+=5;coutMOTHERn;cout i: r,in a:

39、b: ,b, c: cendl;b=a;答案:-MAIN一i: 1 a: 3 b: -10 c: 0-OTHERi: 31 a: 4 b: 0 c: 15-MAIN一i: 31 a: 5 b: -10 c: 8-OTHERi: 71 a: 6 b: 4 c: 15分值:4难度:4知识点:评析:5、写出下列程序的运行结果。#include using namespace std;int fun(int x) if(x = 1)(return 1;1elsereturn x * fun(x - 1);int main()(int n;n = fun(4);cout n endl;return 0;答

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 教育专区 > 教案示例

本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

工信部备案号:黑ICP备15003705号© 2020-2023 www.taowenge.com 淘文阁