C语言第四章习题109更新.docx
- 文档编号:25719033
- 上传时间:2023-06-11
- 格式:DOCX
- 页数:14
- 大小:23.32KB
C语言第四章习题109更新.docx
《C语言第四章习题109更新.docx》由会员分享,可在线阅读,更多相关《C语言第四章习题109更新.docx(14页珍藏版)》请在冰豆网上搜索。
C语言第四章习题109更新
练习4-1
一、选择题
1.已知:
charc='A';inti=1,j;,执行语句j=!
c&&i++;,则i和j的值是(CB)。
A.1,1B.1,0C.2,1D.2,0
2.已知:
intx=1,y=2,z;,则执行z=x>y?
++x:
++y;,则z的值为(C)。
A.1B.2C.3D.4
3.已知:
inta=4,b=5,c;,则执行表达式c=a=a>b后变量a的值为(A)。
A.0B.1C.4D.5
4.已知:
charch='A';,则表达式ch=(ch>='A'&&ch<='Z')?
(ch+32):
ch;的值是(B)。
A.'A'B.'a'C.'Z'D.'z'
5.若w=1,x=2,y=3,z=4;,则条件表达式w>x?
w:
y y: z的结果为(B)。 A.4B.3C.2D.1 6.已知: intw=3,x=10,z=7;,则执行下面语句后的结果为(C)。 printf("%d",x>10? x+100: x-10); printf("%d",w++||z++); printf("%d",! w>z); printf("%d",w&&z); A.0111B.1111C.0101D.0100 7.已知: a=b=c=1且a、b、c均为int型变量,执行以下语句: ++a||++b&&++c; 则变量a值为(C①),b值为(②BA)。 ①A.不正确B.0C.2D.1 ②A.1B.2C.不正确D.0 8.执行下面语句后x的值为(D)。 inta=14,b=15,x; charc='A'; x=((a&b)&&(c<'a')); A.TRUEB.FALSEC.0D.1 9.要判断char型变量m是否是数字,可以使用下列表达式(AB)。 A.0<=m&&m<=9B.'0'<=m&&m<='9' C."0"<=m&&m<="9"D.前面三个答案均是错误的 10.能正确表示“当x取值在[1..10]和[200..210]范围内为真,否则为假”的表达式是(C)。 A.(x>=1)&&(x<=10)&&(x>=200)&&(x<=210) B.(x>=1)||(x<=10)||(x>=200)||(x<=210) C.(x>=1)&&(x<=10)||(x>=200)&&(x<=210) D.(x>=1)||(x<=10)&&(x>=200)||(x<=210) 11.设x、y和z是int型变量,且x=3,y=4,z=5,则下面表达式中值为0的是(D)。 A.'x'&&'y'B.x<=yC.x||y+z&&y-zD.! ((x z||1) 12.已知x=43,ch='A',y=0;,则表达式x>=y&&ch<'B'&&! y的值是(C)。 A.0B.语法错C.1D.“假” 13.判断char型变量c1是否为小写字母的正确表达式为(D)。 A.'a'<=c1<='z'B.(c1>=a)&&(c1<=z) C.('a'>=c1)||('z'<=c1)D.(c1>='a')&&(c1<='z') 二、读程序、写结果 14.下面程序的运行结果: ①(17)、②(102)、③(69)、④(0127)、⑤(0,-1,000-1)。 #include main() {inti=16,j,x=6,y,z; 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+=x>y? x++: y++);/*输出③*/ x=0x02ff;y=0xff00; printf("%d\n",(x&y)>>4|0x005f);/*输出④*/ x=y=z=-1; ++x||++y&&++z; printf("%d%d%d\n",x,y,z);/*⑤*/ } 练习4-2 一、选择题 1.下面程序的输出是(A)。 #include main() {intx=1,y=0,a=0,b=0; switch(x) {case1: switch(y) {case0: a++;break; case1: b++;break; } case2: 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.若有说明: intx,y;,不能实现以下函数关系的程序段是(B)。 A.if(x<0)y=-1;B.y=-1;C.y=0;D.if(x>=0) elseif(x==0)y=0;if(x! =0)if(x>=0)if(x>0)y=1; elsey=1;if(x>0)y=1;{if(x>0)y=1;}elsey=0; elsey=0;elsey=-1;elsey=-1; 3.已知: intx,a,b;,下列选项中错误的if语句是(AB)。 A.if(a=b)x++;B.if(a= 4.若inti=10;,执行下列程序后,变量i的正确结果是(D)。 switch(i) {case9: i+=1; case10: i+=1; case11: i+=1; default: i+=1; } A.10B.11C.12D.13 5.设有说明语句: inta=1,b=0;,则执行以下语句后输出为(B)。 switch(a) {case1: switch(b) {case0: printf("**0**");break; case1: printf("**1**");break; } case2: printf("**2**");break; } A.**0**B.**0****2**C.**0****1****2**D.有语法错误 6.阅读下列程序,其运行结果是(DA)。 #include main() {charc='A'; if('0'<=c<='39')printf("YES"); elseprintf("NO"); } A.YESB.NOC.YESNOD.语句错误 7.下列程序的运行结果为(C)。 #include main() {inta=2,b=-1,c=2; if(a if(b<0)c=0; elsec+=1; printf("%d\n",c); } A.0B.1C.2D.3 8.阅读程序,其运行结果是(DC)。 #include main() {inta=-1,b=1,k; if((++a<0)&&(b--<=0))printf("%d%d\n",a,b); elseprintf("%d%d\n",b,a); } A.-11B.01C.10D.00 9.选择运行结果。 #include main() {charch; ch=getch(); switch(ch) {case65: printf("%c",'A'); case66: printf("%c",'B'); default: printf("%s\n","other"); } } 如程序可以正常运行,当从键盘输入字母A时,输出结果为(B)。 A.AB.ABotherC.AotherD.编译错误,无法运行 10.当a=1,b=3,c=5,d=4时,执行完成下面一段程序后x的值是(B)。 if(a if(c elseif(a if(b elsex=3; elsex=6; elsex=7; A.1B.2C.3D.6 二、填空题 11.以下程序的输出结果是(-1)。 main() {inta=100,x=10,y=20,ok1=5,ok2=0; if(x if(y! =10) if(! ok1)a=1; elseif(ok2)a=10; a=-1; printf("%d\n",a); } 12.阅读以下程序: main() {intt,h,m; scanf("%d",&t); h=(t/100)%12; if(h==0)h=12; printf("%d: ",h); m=t%100; if(m<10)printf("0"); printf("%d",m); if(t<1200||t==2400)printf("AM"); elseprintf("PM"); } 若运行时输入: 1605 4: 05PM 13.若运行时输入: 35/ main() {floatx,y;charo;doubler; scanf("%f%f%c",&x,&y,&o); switch(o) {case'+': r=x+y;break; case'-': r=x-y;break; case'*': r=x*y;break; case'/': r=x/y;break; } printf("%f",r); } 练习4-3 一、选择题 1.以下不是死循环的语句为(BD)。 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++<3;);后,变量i的值为(BC)。 A.2B.3C.4D.5 3.下面的for语句(AC)。 for(x=0,y=0;(y! =123)&&(x<4);x++); A.是无限循环B.循环次数不定C.循环执行4次D.循环执行3次 4.与语句while(! x)等价的语句是(DA)。 A.while(x==0)B.while(x! =0)C.while(x! =1)D.while(~x) 5.定义inti=1;,执行语句while(i++<5);后,i的值为(CD)。 A.3B.4C.5D.6 6.若a=1,b=10为int型变量,则执行以下语句后b的值为(①AD),a的值为(②B)。 do {b-=a; a++; }while(b--<0); ①A.9B.-2C.-1D.8 ②A.4B.2C.1D.3 7.若inta=5;,则执行以下语句后打印的结果为(BA)。 do {printf("%2d\n",a--); }while(! a); A.5B.不打印任何内容C.4D.陷入死循环 8.若intx;,且有下面的程序片段,则输出结果为(D)。 for(x=3;x<6;x++)printf((x%2)? "**%d": "##%d\n",x); A.**3B.##3C.##3D.**3##4 ##4**3**4##5**5 **5##5 9.等比数列的第一项a=1,公比q=2,下面程序的功能是求满足前n项和小于100的最大n,请选择填空。 (B①),(D②)。 #include main() {inta,q,n,sum; a=1;q=2;n=sum=0; do {①; ++n; a*=q; }while(sum<100); ②; printf("%d\n",n); } ①A.sum++B.sum+=aC.sum*=aD.a+=sum ②A.n=n-2B.n=nC.n++D.n-=1 二、读程序,写结果 10.下列程序的运行结果为: i=(①5),j=(②14),k=(③16)。 #include main() {inta=10,b=5,c=5,d=5; inti=0,j=0,k=0; for(;a>b;++b)i++; while(a>++c)j++; dok++; while(a>d++); printf("%d,%d,%d\n",i,j,k); } 11.下面过程的运行结果: ①是(24681012141618208),②是(06)。 #include main() {inti,j; for(i=0,j=10;i printf("%d\n",i);/*输出①*/ printf("%d\n",j);/*输出②*/ } 12.下面程序的运行结果是(7515)。 #include main() {intk,j,m; for(k=5;k>=1;k--) {m=0; for(j=k;j<=5;j++)m=m+k*j; } printf("%d\n",m); } 练习4-4 读程序,写结果 1.下面程序的运行结果是(0,1,2,40,1,2,5)。 #include main() {inti=0,j=0,k=0,m; for(m=0;m<4;m++) switch(m) {case0: i=m++; case1: j=m++; case2: k=m++; case3: m++; } printf("\n%d,%d,%d,%d",i,j,k,m); } 2.下面程序的运行结果是(52,5,8,11,14)。 #include main() {inti=1; while(i<=15) if(++i%3! =2)continue; elseprintf("%d",i); printf("\n"); } 3.若运行以下程序时,从键盘输入Adescriptor #include main() {charc; intv0=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); } 4.下面程序段的输出结果是(###死循环)。 x=3; do {y=x--; if(! y) {printf("*"); continue; } printf("#"); }while(1<=x<=2); 5.下面程序的运行结果是(6x=8)。 #include main() {inti,j,x=0; for(i=0;i<2;i++) {x++; for(j=0;j<=3;j++) {if(j%2)continue; x++; } x++; } printf("x=%d\n",x); }
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 语言 第四 习题 109 更新