C++复习题(全部答案).doc

上传人(卖家):2023DOC 文档编号:5545506 上传时间:2023-04-24 格式:DOC 页数:33 大小:265KB
下载 相关 举报
C++复习题(全部答案).doc_第1页
第1页 / 共33页
C++复习题(全部答案).doc_第2页
第2页 / 共33页
C++复习题(全部答案).doc_第3页
第3页 / 共33页
C++复习题(全部答案).doc_第4页
第4页 / 共33页
C++复习题(全部答案).doc_第5页
第5页 / 共33页
点击查看更多>>
资源描述

1、盛年不重来,一日难再晨。及时宜自勉,岁月不待人。一、C+基础、变量、常量部分试题:(一)单选题8.由C+语言编写的代码程序( )A. 可直接执行(.exe才可以直接执行)B. 是一个源程序C. 经过编译即可执行 (经过编译链接才可以执行)D. 经过编译解释才能执行9.按照C+语言规定的用户标识符命名规则,不能出现在标识符中的是( )A. 大写字母 B. 中划线 C. 数字字符 D. 下划线10.下列选项中,不能用作标识符的是( )A. _1234_ B. _1_2 C. int_2_ D. 2_int11.以下选项中合法的用户标识符是( )A. long(关键字) B. _2Test C. 3

2、Dmax D. A.dat12.以下不能定义为用户标识符的是( )A. MainB. _0C. _intD. sizeof(运算符)13.列定义变量的语句错误的是( )A. int _int; B. double int_; C. char For; D. float USA;14.在C+语言中,非法的字符常量是( ) A.t B.017 C. n D.xaa29.以下程序的输出结果是()void main() int k=11; coutdeck=k“,”; coutoctk=k“,”; couthexk=kendl;A. k=11,k=12,k=11 B. k=11,k=13,k=13 C

3、. k=11,k=013,k=0xb D. k=11,k=13,k=b41.不属于C+语言关键字的是( )。 Aint Bbreak Cwhile Dcharacter42.是C+语言提供的合法关键字的是( )。 AFloat Bsigned Cinteger DChar43.下列说法中,错误的是( )。 A每个语句必须独占一行,语句的最后可以是一个分号,也可以是一个回车换行符号B每个函数都有一个函数头和一个函数体,主函数也不例外C主函数只能调用用户函数或系统函数,用户函数可以相互调用D程序是由若干个函数组成的,但是必须有、而且只能有一个主函数(二)填空题1.一个C+源程序至少有并且只能有一个

4、 main(主)函数。2. 以下程序运行后的输出结果是 1012a 。#include#includeint main() int a=10; coutdecaoctahexaendl; return 0;3.以下程序运行后的输出结果是( 25 21 37 ) 。void main() int a,b,c; a=25;b=025;c=0x25; couta b cendl; 4.以下程序运行后的输出结果是 2 1 。void main() int a=1,b=2; a=a+b;b=a-b;a=a-b; couta b; 5. 结构化设计中的三种基本结构是_顺序结构_、_选择结构_、_循环结构_

5、。6.C+语言源程序文件的后缀是_.cpp_,经过编译后生成文件的后缀是_.obj_,经过链接后生成文件的后缀是_.exe_。7. 一个函数由两部分组成,它们是_函数首部_、_函数体_。8. 若x和y均为int型变量,则以下语句的功能是_交换变量x,y的值_。 x+=y; y=x-y; x-=y;二、运算符部分试题:(一)单选题 1. 以下程序的输出结果是( )void main()int a=1,b=2,c=3,d=4; cout(ab?a:cd?a:d)endl;A. 4 B. 3 C. 2 D. 1 15.下列运算符中优先级最高的运算符是( )A. = B. = C. % D. & 16

6、.以下程序的输出结果是( )main() int a=3,b=4; cout(a=b)0;D. k=i=j;19.表达式3.6-5/2+1.2+5%2的值是( )A. 4.3 B. 4.8 C. 3.3 D. 3.820.设有语句:int a=3;则执行了语句a+=a-=a*a;变量a的值是( )A. 3 B. 0 C. 9 D. -1221.设有语句:int x=10;则执行了语句x+=x-=x-x;变量x的值是( )A. 10 B. 20 C. 40 D. 30 22.以下程序的输出结果是( )void main() int i=10,j=1; couti-“,”+jendl;A. 9,2

