C++习题.docx
- 文档编号:26128710
- 上传时间:2023-06-17
- 格式:DOCX
- 页数:34
- 大小:29.59KB
C++习题.docx
《C++习题.docx》由会员分享,可在线阅读,更多相关《C++习题.docx(34页珍藏版)》请在冰豆网上搜索。
C++习题
一、单项选择
1.一个C++语言程序是由()。
A.函数组成B.一个主程序和若干子程序组成
C.若干过程组成D.若干子程序组成
2.在C++语言中,复合语句()。
A.必须出现在循环或分支中B.必须包含多条语句
C.必须使用{}将有关语句括起来D.以上三种都对
3.以下叙述不正确的是()。
A.一个C++源程序可由一个或多个函数组成
B.一个C++源程序必须包含一个main函数
C.C++程序的基本组成单位是函数
D.在C++程序中,注释说明只能位于一条语句的后面
4.C++语言中的标识符只能由字母、数字和下划线三种字符组成,且第一个字符()。
A.必须为字母B.可以是字母、数字和下划线中任一种字符
C.必须为下划线D.必须为字母或下划线
5.下面不正确的字符串常量是()。
A.‘abc’B.“12’12”C.“0”D.“ ”
6.下面正确的字符常量是()。
A."c"B."\\"C.'W'D.''
7.以下表达式值为3的是()。
A.16-13%10B.2+3/2
C.14/3-2D.(2+6)/(12-9)
8.下列表达式的值为0的是()。
A.3<5B.3/5.0C.3/5D.3%5
9.若有代数式3ae/(bc),则不正确的C++语言表达式是()。
A.a/b/c*e*3B.3*a*e/b/c
C.3*a*e/b*cD.a*e/c/b*3
10.在C++语言中,要求运算数必须是整型的运算符是()。
A./B.++C.!
=D.%
11.若x、i、j和k都是int型变量,则执行下面表达式后x的值为()。
x=(i=4,j=16,k=32)
A.4B.16C.32D.52
12.执行表达式a=12,a=a+13,a+20后a的值为()。
A.45B.12C.25D.13
13.设intx=1,y=2,z=3;,则表达式x==z||x+y>z的值是()。
A.0B.1C.2D.3
14.已知字母A的ASCII码为十进制数65,且c2为字符型,则执行语句c2=‘A’+‘6’-‘3’;后,c2中的值为()。
A.DB.EC.不确定的值D.C
15.设有说明:
charw;intx;floaty;doublez;则表达式w*x+z-y值的数据类型为()。
A.intB.floatC.doubleD.char
16.设变量a是整型,f是实型,i是双精度型,则表达式10+a+i*f值的数据类型为()。
A.intB.floatC.doubleD.不确定
19.若a,b,c均定义为int型,则输入函数采用cin>>a>>b>>c;格式时,其输入数据的正确式是()。
A.12,24,36B.122436
C.a=12,b=24,c=36D.a=12b=24c=36
20.已有如下定义和输入语句,若要求a1,a2,c1,c2的值分别为10,20,A和B,当从第一列开始输入数据时,不正确的数据输入方式是()。
inta1,a2;charc1,c2;
cin>>a1>>a2;
cin>>c1>>c2;
A.1020AB<回车>B.1020<回车>AB<回车>
C.1020AB<回车>D.1020AB<回车>
21.有输入语句:
cin>>a>>b>>c);为使变量a的值为1,b为3,
c为2,从键盘输入数据的正确形式应当是()。
(_表示空格)"
A.132<回车>B.1,3,2<回车>
C.132<回车>D.a=1,b=3,c=2<回车>
23.以下能正确地定义整型变量a,b和c并为其赋初值5的语句是()。
A.inta=b=c=5;B.inta,b,c=5;
C.inta=5,b=5,c=5;D.a=b=c=5;
24.若有以下定义,则正确的赋值语句是()。
inta,b;floatx;
A.a=1,b=2B.b++;C.a=b=5D.b=int(x);
25.逻辑运算符两侧运算对象的数据类型()。
A.只能是0或1B.只能是0或非0正数
C.只能是整型或字符型数据D.甚至可以是实型和指针类型的数据
26.以下关于运算符优先顺序的描述中正确的是()。
A.关系运算符<算术运算符<赋值运算符<逻辑与运算符
B.逻辑与运算符<关系运算符<算术运算符<赋值运算符
C.赋值运算符<逻辑与运算符<关系运算符<算术运算符
D.算术运算符<关系运算符<赋值运算符<逻辑与运算符
27.判断char型变量c1是否为小写字母的正确表达式是()。
A.‘a’<=c1<=‘z’B.(c1>=a)&&(c1<=z)
C.(‘a’>=c1)||(‘z’<=c1)D.(c1>=‘a’)&&(c1<=‘z’)
28.判断char型变量c1是否为大写字母的正确表达式是()。
A.‘A’<=c1<=‘ZB.(c1>=A)&&(c1<=Z)
C.(‘A’>=c1)||(‘Z’<=c1)D.(c1>=‘A’)&&(c1<=‘Z’)
29.表示图中坐标轴上阴影部分的正确表达式是()。
////////
////////
X
abc
A.(x<=a)&&(x>=b)&&(x<=c)
B.(x<=a)||(b<=x<=c)
C.(x<=a)||(x>=b)&&(x<=c)
D.(x<=a)&&(b<=x<=c)
30.若希望当A的值为奇数时,表达式的值为“真”,A的值为偶数时,表达式的值为“假”,则以下不能满足要求的表达式是()。
A.A%2==1B.!
(A%2==0)C.!
(A%2)D.A%2
31.设x、y和z是int型变量,且x=3,y=4,z=5,则下面表达式中值为0的是()。
A.‘x’&&‘y’B.x<=y
C.x||y+z&&y-zD.!
((x z||1) 32.已知x=43,y=0,ch=‘A’;则表达式(x>=y&&ch<‘B’&&! y)的值是()。 A.0B.语法错C.1D.“假” 33.执行以下语句后a的值为()。 inta=5,b=6,w=1,x=2,y=3,z=4; (a=w>x)&&(b=y>z); A.5B.0C.2D.1 34.以下程序的运行结果是()。 #include usingnamespacestd; main() { inta,b,d=241; a=d/100%9; b=(-1)&&(-1); cout< } A.6,1B.2,1C.6,0D.2,0 35.以下if语句语法正确的是()。 A.if(x>0)cout< elsecout<<-x; B.if(x>0) {x=x+y;cout< elsecout<<-x; C.if(x>0) {x=x+y;cout< elsecout<<-x; D.if(x>0) {x=x+y;cout< elsecout<<-x; 36.为了避免在嵌套的if-else中产生二义性,C++语言规定: else子句总是与()配对。 A.缩排位置相同的ifB.其之前最近的if C.其之后最近的ifD.同一行上的if 37.以下不正确的if语句形式是()。 A.if(x>y&&x! =y);B.if(x==y)x+=y; C.if(x! =y)cin>>xelsecin>>y;D.if(x 38.已知intx=10,y=20,z=30;以下语句执行后x,y,z的值是()。 if(x>y)z=x;x=y;y=z; A.x=10,y=20,z=30B.x=20,y=30,z=30 C.x=20,y=30,z=10D.x=20,y=30,z=20 39.设有定义intx=1;inty=‘a’<‘A’? x--: x++;,则变量y的值是()。 A.0B.1C.2D.3 40.设intx=1,a=9,b=6,c=7,d=8;则执行语句: if(a>b)if(c>d)x=2;elsex=3;后,x的值是()。 A.不确定B.2C.3D.1 41.若有以下定义,则能使值为3的表达式是()。 intk=7,x=12; A.x%=(k%=5)B.x%=(k-k%5)C.x%=k-k%5D.(x%=k)-(k%=5) 42.设以下变量均为int类型,则值不等于7的表达式是()。 A.(x=y=6,x+y,x+1)B.(x=y=6,x+y,y+1) C.(x=6,x+1,y=6,x+y)D.(y=6,y+1,x=y,x+1) 43.有一函数关系见下表: x y= x<0 x-1 x=0 x x>0 x+1 下面程序段中能正确表示上面关系的是()。 A.y=x+1;B.y=x-1; if(x>=0)if(x! =0) if(x==0)y=x;if(x>0)y=x+1; elsey=x-1;elsey=x; C.if(x<=0)D.y=x; if(x<0)y=x-1;if(x<=0) elsey=x;if(x<0)y=x-1; elsey=x+1;elsey=x+1; 44.以下程序的输出结果是()。 main() { intx=2,y=-1,z=2; if(x if(y<0)z=0; elsez+=1; cout< } A.3B.2C.1D.0 45.以下不正确的语句为()。 A.if(x=y)&&(x! =0)x+=y; B.if(x! =y)cin>>x;elsecin>>y; C.if(x>y); D.if(x 46.以下程序的运行结果是()。 main() { intk=4,a=3,b=2,c=1; cout(k k: (c c: a)); } A.4B.3C.2D.1 47.不用第三个变量,将变量a和b的值进行互换的操作是()。 A.b-=a;a=b-a;a+=b;B.a+=b;b=a-b;a-=b; C.b-=a;a-=b;a-=b;D.a+=b;b-=a;a-=b; 48.若运行时给变量x输入12,则以下程序的运行结果是()。 main() { intx,y; cin>>x; y=x>12? x+10: x-12; cout< } A.0B.22C.12D.10 49.若w、x、y、z、m均为int型变量,则执行下面语句后的m值是()。 w=1;x=2;y=3;z=4; m=(w w: x; m=(m m: y; m=(m m: z; A.1B.2C.3D.4 50.以下程序的运行结果是()。 main() { intm=5; if(m++>5)cout< elsecout< } A.4B.5C.6D.7 51.已知intx=0,y=1.5;执行以下程序段以后,y的值为()。 if(x! =0) if(x>0)y=1; elsey=-1; cout< A.0B.-1C.1.5D.1 52.若有条件表达式(exp)? a++: b--,则以下表达式中能完全等价于表达式(exp)的是()。 A.(exp==0)B.(exp! =0)C.(exp==1)D.(exp! =1) 53.执行以下程序段后,变量a,b,c的值分别是()。 intx=10,y=9; inta,b,c; a=(--x==y++)? --x: ++y; b=x++; c=y; A.a=9,b=9,c=9B.a=8,b=8,c=10 C.a=9,b=10,c=9D.a=1,b=11,c=10 54.下面程序段的运行结果是()。 x=y=0; while(x<5)y++,x+=y; cout< A.20,7B.3,6C.3,12D.8,20 55.下面程序段的运行结果是()。 intn=0; while(n++<=2);cout< A.2B.3C.4D.有语法错 56.下面程序段的运行结果是()。 a=1;b=2;c=1; while(a cout< A.1,2,0B.2,1,0C.1,2,1D.2,1,1 57.下面程序的运行结果是()。 #include usingnamespacestd; main() { intnum=0; while(num<=2) { num++; cout< } } A.1B.1C.1D.1 222 33 4 58.C语言中while和do-while循环的主要区别是()。 A.do-while的循环体至少无条件执行一次 B.while的循环控制条件比do-while的循环控制条件严格 C.do-while允许从外部转到循环体内 D.do-while的循环体不能是复合语句 59执行下列程序段以后,变量i的值是()。 inti=7; switch(i--) {case4: i+=2; case5: i+=3; case6: i+=4;break; default: i+=10; } A.9B.11C.16D.13 60.在C++语言中,switch语句后一对圆括号中表达式的类型()。 A.只能是整型或实型B.只能为int类型 C.可以是整型或字符型D.可以是任何类型 61.设有程序段 intk=10; while(k=0)k=k-1; 则下面描述中正确的是()。 A.while循环执行10次B.循环是无限循环 C.循环体语句一次也不执行D.循环体语句执行一次 62.以下能正确计算1×2×3×…×10的程序段是()。 A.do{i=1;s=1;B.do{i=1;s=0; s=s*i;s=s*i; i++;i++; }while(i<=10);}while(i<=10); C.i=1;s=1;D.i=1;s=0; do{s=s*i;do{s=s*i; i++;i++; }while(i<=10);}while(i<=10); 63.以下描述中正确的是()。 A.由于do-while循环中循环体语句只能是一条可执行语句,所以循环体内不能使用复合语句 B.do-while循环由do开始,用while结束,在while(表达式)后面不能写分号 C.在do-while循环体中,一定要有能使while后面表达式的值变为零(“假”)的操作 D.do-while循环中,根据情况可以省略while 64.若有如下语句: intx=3;do{cout< (--x)); 则上面程序段()。 A.输出的是1B.输出的是1和-2 C.输出的是3和0D.是死循环 65.以下程序段()。 x=-1; do {x=x*x;} while(! x); A.是死循环B.循环执行二次 C.循环执行一次D.有语法错误 66.下面程序的运行结果是()。 #include usingnamespacestd; main() { inty=10; do{y--;}while(--y); cout< } A.-1B.1C.8D.0 67.执行以下程序段后,屏幕的显示结果是()。 i=10;s=0; do {s=s+i;i++;} while(i<=10); cout< A.0B.10C.11D.21 68.以下for循环的执行次数是()。 for(x=0,y=0;(y=123)&&(x<4);x++) A.是无限循环B.循环次数不定C.执行4次D.执行3次 69.下面有关for循环的正确描述是()。 A.for循环只能用于循环次数已经确定的情况 B.for循环是先执行循环体语句,后判断表达式 C.在for循环中,不能用break语句跳出循环体 D.for循环的循环体语句中,可以包含多条语句,但必须用花括号括起来 70.若i为整型变量,则以下循环执行次数是()。 for(i=2;i==0;)cout< A.无限次B.0次C.1次D.2次 71.设chari;执行下面语句后,屏幕输出结果是()。 for(i='B';i<'F';i+=2)cout< A.BCB.BDC.CFD.DE 72.以下描述正确的是()。 A.continue语句的作用是结束整个循环的执行 B.在循环体内使用break语句或continue语句的作用相同 C.只能用continue语句来终止本次循环 D.在循环中break语句是结束整个循环的执行 73.以下正确的描述是()。 A.continue语句的作用是结束整个循环的执行 B.只能在循环体内和switch语句体内使用break语句 C.在循环体内使用break语句或continue语句的作用相同 D.从多层循环嵌套中退出时,只能使用goto语句 74.下面程序段()。 for(t=1;t<=100;t++) { cin>>x; if(x<0)continue; cout< } A.当x<0时整个循环结束B.x>=0时什么也不输出 C.cout函数永远也不执行D.最多允许输出100个非负整数 76.下面程序的运行结果是()。 #include usingnamespacestd; main() { inta,b; for(a=1,b=1;a<=100;a++) { if(b>=20)break; b+=3; }
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- C+ 习题