武汉大学c语言新题库1 下载本文

内容发布更新时间 : 2024/5/6 14:45:16星期一 下面是文章的全部内容请认真阅读。

}

(A) 1, 0, 6 (B) 1, 0, 7 (C) 1, 1, 6 (D) 1, 1, 7

读程序,程序运行结果是【 】。 #include void main()

{ int x=1,a=0,b=0; switch(x) { case 0: b++; case 1: a++;

case 2: a++;b++; } printf(\ }

(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 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(\ }

(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)

13

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

(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(\{ case 1:printf(\ case 2.0:printf(\} case 2:printf(\} (C) switch (a+b) (D) switch (a+b);

{ case 1,2:printf(\ { case 1:case 2: printf(\}

已知a=2.5,b=2,c=3.6,表达式a>b&&c>a || ab的值是【 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<=a&&a<=5)&&(a!=3) 】。

以下程序对输入的一个小写字母,将字母循环后移5个位置后输出。如'a'变成'f','w'变成'b'。请在空中填入正确内容。 #include 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); }

14

阅读下面程序: #include void main() { int s, t, a, b; scanf(\ 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(\

为了使输出结果t=4, 输入量a和b应满足的条件是【

以下程序运行后的输出结果是【 3 】。 #include void main( )

{ int a=1, b=2, c=3; if (a)

{ if (b<0) c=0; } else c++ ; printf(\ }

运行下面的程序,从键盘上输入3, #include void main()

{ int x; scanf(\,&x); if(x>5)printf(\,x); else printf(\,x--); }

程序运行结果是【 3 】。

读程序,程序运行结果是【 'c' 】。 #include void main() { char m='b';

if(m++> 'b') printf(\ else printf(\}

读程序,运行时输入2.0(回车) #include void main()

{ float a,b; scanf(\ 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;

b>a>0 15

】。 printf(\ }

程序运行结果是【 0.500000 】。

B switch选择结构中必须有default子句。

B 如果x>y或ay&&a

A 假定变量x,y,z在说明时已赋初值,则if ((x=y+5)>0) z=x;是正确的。 B int a=1,b=0,c=1;,则!(a+b)+c-0&&b+c/2的值为1。 B 语句if(a) x=1;与 if(a==0)x=1;等价。

A if (x>0) {x=x+y ; printf (\语句语法是正确的。

A if语句后面的表达式并不限于是关系表达式或逻辑表达式,而可以是任意表达式。if语句中可以再嵌套if语句。 A !b==c||d0 && 4>2的结果为假。

A a&&b&&c逻辑表达式中,当a为假时将不再计算b和c的值了。

第五章未看

执行程序段: x=-1; do { x=x*x;} while(!x); 的结果是______。 (A)死循环 (B)循环执行2次 (C)循环执行一次 (D)有语法错误 有以下程序: #include void main()

{ while(putchar(getchar())!='?'); }

当输入\时,程序的执行结果是______。

(A)hello (B)dijob (C)dijob? (D)hello?

以下程序的输出为______。 #include

void main( ) { int y=5; while (y--); printf (\(A)y=0 (B)无限循环,无结果输出 (C)y=1 (D)y=-1

设有程序段: int x=0,s=0; while(x!=0) s+=++x; printf(\则运行程序段后______。 (A)输出0 (B)输出1 (C)控制表达式是非法的 (D)执行无限次

设有程序段: int k=10; while(k=0) k=k-1; ,则下面描述正确的是______。 (A)while 循环执行10次 (B)循环是无限循环 (C)循环体语句一次也不执行 (D)循环体语句执行一次

C语言的do-while循环中,循环由do开始,用while结束;而且在while表达式后面的______不能丢,它表示do-while循环的结束。

16