7、 B. 10,2 C. 9,1 D. 10,123.以下程序的输出结果是( )void main() int x=100,y=200; cout(x,y)endl;A. 200 B. 100C. 100 200 D.200 10024.以下程序的输出结果是( )void main() int x=10,y=3,z; cout(z=(x%y,x/y)endl;A. 1 B. 0 C. 4 D. 325.int k=0;,以下选项的四个表达式中与其他三个表达式的值不相同的是( )A. k+ B. k+=1 C. +k D. k+126.以下程序的输出结果是( )void main() int x,

8、y,z; x=y=1; z=x+,y+,+y; coutx, y, zendl;A. 2,3,3 B. 2,3,2 C. 2,3,1 D. 2,2,127.设x、y、t均为int型变量,执行了以下程序后,变量y 的值为( )。void main() int x,y,t; x=y=3; t=+x|+y; coutyendl;A. 1B. 2C. 3D. 428.设int x=-1;执行表达式+x|+x|+x|+x,x的值是( )A. 0B. 1C. 2D. 445.逻辑运算符两侧运算对象的数据类型( )。 A只能是0或1 B只能是0或非0正数 C只能是整型或字符型数据 D可以是任何类型的数据46

9、.以下关于运算符优先顺序的描述中正确的是( )。 A关系运算符算术运算符赋值运算符逻辑与运算符 B逻辑与运算符关系运算符算术运算符赋值运算符 C赋值运算符逻辑与运算符关系运算符算术运算符 D算术运算符关系运算符赋值运算符逻辑与运算符48.判断char型变量s是否为小写字母的正确表达式是( )。 Aa = s=a) & (s=a) & (s=z) D(a=s)49.若希望当x的值为奇数时,表达式的值为“真”,x的值为偶数时,表达式的值为“假”。则以下不能满足要求的表达式是( )。 Ax%2=1 B!(x%2=0) C!(x%2) Dx%250.已知 x=45, y=a, z=0; 则表达式(x=

10、z & yz | !y)的值是( )。 A0 B语法错 C1 D“假”51.执行以下语句后,y 的值为( )。int x,y,z;x=y=z=0;+x | +y & +z;A0 B1 C2 D不确定值 55. 则执行下面语句后的w值是( )。 void main() int a=1,b=2,c=3,d=4,w; w=(ab)?a:b; w=(wc)?w:c; w=(wd)?w:d; coutwendl; A1 B2 C3 D4(二)填空题:1.以下程序运行后的输出结果是 2007 。main() int x=2006,y=2007; cout(x,y); 2. 以下程序运行后的输出结果是 D

11、。void main() char ch=B; ch+=2; coutchendl; 3.以下程序运行后的输出结果是 98 。 void main() int c; char ch=97; c=ch+1; coutcendl; 4. 以下程序运行后的输出结果是 123.46 。 #include int main() float x=123.4567f; cout(int)(x*100+0.5)/100.0endl; return 0; 5.以下程序运行后的输出结果是 14 。 #include void main() int a=10; a=(3*5,a+4); coutaendl; 6.以

12、下程序运行后的输出结果是 -10 -10 -7 。 #include void main() int a=0,b=0,c=0; c=(a+=a-=5),(a=b,b+3); couta b cendl; 7.以下程序运行后的输出结果是 0 。 #include void main() int a=5,b=4,c=3,x; x=abc; coutxendl; 8.以下程序运行后的输出结果是 3 0 。 #include void main() int a=3,b=2; b=a3; couta bendl; 9. 以下程序运行后的输出结果是 1 。 #include void main() int

13、 x,a=1,b=2,c=3,d=4; x=(ab)?a:b;x=(xc)?x:c; coutxendl; 10. 设int x=9,y=8;表达式x=y+1的结果是_1_。11. 定义int x,y;执行y=(x=1,+x,x+2);后, y的值是_4_。12. 定义int x=10,y,z; 执行y=z=x; x=y=z;后, x的结果是_1_。三、流程控制语句部分试题:(一)单选题2.void main()int i; for(i=0;i3;i+) switch(i) case 0:couti; case 1:couti; default:couti; 程序执行后的输出结果是( )A00

14、0112 B. 012 C. 012020 D. 1207.以下程序运行后的输出结果是 4 5 99 。#includevoid main()int a=3,b=4,c=5,t=99;if(ba & ac) t=a;a=c;c=t;if(ac & bc) t=b;b=a;a=t;couta b c5) coutxendl; else coutx-endl;A. 4B. 5C. 6D. 731.有以下程序:void main() int n=4; while(n-) cout-n;程序执行后的输出结果是( ) A. 20 B. 31 C. 321 D. 21032.有以下程序void main(

