1、ch(ch=Z) D) (A=ch)4.7 设x、y和z是int型变量,且x=3,y=4,z=5,则下面表达式中值为0的是_。A)x&yB)x=yC)x|y+z&y-zD)!(x=y&B&!y)的值是_。A) 0 B) 语法错 C) 1 D) “假”4.9 若希望当A的值为奇数时,表达式的值为“真”,A的值为偶数时,表达式的值为“假”。则以下不能满足要求的表达式是_。 A) A%2=1 B) !(A%2=0) C) !(A%2) D) A%24.10 设有:int a=1,b=2,c=3,d=4,m=2,n=2; 执行(m=ab)&(n=cd)后n的值为_。 A) 1 B) 2 C) 3 D)
2、 44.11 判断char型变量c1是否为小写字母的正确表达式为_。 A) a=c1(c1=c1)|(z=a)&c1x)&(b=yz);5644.15 以下不正确的if语句形式是_。A)if(xy&x!=y);B)if(x=y)x+=y;C)if(x!y)scanf(“%d”,&x) else scanf(“%d”,&y);D)if(xy)z=x;x=y;y=z;A) x=10,y=20,z=30 B) x20,y=30,z=30C) x=20,y=30,z=10 D) x20,y=30,z=204.18 以下if语句语法正确的是_。0)printf(“%f”,x);else printf(“
3、%f”,-x);B)if(x x=x+y; printf(“%f”,x);C)if(xx=x+y;eles printf(“%f”,-x);D)if(x printf(“%f”,x)4.19 请阅读以下程序:main( ) int a=5,b=0,c=0; if(a=b+c) printf(“*n”); else printf(“$n”);以上程序_。A) 有语法错误不能通过编译 B) 可以通过编译但不能通过连接C) 输出 * D) 输出 $4.20 以下程序的运行结果是_。 int m=5; if(m+5) printf(“%dn”,m); else printf(“%dn”,m-);A)
4、4 B) 5 C) 6 D) 74.21 当a=1,b=3,c=5,d=4时,执行完下面一段程序后x的值是_。if(ab)if(cd) x=1;else if(ac) if(bx+1下面程序中能正确表示上面关系的是_。A)y=x+1=0) if(x=0) y=x;else y=x-1;B)y=x-1;if(x! if(x0) y=x+1;else y=x;C)if(xif(x0) y=x-1; else y=x+1;D)y=x; if(x4.23 以下程序的输出结果是_。 int a=100, x=10, y=10, ok1=5, ok2=0;y) if(y!=10) if(!ok1) a=1
5、; else if(ok2) a=10; a=-1;printf(“%dn”,a); A) 1 B) 0 C) 1 D) 值不确定4.24 以下程序的输出结果是_。 int x=2,y=-1, z=2; if(y0) z=0; else z+=1; printf(“%dn”,z);4.25 为了避免在嵌套的条件语句if-else中产生二义性,C语言规定:else子句总量与_配对。 A) 缩排位置相同的if B) 其之前的最近的if C) 其之后最近的if D) 同一行上的if4.26 以下不正确的语句为_。B)if(x=y)&(x!=0) x+=y;y) scanf(“%d”,&x); els
6、e scanf(“%d”,&y)x+;y+;4.27 请阅读以下程序:#include “stdio.h”main() float a,b; scanf(“%f”,&a);0.0)b=0.0; else if(a0.5)&(a!=2.0) b=1.0/(a+2.0); else if(a10.0) b=1.0/x; else b=10.0; prinf(“%fn”,y);若运行时输入2.0,则上面程序的输出结果是_。A) 0.000000 B) 0.500000 C) 1.000000 D) 0.2500004.28 若有条件表达式(exp)?a+:b+,则以下表达式中能完全等价表达式(exp
7、)的是_。A) (exp=0) B) (exp!C) (exp=1) D) (exp!=1)4.29 若运行时给变量x输入12,则以下程序的运行结果是_。 int x,y; scanf(“%d”,& y=x12?x+10:x-12; printf(%dn”,y); A) 0 B) 22 C) 12 D) 104.30 则以下程序的运行结果是_。 int k=4,a=3,b=2,c=1; printf(“n%dn”,ka?k:cb?c:A) 4 B) 3 C) 2 D)14.31 执行以下程序段后,变量a,b,c的值分别是_。int x=10,y=9;a=(-x=y+)?-x:+y;b=x+;c
8、=y;A) a=9,b=9,c=9 B) a=8,b=8,c=10C) a=9,b=10,c=9 D) a=1,b=11,c=104.32 若w、x、y、z、m均为int型变量,则执行下面语句后的m值是_。w=1; x=2; y=3; z=4;m=(wx)?w:x;m=(my)?m:y;z)?z;A) 1 B) 2 C) 3 D) 44.33 若 w=1, x=2, y=3, z=4,则条件表达式wx?y10?x+100:x-10);printf(“%dn”,w+|z+);printf(“%dn”,!wprintf(“%dn”,w&4.2 填空题4.35 当a=3,b=2,c=1时,表达式f=
9、abc的值是_。4.36 当a=5,b=4,c=2时,表达式ab!=c的值是_。4.37 以下程序运行的结果是_。 int x=1,y,z; x*=3+2; printf(“%dt”,x); x*=y=z=5; x=y=z;4.38 在C中,表示逻辑真值用_。4.39 设y为int型变量,请写出描述“y是奇数”的表达式_。4.40 C语言提供的三种逻辑运算符是_。4.41 设x,y,z均为int型变量,请写出描述“x或y中有一个小于z”的表达式_。4.42 设x,y,z均为int型变量,请写出描述“x,y和z中有两个为负数”的表达式_。4.43 已知A7.5,B=2,C=3.6,表达式AB&C
10、A|AB的值是_。4.44 若有a=6,b=4,c=2,则表达式!(a-b)-c-1&b+c/2的值是_。4.45 若a=2,b=4,则表达式!(x=a)|(y=b)&0的值是_。4.46 若a=1,b=4,c=3,则表达式!(ab)|!c&1的值是_。4.47 若a=6,b=4,c=3,则表达式a&bc|b-c的值是_。4.48 若a=5,b=2,c=1,则表达式a-bc|b=c的值是_。4.49 设a=3,b=4,c=5,则表达式a|b+c&b=c的值是_。4.50 条件“23或xc)后,n的值为_1_,m的值为_2_。4.52 以下程序的运行结果是_。 int x,y,z; x=1; y
11、=2; z=3; x=y-=x|x+y!=z; printf(“%d,%d”,x,y);4.53 以下程序的运行结果是_。 int a1,a2,b1,b2; int i=5,j=7,k=0; a1=!k; a2=i!=j; printf(“a1=%dta2=%dn”,a1,a2); b1=k&j; b2=k|j; printf(“b1=%dtb2=%dn”,b1,b2);4.54 以下程序的运行结果是_。 y=1; z=0; x=x|y& printf(“%d,%d”,x,x&y|z);4.55 有int x,y,z;且x3, y4, z5, 则表达式(x&y)=(x|z)的值为_。4.56有
12、int x,y,z;且x3, y4, z5, 则以下表达式的值为_。y)+(y!=z)|(x+y)&(y-z)4.57有int x,y,z;且x3, y4, z5, 则表达式x+-y+(+z)的值为_。4.58设a=3,b=4,c=5,则表达式a|b+c&4.59设a=3,b=4,c=5, x,y;则以下表达式的值是_。(x=a)&(y=b)&4.60 有int a3, b=4,c5;则以下表达式的值为_。(a+b)+c-1&b+c/24.61 若运行时输入:16=18) printf(“your $ 4.5 yuan/xiaoshi”); printf(“your $ 3.0 yuan/xi
13、aoshi”);4.62 略4.63 略4.64 略4.65 请阅读以下程序: int t,h,m;t); h=(t/100)%12; if(h=0) 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时,程序的运行结果是_。4.66 以下程序实现:输入圆的半径r和运算标志m,按照运算标志进行指定计算。请在_内填入正确内容。标志运算面 积周 长二者均计算 #define pi 3.1415
14、9char m;float r,c,a;printf(“input mark a c or b & rn”);scanf(“%c %f”,&m,&r);if(_1_) a=pi*r*r; printf(“area is %f”,a);if(_2_) c=2*pi*r; printf(“circle is %f”,c);if(_3_) c=2*pi*r; printf(“area & circle are %f %f”,a,c);4.67 若运行是输入:5999=0&=2999) y=18+0.12*x;=3000&=5999) y=36+0.6*x;=6000&=10000) y=54+0.3
15、*x; printf(“%6.1f”,y); 4.68 以下程序实现输出x,y,z三个数中的最大者。请在_内填入正确内容。 int x=4, y=6, z=7; int _1_; if(_2_) u=x; else u=y; if(_3_) v=u; else v=z; printf(“v=%d”,v);4.69 以下程序实现:输入三个整数,按从大到小的顺序进行输出。请在_内填入正确的内容。 int x,y,z,c; scanf(“%d %d %d”,&x,&y,&if(_1_) c=y; y=z; z=c;if(_2_) c=x; x=z; z=c;if(_3_) x=y; y=c;prin
16、tf(“%d, %d,%d”,x,y,z);4.70 以下程序对输入的两个整数,按从大到小顺序输出。请在_填入正确内容。 int x, y, z; scanf(“%d,%d”,& if(_1_) z=x; _2_4.71 以下程序对输入的一个小写字母,将字母循环后移5人位置输出。如a变成f,w变成b。 char c; c=getchar( ); if(c=a&=u) _1_; else if(c=v&=z) _2_; putchar(c);4.72 输入一个字符,如果它是一个大写字母,则把它变成小写字母;如果它是一个小写字母,则把它变成大写字母;其它字符不变。 char ch; scanf(“
17、%c”,&ch); if(_) ch=ch+32; else if(ch=z) _; printf(“%c”,ch);4.73 以下程序的运行结果是_。 int a, b, c; int s, w, t; s=w=t=0; b=3; c=3;0) s=a+b; if(b0) if(c0) x=4;printf(“t%dn”,x);4.76以下程序的运行结果是_。 int x, y=-2, z=0; if(z=y0) s=s+1;b) t=s+t; else if(a=b) t=5; else t=2*s; printf(“s=%d, t=%d”, s, t);为了使输出结果t=4,输入量a和b应满足的条件是_。4.78请阅读的程序。
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1