第四章判断字符型变量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--); )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, %dn", 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=%dn",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.1fn",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("%dn",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("%dn",x--); ) 程序运行结果是[ 3 ]。[ 'c' ]。 #include <stdio.h> void main() ( char m='b'; if(m++> 'b') printf(" %cn",m); else printf("%cn",m--); ); else b=10.0; printf("%fn",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的值了。
第四章
判断字符型变量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. 4B. 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. 2
lse 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+d
i/2*c
c+d/2
i/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/3
in() { 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的值了。
题目解答
答案
( A ) 4 ( B ) 5 ( C ) 6 ( D ) 7 设 int a = 2,b = 3, x = 1; 则执行语句 if (a>2) if (b>2) x = 2 ; else x = 3; 后 x 的值是 ______ 。 ( A ) 0 ( B ) 1 ( C ) 2 ( D ) 3 以下 if 语句语法正确的是 ______ 。 ( 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 与 y=(x>0?1:x<0?-1:0); 的功能相同的 if 语句是 ______ 。 ( 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; ( C ) y=-1; ( D ) y=0; if(x) if(x>=0) if(x>0)y=1; if(x>0)y=1; else 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 ) 不确定 以下程序段中不能根据 x 值正确计算出 y 值的是 ______ 。 ( 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; 以下程序段中与语句 k=a>b?(b>c?1:0):0 ;功能等价的是 ______ 。 ( A ) if((a>b)(b>c)) k=1; ( B ) if((a>b)||(b>c)) k=1 else 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; 假定 w 、 x 、 y 、 z 、 m 均为 int 型变量,有如下程序段: w=1; x=2; y=3; z=4; m=(w<x)?w : x; m=(m<y)?m : y; m=(m<z)?m: z; 则该程序运行后, m 的值是 ______ 。 ( A ) 4 ( B ) 3 ( C ) 2 ( D ) 1 若有条件表达式 (expression) ?a++:b-- ,则以下表达式中能完全等价于表达式 (expression) 的是 ______ 。 ( A ) (expression==0) ( B ) (expression!=0) ( C ) (expression==1) ( D ) (expression!=1) 若有以下定义 : float x;int a,b; 则正确的 switch 语句是 ______ 。 ( A ) switch(x) ( B ) switch(x) { case 1.0:printf("*\n"); { case 1:printf("*\n"); case 2.0:printf("**\n"); } case 2:printf("**\n"); } ( C ) switch (a+b) ( D ) switch (a+b); { case 1,2:printf("*\n"); { case 1:case 2: printf("*\n"); } 已知 a=2.5 , b=2 , c=3.6 ,表达式 a>bc>a || a<b!c>b 的值是【 1 】。 表示 " 整数 x 的绝对值大于 2" 时值为 " 真 " 的 C 语言表达式是【 x>2||x<-2 】。 C 语言提供的三种逻辑运算符是 、 || 和【 ! 】。 已知 a=3 , b=-4 , c=5 ,表达式 !(a>b)+(b!=c)||(a+b)(b-c) 的值是【 1 】。 表达式 (3+a)(b+8)+sin45 °≤ lnx 的 C 语言表达式是【 (3+a)*(b+8)+sin(45)<=log(x) 】。 表达式 0 ≤ a ≤ 5 且 a ≠ 3 的 C 语言表达式是【 (0<=aa<=5)(a!=3) 】。 以下程序对输入的一个小写字母,将字母循环后移 5 个位置后输出。如 'a' 变成 '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) ; } 阅读下面程序 : #include <stdio.h> void main() { int s, t, a, b; 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); } 以下不合法的字符常量[3]是 ______ 。 ( A ) "a" ( B ) '\77' ( C)'\n' ( D ) '\x5c' 表达式 3.6-5/2+1.2+5%2 的值是 ______ 。 ( 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" 设有说明语句: int i=5; char c='A'; double d=3.14; ,以下结果为整型的表达式是 ______ 。 ( A ) i/2+d ( B ) i/2*c ( C ) c+d/2 ( D ) i/2+c+d 若变量均已正确定义并赋值,以下合法的赋值语句[4]是 ______ 。 ( 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; 设有说明语句: int x=1; double y=1.0; ,以下不符合 C 语言语法的表达式是 ________ 。 ( A ) ++x,y=x-- ( B ) x=(int)(y/3) ( C ) x=x+10=x+y ( D ) (double)x/3 运行下面的程序,从键盘上输入 3, #include <stdio.h> void main() { 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--); } 读程序,运行时输入 2.0( 回车 ) #include<stdio. h> void main() { float a,b; scanf("%f",a); if (a>10.0) b=1.0/a; else if((a<0.5)(a!=2.0))b= 1.0/(a+2.0); else if(a<10.0) b= 1.0/a ; else b=10.0; printf("%f\n",b); } 程序运行结果是【 0.500000 】。 B 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 的值了。