c语言作业答案第四章,C语言第四章习题带答案.pdf

-- 1 - 练习练习 4-1 答案答案 一、选择题 1.已知:char c='A'; int i=1, j;,执行语句 j=!c,则 i 和 j 的值是( B )。 A.1,1B.1,0C.2,1D.2,0 2.已知:int x=1, y=2, z;,则执行 z=xy?++x:++y;,则 z 的值为( C )。 A.1B.2C.3D.4 3.已知:int a=4, b=5, c;,则执行表达式 c=a=ab 后变量 a 的值为(A)。 A.0B.1C.4D.5 4.已知:char ch='A';,则表达式 ch=(ch='A' printf(“%d“,w++||z++); printf(“%d“,!wz); printf(“%d“,w A.0111B.1111C.0101D.0100 7.已知:a=b=c=1 且 a、b、c 均为 int 型变量,执行以下语句:++a||++b 则变量 a 值为( ①C ),b 值为( ②A)。 ① A.不正确B.0C.2D.1 ② A.1B.2C.不正确D.0 8.执行下面语句后 x 的值为( D )。 int a=14, b=15, x; char c='A'; x=((a j=i+++1; printf(“%d\n“, j);/*输出①*/ x*=i=j; printf(“%d\n“, x);/*输出②*/ x=1; y=2; z=3; x+=y+=z; printf(“%d\n“, z+=xy?x++:y++);/*输出③*/ x=0x02ff; y=0xff00; printf(“%d\n“, (x/*输出④*/ x=y=z=-1; ++x||++y printf(“%d%d%d\n“, x, y, z);/*⑤*/ } -- 3 - 练习练习 4-2 答案答案 一、选择题 1.下面程序的输出是(A)。 #include main() {int x=1, y=0, a=0, b=0; switch (x) {case 1: switch (y) {case 0: a++; break; case 1:b++; break; } case 2: a++; b++; break; } printf(“a=%d, b=%d\n“, a, b); } A.a=2, b=1B.a=1, b=1C.a=1, b=0D.a=2, b=2 2.若有说明:int x ,y;,不能实现以下函数关系的程序段是( B )。             0 0 0 1 0 1 x x x y A.if (x=0) else if (x==0) y=0;if (x!=0)if (x=0)if (x0) y=1; else y=1;if (x0) y=1;{ if (x0) y=1; }else y=0; else y=0;else y=-1;else y=-1; 3.已知:int x, a, b;,下列选项中错误的 if 语句是( B )。 A.if (a=b) x++;B.if (a= main() {char c='A'; if ('0' main() {int a=2, b=-1, c=2; if (a main() {int a=-1, b=1, k; if ((++a main() {char ch; ch=getch(); switch (ch) {case 65: printf(“%c“, 'A'); case 66: printf(“%c“, 'B'); default:printf(“%s\n“, “other“); } } 如程序可以正常运行,当从键盘输入字母 A 时,输出结果为( B )。 -- 5 - A.AB.ABotherC.AotherD.编译错误,无法运行 10.当 a=1, b=3, c=5, d=4 时,执行完成下面一段程序后 x 的值是( B )。 if (a,程序的运行结果是( 4:05PM )。 13.若运行时输入:3 5/,则以下程序的运行结果是( 0.600000 )。 main() {float x, y; char o; double r; scanf(“%f%f%c“, switch (o) {case '+': r=x+y; break; -- 6 - case '-': r=x-y; break; case '*': r=x*y; break; case '/': r=x/y; break; } printf(“%f“, r); } -- 7 - 练习练习 4-3 答案答案 一、选择题 1.以下不是死循环的语句为( D )。 A.for ( ; ; x+=i)B.while (1) { x++; } C.for (i=10; ; i--) sum+=i;D.for (; (c=getchar())!='\n'; ) printf(“%c“, c); 2.执行语句 for (i=0; i++ main() {int a, q, n, sum; a=1; q=2; n=sum=0; do {①; ++n; a*=q; -- 8 - } while (sum main() {int a=10, b=5, c=5, d=5; int i=0, j=0, k=0; for (; ab; ++b) i++; while (a++c) j++; do k++; while (ad++); printf(“%d,%d,%d\n“,i,j,k); } 11.下面过程的运行结果:①是( 8 ),②是( 6 )。 #include main() {int i, j; for (i=0, j=10; i main() {int k, j, m; for (k=5; k=1; k--) {m=0; for (j=k; j main() {int i=0, j=0, k=0, m; for (m=0; m main() {int i=1; while (i(表示回车),则下面程序 的运行结果是( v0=12,v1=4,v2=12 )。 #include main() {char c; int v0=0, v1=0, v2=0; do {switch (c=getchar()) {case 'a': case'A': case 'e': case'E': case 'i': case'I': case 'o': case'O': case 'u': case'U': v1+=1; default: v0+=1; v2+=1; } } while (c!='\n'); printf(“v0=%d,v1=%d,v2=%d\n“, v0, v1, v2); -- 10 - } 4.下面程序段的输出结果是( 死循环 )。 x=3; do {y=x--; if (!y) {printf(“*“); continue; } printf(“#“); } while (1 main() {int i, j, x=0; for (i=0; i2; i++) {x++; for (j=0; j=3; j++) {if (j%2) continue; x++; } x++; } printf(“x=%d\n“, x); }

展开阅读全文

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值