15、) int y=10; while(y-) ; coutyendl;程序执行后的输出结果是( ) A. y=0 B. y=-1C. y=1 D. while构成无限循环44.为了避免嵌套的if-else语句的二义性,C+语言规定else总是与( )组成配对关系。A缩排位置相同的ifB在其之前未配对的ifC在其之前未配对的最近的ifD同一行上的if47.选择出合法的if语句(设int x,a,b,c;)( )。 Aif(a=b) c+; Bif(a=b) c+; Cif(ab) c+; Dif(a=b) c+;52.已知int a=1,b=2,c=3; 以下语句执行后a,b,c的值是( )。if

16、(ab)c=a; a=b; b=c;Aa=1, b=2, c=3 Ba=2, b=3, c=3Ca=2, b=3, c=1 Da=2, b=3, c=253.请阅读以下程序:该程序( )。void main() int x=-10, y=5, z=0;if (x=y+z) cout*n;else cout$n;A有语法错不能通过编译 B可以通过编译但不能通过连接C输出* D输出$54.执行完下面一段程序后x的值是( )。 void main() int a=1,b=2,c=4,d=3,x; if (ab) if (cd) x=1; else if (ac) if (bd) x=2; else

17、x=3; else x=4; else x=5; coutxgrade;switch (grade) case A:cout85-100n; case B:cout60-84n; case C:cout60n; default:coutgrade;switch (grade) case A:cout85-100n;break; case B:cout60-84n; case C:cout60n; default:coutgrade;switch (grade) case A:cout85-100n;break; case B:cout60-84n;break; case C:cout60n;d

18、efault:coutgrade;switch (grade) case A:cout85-100n;break;case B:cout60-84n;break;default:coutgrade is error!n;break;case C:cout60n;58.当执行以下程序段时,程序将( )。void main() intx=-1;do x=x*x;while (!x);A.循环体将执行一次 B.循环体将执行两次C.循环体将执行无数多次 D.系统将提示有语法错误59.若i,j已定义为int类型,则以下程序段中内循环的总的执行次数是 ( )。for (i=5;i;i-)for (j=0;

19、j4;j+)A.20 B.24 C.25 D.3060.有以下语句:i=1;for(;i=100;i+) sum+=i;与以上语句序列不等价的有( )。A. for(i=1; ;i+) sum+=i;if(i=100)break;B. for(i=1;i=100;)sum+=i;i+;C. i=1;for(;i=100;)sum+=i;D. i=1;for(; ;)sum+=i;if(i=100)break;i+;61.标有/*/的语句的执行次数是( )。int y,i;for(i=0;i20;i+)if(i%2=0)continue;y+=i;/*/A.20 B.19 C.10 D.9(二)

20、填空题:2. #include 0void main() int i,t=0; for(i=5;i=0;i-) t*=i; couttendl;3.写成下列程序的输出结果:#includevoid main() int i=1; while(i=15) if(+i%3!=2) continue;else couti ;coutendl; 2 5 8 11 144. 输入a,输出结果是 very good 输入c,输出结果是 pass 。#includevoid main() char n; cinn; switch(n) case a:case A:coutvery goodn;break;

21、case b:case B:coutgoodn;break; case c:case C: case d:case D:coutpassn;break; case e:case E:coutwarningn;break; default:couterrorn; 5. 以下程序的功能是计算:1-2+3-4+99-100void main() int i=1,j=1,s=0; while( i=100 ) s+= i*j ; i+; j=-j ; coutsendl; 6. 若从键盘输入58,则输出结果是_585858_。#includevoid main() int a; cina; if (a

