1、一、C+基础、变量、常量部分试题:(一)单选题8.由C+语言编写的代码程序( )A. 可直接执行(.exe才可以直接执行B. 是一61个源程序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. 3Dmax D. A.dat12.以下不能定义为
2、用户标识符的是( )A. MainB. _0C. _intD. sizeof(运算符)13.列定义变量的语句错误的是( )A. int _int; B. double int_; C. char For; D. float US?;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. k=11,k=013,k=0xb D. k=
3、11,k=13,k=b41.不属于C+语言关键字的是( )。 Aint Bbreak Cwhile Dcharacter42.是C+语言提供的合法关键字的是( )。 AFloat Bsigned Cinteger DChar43.下列说法中,错误的是( )。 A每个语句必须独占一行,语句的最后可以是一个分号,也可以是一个回车换行符号B每个函数都有一个函数头和一个函数体,主函数也不例外C主函数只能调用用户函数或系统函数,用户函数可以相互调用D程序是由若干个函数组成的,但是必须有、而且只能有一个主函数(二)填空题1.一个C源程序至少有并且只能有一个 main 函数。2. 以下程序运行后的输出结果是
4、 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. 结构化设计中的三种基本结构是_顺序结构_、_选择结构_、_循环结构_。6.C+语言源程序文件的后缀是_.cpp_,经过编译后
5、生成文件的后缀是_.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. 115.下列运算符中优先级最高的运算符是( )A. = B. = C. % D. &16.以下程序的输出结果是( )main() int a=3,b=4
6、; 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 B. 10,2 C. 9,1 D. 10,123.以下程序的输
7、出结果是( )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,y,z; x=y=1; z=x+,y+,+y; coutx, y,
8、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.以下关于运算符优先顺序的描述中正确的是( )。 A关系运算符算术运
9、算符赋值运算符逻辑与运算符 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=z & yz | !y)的值是( )。 A0 B语法错 C1 D“假
10、”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 。void main() char ch=B; ch+=2; coutchendl;
11、3.以下程序运行后的输出结果是 98 。main() int c; char ch=97; c=ch+1; coutcendl; 4. 以下程序运行后的输出结果是 123.46 。#includeint main() float x=123.4567f; cout(int)(x*100+0.5)/100.0endl; return 0;5.以下程序运行后的输出结果是 14 。#includevoid main() int a=10; a=(3*5,a+4); coutaendl;6.以下程序运行后的输出结果是 -10 -10 -7 。#includevoid main() int a=0,b=
12、0,c=0; c=(a+=a-=5),(a=b,b+3); couta b cendl;7.以下程序运行后的输出结果是 0 。#includevoid main() int a=5,b=4,c=3,x; x=abc; coutxendl;8.以下程序运行后的输出结果是 3 0 。#includevoid main() int a=3,b=2; b=a3; couta bendl;9. 以下程序运行后的输出结果是 1 。#includevoid main() int x,a=1,b=2,c=3,d=4; x=(ab)?a:b;x=(xc)?x:c; coutxendl;10. 设int x=9,
13、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; 程序执行后的输出结果是( )A000112 B. 012 C. 012020 D. 1207.以下程序运行后的输出结果是 4 5 99 。#includevoid ma
14、in()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() int y=10; while(y-) ; coutyendl;程序执行后的输出结果是( ) A. y=0 B. y=-1C. y
15、=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(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,
16、 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 x=3;else x=4;else x=5;coutxgrade;switch (grade) case A:cout85-100n;case
17、 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;default:coutgrade;switch (grade) case A:cout85-100n;break;case B:cout60-84n;break;d
18、efault: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;j4;j+)A.20 B.24 C.25 D.3060.有以下语句:i=1;for(;i=100;i+) sum+=i;与以上语句序列不等价的有( )。.A. fo
19、r(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(二)填空题:2. #include 0void main() int i,t=0; for(i=5;i=0;i-) t*=i; couttendl;3.写成下列程序的
20、输出结果:#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; case b:case B:coutgoodn;break; case c:case C: case d:case D:coutpassn;break; case
21、 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 (a50) cout40) cout30) couta; 7. 下面程序根据以下函数关系,对输入的每个x值,计算出y值。请在【】内填空。Xy2x=10x(x+2)-1
22、x=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-32;cout” the converted letter ischendl;9. 以下程序运行后的输出结果是_20 0_。 void main() int x
23、=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元钱买100只鸡,公鸡一只5元钱,母鸡一只3元钱,小鸡一元钱三只,求100元钱能买公鸡、母鸡、小鸡各多少只?2.输出九九乘法表。四、数组与指针部分试题:(一)单选题
24、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. 4 B. 5 C. 6 D. 7 6.对于以下定义正确的叙述为( )char x=abcdefg;char y=a,b,c,d,e,f,g;A. 数组x和数组
25、y等价B. 数组x和数组y的长度相同C. 数组x的长度大于数组y的长度D. 数组x的长度大于数组y的长度33.以下叙述中正确的是( )A. 可以在一个函数中调用另一个函数 B. 可以在一个函数中定义另一个函数C. main()函数必须放在其它函数之前 D. 所有被调用函数一定要在调用之前进行定义34.以下说法中正确的是( )A. C+语言程序总是从第一个函数开始执行 B. 在C+语言程序中,要调用的函数必须在main()函数中定义C. C+语言程序总是从main()函数开始执行D. C+语言程序中的main()函数必须放在程序的开始部分35.以下程序的输出结果是( )void main( )
26、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,*p=&a3,*q=p+2; cout(*p+*q)endl;A. 16 B. 10 C. 8 D. 638.以下不能正确进行字符串赋初值的语句是( )A. cha
27、r 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*(p+4)n; int aSIZE; int an; 64.在C+语言中,引用数组元素时,其数组下标的数据类型允许是( )。 A. 整型常量B. 整型表达式C. 整
28、型常量或整型表达式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 C. 30 D. 1069.以下程序的输出结果是( ) void main() int i, a10;for(i=9;i=0;i-) ai=10-i;couta2a5a82!1 D. a2071.若有定义:int b34=0;则下述正确的是( )
©2010-2024 宁波自信网络信息技术有限公司 版权所有
客服电话:4008-655-100 投诉/维权电话:4009-655-100