C语言B补充习题1

更新时间:2023-09-23 21:21:01 阅读量: IT计算机 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

补充习题:

/*运算符与表达式*/

1.float x=1.0,y; y=x+3/2; 则y=______ 2.int i=5; i+=++i; 执行后i值是______

3.Int i,a; i=(a=2*3,a*5),a+6; 执行后i值是______

4.已知char c=?A?; int i=1,j; 执行语句j=!c&&i++; 则i和j的值是_____ 5. 已知int a=4, b=5, c; 执行c=a=a>b后变量a的值是_______ 6.已知x,y,z均为整型变量,则表达式

1的正确的C语言表达式是______ xyz7.int y; y=8; y+=y-=y*y; 执行后y值是______ a)64 b)-56 c)-112 d)-48

8.若w,x,y,z均为整型变量,则执行下列语句后,z的值是____ w=5; x=4; y=w++*w++*w++; z=--x*--x*--x+y--; a)131 b)126 c)125 d)130

9.已知int x=1,y; 执行下述语句后变量x的值是______

y=++x>5&&++x<10; a)1 b)2 c)3 d)4

10.若m、y、x、z均为int型变量,则执行下列语句后m的值是________

m=1; x=2; y=3; z=4; m=(m

a)1 b)4 c)2 d)3

11.若有以下程序段,其输出结果是________

a)3,0,-10 b)0,0,3 c)-10,3,-10 d)3,0,3 int a=0,b=0,c=0;

c=((a-=a-5),(a=b,b+3)); printf(“%d,&d,%d\\n”,a,b,c);

12.以下合法的C语言赋值语句是________

a)a=b=58 b)k=int(a+b); c)a=58,b=58 d)--i; 13.以下选项中不正确的实型常量是________

a)2.607E-1 b)1.81E c)-77.7 d)456e0 14. 以下选项中不合法的用户标识符是________ a)abc.d b)a1_2 c)Main d)int1

15.C语言中运算对象必需是整型的运算符是________ a)** b)/ c)% d)!

1

16.若变量已正确定义并赋值,符合C语言语法的表达式是________ a)a=a+7; b)a=7+b+c,a++ c)int(12.3%4) d)a=a+7=c+b

/*输入、输出格式控制*/

1.int a=20; int b=3; printf(“%d\\n”, a+=(b%=2)); 输出为:________ 2.int a=5,b=4,c=6,d;

printf(“%d\\n”, d=a>b?(a>c?a:c):(b)); 输出为:________ 3.main()

{ int a=4,b=5,c=0,d;

d=!a&&!b||!c; printf(“%d\\n”,d); }

输出为:________

4.int a=177; printf(“%o\\n”,a); 输出为:________

5.int a=0; a+=a=8; printf(“%d\\n”,a); 输出为:________

6.int a=5,b=4,c=3; printf(“%d\\n”,a>b>c); 输出为:________

7.int x=?f?; printf(“%c\\n”,?A?+(x-?a?+1)); 输出为:________

8.printf(“a\\bre\\?hi\\?y\\\\\\bou\\n”);的输出为:__________ (说明:?\\b?为退格符) 9.int y=3,x=3,z=1; printf(“%d,%d\\n”,(++x,y++),z+2); 输出为:________

10. int x=10,y=3; printf(“%d\\n”, x/y,x%y); 输出为:________

int x=10,y=3; printf(“%d\\n”, (x/y,x%y)); 输出为:________

参考答案:1. 21 2. 6 3. 1 4. 261 5. 16 6. 0 7. G

8. re?hi?you 9. 3,3 10. 3 1

/*选择结构控制*/

1.执行下列程序段后,a、b、c的值分别是______

int a,b=100,c,x=10,y=9; a=(--x==y++)?—x:++y;

2

if (x<9) b=x++; c=y;

a)9,9,9 b)8,8,10 c)9,10,9 d)1,11,10

