1、C语言第四章习题练习4-1一、选择题1已知:char c=A; int i=1, j;,执行语句j=!c&i+;,则i和j的值是( )。A1,1 B1,0 C2,1 D2,02已知:int x=1, y=2, z;,则执行z=xy?+x:+y;,则z的值为( )。A1 B2 C3 D43已知:int a=4, b=5, c;,则执行表达式c=a=ab后变量a的值为( )。A0 B1 C4 D54已知:char ch=A;,则表达式ch=(ch=A&chx?w:y10?x+100:x-10);printf(%d,w+|z+);printf(%d,!wz);printf(%d,w&z);A0111
2、 B1111 C0101 D01007已知:a=b=c=1且a、b、c均为int型变量,执行以下语句:+a|+b&+c;则变量a值为( ),b值为( )。 A不正确 B0 C2 D1 A1 B2 C不正确 D08执行下面语句后x的值为( )。int a=14, b=15, x;char c=A;x=(a&b)&(ca);ATRUE BFALSE C0 D19要判断char型变量m是否是数字,可以使用下列表达式( )。A0=m&m=9 B0=m&m=9C0=m&m=1)&(x=200)&(x=1)|(x=200)|(x=1)&(x=200)&(x=1)|(x=200)|(x=210)11设x、y
3、和z是int型变量,且x=3, y=4, z=5,则下面表达式中值为0的是( )。Ax&y Bx=y Cx|y+z&y-z D!(x=y&chB&!y的值是( )。A0 B语法错 C1 D“假”13判断char型变量c1是否为小写字母的正确表达式为( )。Aa=c1=a)&(c1=c1)|(z=a)&(c1=z)二、读程序、写结果14下面程序的运行结果:( )、( )、( )、( )、( )。#include main() int i=16, j, x=6, y, z; j=i+1; printf(%dn, j); /*输出*/ x*=i=j; printf(%dn, x); /*输出*/ x
4、=1; y=2; z=3; x+=y+=z; printf(%dn, z+=xy?x+:y+); /*输出*/ x=0x02ff; y=0xff00; printf(%dn, (x&y)4|0x005f); /*输出*/ x=y=z=-1; +x|+y&+z; printf(%d%d%dn, x, y, z); /* */练习4-2一、选择题1下面程序的输出是( )。#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
5、+; b+; break; printf(a=%d, b=%dn, a, b);Aa=2, b=1 Ba=1, b=1 Ca=1, b=0 Da=2, b=22若有说明:int x ,y;,不能实现以下函数关系的程序段是( )。Aif (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语句是( )。Aif (a=b) x+;
6、Bif (a=b) x+; Cif (a-b) x+; Dif (x) x+;4若int i=10;,执行下列程序后,变量i的正确结果是( )。switch (i)case 9: i+=1; case 10:i+=1; case 11:i+=1; default:i+=1;A10 B11 C12 D135设有说明语句:int a=1, b=0;,则执行以下语句后输出为( )。switch (a)case 1: switch (b) case 0: printf(*0*); break; case 1: printf(*1*); break; case 2: printf(*2*); break
7、;A*0* B*0*2* C*0*1*2* D有语法错误6阅读下列程序,其运行结果是( )。#include main()char c=A; if (0=c=x39) printf(YES); else printf(NO);AYES BNO CYESNO D语句错误7下列程序的运行结果为( )。#include main()int a=2, b=-1, c=2; if (ab) if (b0) c=0; else c+=1; printf(%dn, c);A0 B1 C2 D38阅读程序,其运行结果是( )。#include main()int a=-1, b=1, k; if (+a0)&
8、(b-=0) printf(%d %dn, a, b); else printf(%d %dn, b, a);A-1 1 B0 1 C1 0 D0 09选择运行结果。#include main()char ch; ch=getch(); switch (ch) case 65: printf(%c, A); case 66: printf(%c, B); default:printf(%sn, other); 如程序可以正常运行,当从键盘输入字母A时,输出结果为( )。AA BABother CAother D编译错误,无法运行10当a=1, b=3, c=5, d=4时,执行完成下面一段程序
9、后x的值是( )。if (ab) if (cd) x=1; else if (ac) if (bd) x=2; else x=3; else x=6;else x=7;A1 B2 C3 D6二、填空题11以下程序的输出结果是( )。main() int a=100, x=10, y=20, ok1=5, ok2=0; if (xy) if (y!=10) if (!ok1) a=1; else if (ok2) a=10; a=-1; printf(%dn,a);12阅读以下程序:main() int t, h, m; scanf(%d, &t); h=(t/100)%12; if (h=0)
10、 h=12; printf(%d:, h); m=t%100; if (m10) printf(0); printf(%d,m); if (t1200|t=2400) printf(AM); else printf(PM);若运行时输入:1605,程序的运行结果是( )。13若运行时输入:3 5/,则以下程序的运行结果是( )。main() float x, y; char o; double r; scanf(%f%f%c, &x, &y, &o); switch (o) case +: r=x+y; break; case -: r=x-y; break; case *: r=x*y; b
11、reak; case /: r=x/y; break; printf(%f, r);练习4-3一、选择题1 以下不是死循环的语句为( )。Afor ( ; ; x+=i) Bwhile (1) x+; Cfor (i=10; ; i-) sum+=i; Dfor (; (c=getchar()!=n; ) printf(%c, c);2执行语句for (i=0; i+3; );后,变量i的值为( )。A2 B3 C4 D53下面的for语句( )。for (x=0, y=0; (y!=123)&(x4); x+);A是无限循环 B循环次数不定 C循环执行4次 D循环执行3次4与语句while (!x)等价的语句是( )。Awhile (x=0) Bwhile (x!=0) Cwhile (x!=1) Dwhile (x)5定义int i=1;,执行语句while (i+5);后,i的值为( )。A3 B4 C5 D66
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1