第四章判断字符型变量c1是否为大写字母的正确表达式为______。 (A) 'Z'<=c1<='Z' (B) (c1>='A') (c1<='Z') (C) ('A'>=c1)||('Z'<=c1) (D) (c1>='a')(c1<='Z')已知x=43,ch='A',y=0;则表达式(x>=ych<'B'!y)的值是______。 (A) 0 (B) 语法错 (C) 1 (D)“假”设a=3,b=4,c=5,则逻辑表达式"!(a+b)*c-1b+c%2"的值是______。 (A) -1 (B) 0 (C) 1 (D) 2请从以下表达式中选出a为偶数时值为0的表达式______。 (A) a%2==0 (B) !a%2!=0 (C) a/2*2-2==0 (D) a%2能正确表示a和b同时为正或同时为负的逻辑表达式是______。 (A) (a>=0‖b>=0)(a<0‖b<0) (B) (a>=0b>=0)(a<0b<0) (C) (a+b>0)(a+b<=0) (D) a*b>0能正确表示逻辑关系:"0≤a≤10"的C语言表达式是______。 (A) 0<=a<=10 (B) a>=0,a<=10 (C) a>=0 a<=10 (D) a>=0‖a<=10对y在[3,23]或[100,200]范围内为真的表达式为______。 (A) (y>=3)(y<=23)(y>=100)(y<=200) (B) (y>=3)||(y<=23)||(y>=100)||(y<=200) (C) (y>=3)(y<=23)||(y>=100)(y<=200) (D) (y>=3)||(y<=23)(y>=100)||(y<=200)在C语言中,if语句后的一对圆括号中,用以决定分支流程的表达式______。 (A) 只能用逻辑表达式 (B) 只能用逻辑表达式或关系表达式 (C) 只能用关系表达式 (D) 可用任意表达式为避免嵌套的条件语句if-else的二义性,C语言规定:else与______配对。 (A) 缩排位置相同的if (B) 其之前最近的if (C) 其之后最近if (D) 同一行上的if下列运算符中优先级最低的是______。 (A) *= (B) (C) + (D) !=设ch是字符型变量,其值为A,且有下面的表达式: ch=!(ch>='A'ch<='z')?ch:(ch+32),则表达式的值是______。 (A) A (B) a (C) 2 (D) z设ch是字符型变量,其值为b,且有下面的表达式: ch!=(ch>='a'ch<='z')?ch:(ch-32),则表达式的值是______。 (A) B (B) b (C) 1 (D) 0设a=4,b=3,c=2,d=1,则表达式a<b?b:c<d?a:d的结果为______。 (A) 4 (B) 3 (C) 2 (D) 1能正确表示a、b不能同时为零的逻辑表达式是______。 (A) a==0b!=0||a!=0b==0 (B) (a==0)||(b==0) (C) (a!=0)||(b!=0) (D) a*b==0读程序,程序运行结果是[ ]。 #include <stdio.h> void main() ( int a=5,b=4,c=3,d=2; if (a>b>c) printf("%dn", d); else if ( (c-1>=d) ==1) printf("%dn", d+1); else printf("%dn", d+2); ) (A) 2 (B) 3 (C)4 (D)5表达式2<38<=(a=10)的结果是______。 (A) 0 (B) 1 (C) False (D) True若i为整型变量,且有程序段[1]如下,则输出结果是______。 i=122; if(i%2) printf("####"); else printf("****"); (A) #### (B) **** (C) ####**** (D) 有语法错误[2], 无输出结果若变量都已正确说明,则以下程序段输出为______。 int a=2,b=1,c,d; if (a==b) c=d=a; else c=b; d=b; printf("c=%d,d=%d",c,d); (A) c=1,d=1 (B) c=1,d=2 (C) c=2,d=1 (D) c=2,d=2请阅读以下程序: # include <stdio.h> void main() ( int a=2,b=0,c=0; if(a=b+c) printf("###"); else printf(""); ) 以上程序______。 (A) 有语法错不能通过编译 (B) 可以通过编译但不能连接 (C) 输出 (D) 输出###以下______为不正确的if语句。 (A) if(x<y); (B) if(x!=y) scanf("%d",x) else scanf("%d",y); (C) if(x==y) x+=y; (D) if(x<y) (x++;y++;)读程序,程序运行结果是[ ]。 #include <stdio.h> void main ( ) ( int m=5; if (m++>5) printf("%dn",m); else printf("%dn",m--); )
第四章
判断字符型变量c1是否为大写字母的正确表达式为______。 (A) 'Z'<=c1<='Z' (B) (c1>='A') (c1<='Z') (C) ('A'>=c1)||('Z'<=c1) (D) (c1>='a')(c1<='Z')
已知x=43,ch='A',y=0;则表达式(x>=ych<'B'!y)的值是______。 (A) 0 (B) 语法错 (C) 1 (D)“假”
设a=3,b=4,c=5,则逻辑表达式"!(a+b)*c-1b+c%2"的值是______。 (A) -1 (B) 0 (C) 1 (D) 2
请从以下表达式中选出a为偶数时值为0的表达式______。 (A) a%2==0 (B) !a%2!=0 (C) a/2*2-2==0 (D) a%2
能正确表示a和b同时为正或同时为负的逻辑表达式是______。 (A) (a>=0‖b>=0)(a<0‖b<0) (B) (a>=0b>=0)(a<0b<0) (C) (a+b>0)(a+b<=0) (D) a*b>0
能正确表示逻辑关系:"0≤a≤10"的C语言表达式是______。 (A) 0<=a<=10 (B) a>=0,a<=10 (C) a>=0 a<=10 (D) a>=0‖a<=10
对y在[3,23]或[100,200]范围内为真的表达式为______。 (A) (y>=3)(y<=23)(y>=100)(y<=200) (B) (y>=3)||(y<=23)||(y>=100)||(y<=200) (C) (y>=3)(y<=23)||(y>=100)(y<=200) (D) (y>=3)||(y<=23)(y>=100)||(y<=200)
在C语言中,if语句后的一对圆括号中,用以决定分支流程的表达式______。 (A) 只能用逻辑表达式 (B) 只能用逻辑表达式或关系表达式 (C) 只能用关系表达式 (D) 可用任意表达式
为避免嵌套的条件语句if-else的二义性,C语言规定:else与______配对。 (A) 缩排位置相同的if (B) 其之前最近的if (C) 其之后最近if (D) 同一行上的if
下列运算符中优先级最低的是______。 (A) *= (B) (C) + (D) !=
设ch是字符型变量,其值为A,且有下面的表达式: ch=!(ch>='A'ch<='z')?ch:(ch+32),则表达式的值是______。 (A) A (B) a (C) 2 (D) z
设ch是字符型变量,其值为b,且有下面的表达式: ch!=(ch>='a'ch<='z')?ch:(ch-32),则表达式的值是______。 (A) B (B) b (C) 1 (D) 0
设a=4,b=3,c=2,d=1,则表达式a<b?b:c<d?a:d的结果为______。 (A) 4 (B) 3 (C) 2 (D) 1
能正确表示a、b不能同时为零的逻辑表达式是______。 (A) a==0b!=0||a!=0b==0 (B) (a==0)||(b==0) (C) (a!=0)||(b!=0) (D) a*b==0
读程序,程序运行结果是[ ]。 #include <stdio.h> void main() { int a=5,b=4,c=3,d=2; if (a>b>c) printf("%d\n", d); else if ( (c-1>=d) ==1) printf("%d\n", d+1); else printf("%d\n", d+2); } (A) 2 (B) 3 (C)4 (D)5
表达式2<38<=(a=10)的结果是______。 (A) 0 (B) 1 (C) False (D) True
若i为整型变量,且有程序段[1]如下,则输出结果是______。 i=122; if(i%2) printf("####"); else printf("****"); (A) #### (B) **** (C) ####**** (D) 有语法错误[2], 无输出结果
若变量都已正确说明,则以下程序段输出为______。 int a=2,b=1,c,d; if (a==b) c=d=a; else c=b; d=b; printf("c=%d,d=%d",c,d); (A) c=1,d=1 (B) c=1,d=2 (C) c=2,d=1 (D) c=2,d=2
请阅读以下程序: # include <stdio.h> void main() { int a=2,b=0,c=0; if(a=b+c) printf("###"); else printf(""); } 以上程序______。 (A) 有语法错不能通过编译 (B) 可以通过编译但不能连接 (C) 输出 (D) 输出###
以下______为不正确的if语句。 (A) if(x<y); (B) if(x!=y) scanf("%d",x) else scanf("%d",y); (C) if(x==y) x+=y; (D) if(x<y) {x++;y++;}
读程序,程序运行结果是[ ]。 #include <stdio.h> void main ( ) { int m=5; if (m++>5) printf("%d\n",m); else printf("%d\n",m--); }
A.
4 B.
5 C.
6 D.
7 E.
= 2,b = 3, x = 1;则执行语句 if (a>2) if (b>2) x = 2 ; else x = 3; 后 x 的值是______。 (A) 0 F.
1 G.
2lse x = 3; 后 x 的值是______。 (A) 0 (B) 1 (C) 2 (D) 3______。 (A) if (x>0) (B) if (x>0) printf ( "%f ",-x ) { x=x+y; printf ("%f ", x);} else printf ("%f",-x); else printf ("%f ", -x); (C) if (x>0) (D) if(x>0) {x=x+y ; printf ("%f ", x);}; { x=x+y ; printf ("%f", x)} else printf ("%f", -x) ; else printf ("%f", -x);[ ]。 # include <stdio.h> void main() { int i=0, j=0, k=6; if ((++i>0)||(++j>0)) k++; printf("%d, %d, %d\n", i, j, k); } (A) 1, 0, 6 (B) 1, 0, 7 (C) 1, 1, 6 (D) 1, 1, 7[ ]。 #include <stdio.h> void main() { int x=1,a=0,b=0; switch(x) { case 0: b++; case 1: a++; case 2: a++;b++; } printf("a=%d,b=%d\n",a,b); } (A) a=2,b=1 (B) a=2,b=2 (C) a=1,b=2 (D) a=1,b=1______。 (A) if (x>0) y=1; (B) if(x) else if(x<0)y=-1; if(x>0)y=1; else y=0; else if(x<0)y=-1;y=-1;y=0; if(x) if(x>=0) if(x>0)y=1; if(x>0)y=1;lse if(x==0)y=0; else y=-1; else y=-1;[ ]。 #include <stdio.h> void main() { float x=2.0,y; if(x<0.0) y=0.0; else if(x<5.0) y=1.0/x; else y=1.0; printf("%4.1f\n",y); } (A) 0.0 (B) 0.5 (C) 1.0 (D) 不确定______。 (A) if(x>0) y=1; (B) y=0; else if(x==0) y=0; if(x>0) y=1; else y=-1; else if(x<0) y=-1 ; (C) y=0; (D) if(x>=0) if(x>=0); if(x>0) y=1; if(x>0) y=1 ; else y=0; else y=-1; else y=-1;if((a>b)(b>c)) k=1;if((a>b)||(b>c)) k=1 else k=0; else k=0;if(a<=b) k=0;if(a>b) k=1; else if(b<=c) k=1;lse k=0; else k=0; (C) if(a<=b) k=0; (D) if(a>b) k=1; else if(b<=c) k=1; else if(b>c) k=1; else k=0;______。 (A) 4 (B) 3 (C) 2 (D) 1(expression==0)(expression!=0)(expression==1)(expression!=1)switch(x)switch(x) { case 1.0:printf("*\n"); { case 1:printf("*\n"); case 2.0:printf("**\n"); } case 2:printf("**\n"); }switch (a+b)switch (a+b); { case 1,2:printf("*\n"); { case 1:case 2: printf("*\n"); }|| a<b!c>b的值是[ 1 ]。语言表达式是[ x>2||x<-2 ]。语言提供的三种逻辑运算符是 、||和[ ! ]。=3,b=-4,c=5,表达式!(a>b)+(b!=c)||(a+b)(b-c)的值是[ 1 ]。(b+8)+sin45°≤lnx的C语言表达式是[ (3+a)*(b+8)+sin(45)<=log(x) ]。≤5且a≠3的C语言表达式是[ (0<=aa<=5)(a!=3) ]。'变成'f','w'变成'b'。请在空中填入正确内容。 #include <stdio.h> void main() { char c; c=getchar(); if(c>='a'a<='u') [ c=c+5 ]; else if(c>='v'c<='z') c=c-21; putchar(c); }in() { int s, t, a,; scanf("%d%d",a, b); s=1; t=1; if(a>0) s=s+1; if(a>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应满足的条件是[ b>a>0 ]。[ 3 ]。 #include <stdio.h> void main( ) { int a=1, b=2, c=3; if (a) { if (b<0) c=0; } else c++ ; printf("%d\n",c); }______。 (A)"a" (B)'\77' (C)'\n' (D)'\x5c'______。 (A)4.3 (B)4.8 (C)3.3 (D)3.8______。 (A)038,.5e-6,0xE (B)12.,0Xc33,3.6e0 (C).17,4e1.5,0ade (D)0x6A,30_000,3.e7______。 (A)0x2g,0ff,E5 (B)'\\','\21',12,456 (C)028,04567,0xffff (D)0xaa,'a',"a"i/2+di/2*cc+d/2i/2+c+d______。 (A)x+n=i; (B)x=n%2.5; (C)x=y==5; (D)x=5=4+1;______。 (A)float 5_five=3.4; (B)int _xyz=29 (C)double a1=6.2e4; (D)short do=3;x=x+10=x+y(double)x/3in() { int x; scanf("%d",x); if(x>5)printf("%d",x); else printf("%d\n",x--); } 程序运行结果是[ 3 ]。[ 'c' ]。 #include <stdio.h> void main() { char m='b'; if(m++> 'b') printf(" %c\n",m); else printf("%c\n",m--); }; else b=10.0; printf("%f\n",b); } 程序运行结果是[ 0.500000 ]。switch选择结构中必须有default子句。 B 如果x>y或a<b为真,那么表达式(x>ya<b)为真。 A 假定变量x,y,z在说明时已赋初值,则if ((x=y+5)>0) z=x;是正确的。 B int a=1,b=0,c=1;,则!(a+b)+c-0b+c/2的值为1。 B 语句if(a) x=1;与 if(a==0)x=1;等价。 A if (x>0) {x=x+y ; printf ("%f ", x);} else printf ("%f", -x) ; 语句语法是正确的。 A if语句后面的表达式并不限于是关系表达式或逻辑表达式,而可以是任意表达式。if语句中可以再嵌套if语句。 A !b==c||d<a等价于((!b)==c)||(d<a)。 B 5>0 4>2的结果为假。 A abc逻辑表达式中,当a为假时将不再计算b和c的值了。