2.执行下列程序段后,x、y和z的值分别是______

int x=10.y=20,z=30; if (x>y) z=x; x=y; y=z;

a)10,20,30 b)20,30,30 c)20,30,10 d)20,30,20 3.以下程序的输出结果是______

main()

{ int w=4, x=3, y=2, z=1;

if (x>y&&(z==w)) printf(“%d\\n”,(wx?w:z>y?z:x)); a)1 b)2 c)3 d)4

4.与y=(x>0?1:x<0?-1:0);功能相同的if语句是______

if (x>0) y=1;

else if (x<0) y=-1; else y=0;

5.有if(!x), 与这里的“!x”等价的最简单的关系表达式是 x==0 6. 下列运算符中优先级最高的是________ a)> b)+ c)&& d)!=

7. 假定所有变量均已正确说明,下列程序段运行后x的值是________ a)34 b)4 c)35 d)3 a=b=c=0;x=35; if (!a) x=-1; else if(b); if(c) x=3; else x=4;

8. 下面程序的输出结果是________

main()

{int a=2,b=-1,c=2; if (a

if (b<0) c=0; else c+=1; printf(“%d\\n”,c); }

a)0 b)1 c)2 d)3

/*循环结构控制*/

1.若有do {i=a-b++; printf(“%d”,i);} while(!i);

3

则while中的!i可用______代替。

a)i==0 b)i!=1 c)i!=0 d)以上均不对 2.执行语句for(i=1;i++<4;);后,i的值是______ a)3 b)4 c)5 d)不定 3.下列程序段执行后______

x=3;

do { y=x--;

if (!y) {printf(“x”); continue; } printf(“#”);

} while(1<=x<=2);

a)输出## b)输出##x c)是死循环 d)有语法错 4.指出程序结束时,j、i、k的值分别是______

main()

{ int a=10, b=5, c=5, d=5, i=0, j=0, k=0; for( ; a>b; ++b) i++; while (a>++c) j++;

do k++; while(a>d++); }

a)j=5, i=4, k=6; b) i=5, j=4, k=6; c) j=6, i=5, k=7; 5.int i,j;

for (I=0,j=1; i<=j+1; i+=2,j--) printf(“%d\\n”,i); 循环体执行次数是__1__ 6. 下面程序的输出结果是________ main() {int n=0;

while(n++<=1) printf(“%d,”,n); printf(“%d\\n”,n); }

a)1,2,3 b)0,1,2 c)1,1,2 d)1,2,2 7. 下面程序段的输出结果是________

a)9 b)1 c)11 d)10 int k,j,s;

for(k=2; k<6; k++,k++) { s=1;

for(j=k; j<6; j++) s+=j; }

printf(“%d\\n”, s);

4

d)j=6, i=6, k=6; 8. 下面程序段的输出结果是________

a)12 b)15 c)20 d)25 int i, j, m=0;

for(i=1; i<15; i+=4)

for(j=3; j<=19; j+=4) m++; printf(“%d\\n”,m);

9. 下面程序的输出结果是________

main() {int i;

for(i=1; i<=5; i++) {if(i%2) printf(“*”); else continue; printf(“#”); }

printf(“$\\n”); }

a)*#*#*#$ b)#*#*#*$ c)*#*#$ 10. 下面程序的输出结果是________

main()

{int a,b,c,d,i,j,k;

a=10; b=c=d=5; i=j=k=0; for( ; a>b; ++b) i++; while(a>++c) j++;

do k++; while(a>d++); printf(“%d,%d,%d\\n”,i, j, k); }

11. 下面程序段的输出结果是________

int x=3; do

{ printf(“=”, x-=2); } while(!(--x));

12. 下面程序的输出结果是________

min() {int x,i;

for(i=1; i<100; i++) { x=i;

if(++x%2==0) if(++x%3==0)

d)#*#*$ 5

本文来源:https://www.bwwdw.com/article/6vzd.html

Top