22、50) cout40) cout30) couta; 7. 下面程序根据以下函数关系,对输入的每个x值,计算出y值。请在【】内填空。Xy2x=10x(x+2)-1x=21/xxx;if (【1】(x2)&(x-1)&(x=2) y=1/x;else if (x=-1) y=x-1;else 【3】y=-1;if (y!= -1) coutyendl;else cout”error”endl ;8. 以下程序是对用户输入的字母进行大小写转换。请在【】内填入正确内容。void main() char ch; coutch;if (【1】(ch=A) & (ch=a & ch=z) 【2】ch=ch

23、-32;cout” the converted letter ischendl;9. 以下程序运行后的输出结果是_20 0_。 void main() int x=10, y=20, t=0; if (x=y) t=x; x=y; y=t; coutx y;10. 执行以下语句后,x、y和z 的值分别为_1,0,0_。int x,y,z;x=y=z=0;+x | +y & +z;11. 程序运行结果是_ 135_。#includevoid main() int i; for(i=1;i+1;i+) if(i4) couti+; break; couti+; (三)编程题1. 百钱百鸡:100元

24、钱买100只鸡,公鸡一只5元钱,母鸡一只3元钱,小鸡一元钱三只,求100元钱能买公鸡、母鸡、小鸡各多少只?2.输出九九乘法表。四、数组与指针部分试题:(一)单选题3. 以下数组定义中错误的是( )A. int x3=0; B. int x23=1,2,3,4,5,6;C. int x3=1,2,3,4,5,6; D. int x23=1,2,3,4,5,6;4.以下能正确定义二维数组的是( )A. int a3; B. int a3=2*3; C. int a3=; D. int a23=1,2,3,4; 5. 设有char array=China;则数组array所占的空间字节数为( ) A

25、. 4 B. 5 C. 6 D. 7 6.对于以下定义正确的叙述为( )char x=abcdefg;char y=a,b,c,d,e,f,g;A. 数组x和数组y等价B. 数组x和数组y的长度相同C. 数组x的长度大于数组y的长度D. 数组x的长度大于数组y的长度33.以下叙述中正确的是( )A. 可以在一个函数中调用另一个函数 B. 可以在一个函数中定义另一个函数C. main()函数必须放在其它函数之前 D. 所有被调用函数一定要在调用之前进行定义34.以下说法中正确的是( )A. C+语言程序总是从第一个函数开始执行 B. 在C+语言程序中,要调用的函数必须在main()函数中定义C.

26、 C+语言程序总是从main()函数开始执行D. C+语言程序中的main()函数必须放在程序的开始部分35.以下程序的输出结果是( )void main( ) int a10=1,2,3,4,5,6,7,8,9,10,*p=a; cout*(p+2)endl;A. 3B. 4C. 1D. 236.以下程序的输出结果是( )void main() int a10=1,2,3,4,5,6,7,8,9,10,*p=a; cout(*p+9)endl;A. 0B. 1C. 10D. 937.以下程序的输出结果是( )void main() int a10=1,2,3,4,5,6,7,8,9,10,*

27、p=&a3,*q=p+2; cout(*p+*q)endl;A. 16 B. 10 C. 8 D. 638.以下不能正确进行字符串赋初值的语句是( )A. char str5= good!; B. char str=good!;C. char *str=good!; D. char str5=g,o,o,d,!;39.以下程序的输出结果是( )void main() char str=ABCD,*p=str; coutint(*(p+4)endl;A. 68B. DC. 0D. 040.以下程序的输出结果是( )void main() char str=aeiou,*p=str; cout*(

28、p+4)n; int aSIZE; int an; 64.在C+语言中,引用数组元素时,其数组下标的数据类型允许是( )。 A. 整型常量B. 整型表达式C. 整型常量或整型表达式D. 任何类型的表达式65.以下对一维数组m进行正确初始化的是( )。 A. int m10=(0,0,0,0) ; B. int m10= ;C. int m =0; D. int m10=10*2;66.若有定义:int bb 8;。则以下表达式中不能代表数组元bb1的地址的是( )。 A. &bb0+1 B. &bb1 C. &bb0+ D. bb+167.假定int类型变量占用两个字节,其有定义:int x10=0,2,4;,则数组x在内存中所占字节数是( )。 A. 3 B. 6 C. 10 D. 2068.执行下面的程序段后,变量k中的值为( )。 int k=3, s2; s0=k; k=s1*10;A. 不定值 B. 33

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 办公、行业 > 待归类文档
版权提示 | 免责声明

1,本文(C++复习题(全部答案).doc)为本站会员(2023DOC)主动上传,163文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。
2,用户下载本文档,所消耗的文币(积分)将全额增加到上传者的账号。
3, 若此文所含内容侵犯了您的版权或隐私,请立即通知163文库(发送邮件至3464097650@qq.com或直接QQ联系客服),我们立即给予删除!


侵权处理QQ:3464097650--上传资料QQ:3464097650

【声明】本站为“文档C2C交易模式”,即用户上传的文档直接卖给(下载)用户,本站只是网络空间服务平台,本站所有原创文档下载所得归上传人所有,如您发现上传作品侵犯了您的版权,请立刻联系我们并提供证据,我们将在3个工作日内予以改正。


163文库-Www.163Wenku.Com |网站地图|