11.设x,y,z为int型变量,请写出描述“x或y中有一个小于z”的表达式 。
12.已知a=7.5,b=2,c=3.6,表达式a>b && c>a||ab的值是 。 13.while(x)表示while(x )。 14.break语句表示 。
15.while(1){…}表示 。
16. 执行for(i=1,s=0;i<=100;i++) { s+=i; }后, s的值为 。 17.程序: i=1;s=0;
do { s=s+i;
i++;}while (i<=100);
用for语句改写上面的程序段为 。
18.程序段:for (i=1; i<=2; i++)
{ scanf(“%d,%d”,&x,&y); if (x>y) { t=x; x=y; y=-t;} printf(“%d %d”,x,y); }
执行该程序段时,若键盘输入5, 4回车及1, 2回车,则输出结果为 。
19.执行下列语句:
for (i=1,s=0; i<=2; i++) for (j=1; j<=3; j++) { s=s+i+j; }
后,s的值为 。
20.执行下列语句:
scanf (“%c”,&ch); while (ch!=?# ?)
{ printf(“%c”, ch+1); scanf (“%c”,&ch); }
要使得输出结果为cdef, 则输入为 。
21. 以下程序当键盘输入1 2 3 4 5 -1<回车>时,运行结果是:
#include “stdio.h” main()
{ int k=0,n;
do{scanf(%d”,&n);k+=n;} while (n!=-1); printf(“k=%d n=%d\\n”,k,n); }
22. 下列程序段的运行结果是:
for(i=4;i<=1;i--)
for(j=1;j<=i;j++) putchar(?#?);
23.下列程序段要求从键盘输入字符,当输入字母为Y时,循环停止,填空.
while (_______!=?Y?){......}
11
三、判断题:
1. 下面程序 main()
{ int x=3,y=0,z=0; if (x=y+z) printf(“****”); else
printf(“####”); }
执行该程序后输出为 #### 。( )
2. 若K是int型变量,且有下面的程序段: k=-3
if (k<=0) printf(“####”) else printf(“&&&&”); 上面程序段的输出结果是 #### 。( )
3. 设x和y都是int型变量,则以下语句:x+=y;y=x-y;x-=y;的功能是交换x和y的值。( )
4. 设a=5,b=6,c=7,d=8,m=2,n=2,执行(m=a>b)&&(n=c>d)后n的值为0。( ) 5. C语言中无逻辑变量,也无逻辑表达式。( )
6.do {……} while(0); 程序块至少会执行一次.( ) 7.语句 for(i=0;i=10;i++) {---}; 至多循环10次. ( )
8.求一批整数中的最大,最小数分别是多少的程序如下: ( )
#include “stdio.h” main()
{ int n,i,max,min,p;
scanf(“%d %d”, &n,&p);
for (i=1,max=p,min=p; i printf(“max=%d,min=%d”,max,min); } 9.for(;;)表示无限循环. ( ) 10.下面的循环不能正常结束. ( ) for (s=0,i=1; i<=10; ) { s=s+i; i++; } 11.continue语句是终止整个循环的执行. ( ) 12.对for(表达式1;;表达式3;)可理解为for(表达式1;1;表达式3;)( ) 13.下列程序段执行循环二次 ( ) 12 x=-1; do {x=x*x;}while(!x); 14. 下列程序段能计算s=10!的值 ( ) i=1;s=1; do{s=s*i;i++;}while(i<=10); 15. 下列程序段将输出3和0 ( ) int x=3; do {printf(“%d\\n”,x-=2);}while(!--x)); 四、程序阅读题: 1. 以下程序输出的结果是 。 main() { int m=5; if (m++>5) printf(“%d\\n”,m); else printf(“%d\\n”,m--); } 2. 请读程序: #include { float x ,y,z; scanf(“%f%f”,&x,&y); z=x/y; while(1) { if (fabs(z)>1.0) { x=y; y=z; z=x/y; } else break; } printf(“%f\\n”,y); } 若运行时从键盘上输入3.6 2.4<回车>,则输出结果为 。 3. 以下程序的运行结果是 。 main() { int x=1,y=1,z=1; y=y+z; x=x+y; printf(“%d,”,x 13 printf(“%d,%d”,x,y); } 4.以下程序的运行结果是 。 main() { int x,y,z; x=3; y=z=4; printf(“%d,”,(x>=y>=x)?1:0); printf(“%d\\n”,z>=y&&y>=x); } 5. 下列程序的输出结果为 main() { int s=7; do {s-=2;}while(s==0); printf(“s=%d\\n”,s); } 6. 下列程序段的输出结果为 #include “stdio.h” main() { int s=0,k; for(k=7;k>=0;k--) switch(k) { case 1: case 4: case 7: s++; break; case 2: case 3: case 6: break; case 0: case 5: s+=2; break; } printf(“s=%d\\n”,s); } 7. 下列程序的输出结果为 main() { int i,j; for(i=4;i>=1;i--) { printf(“*”); for(j=1;j<=4-i;j++) printf(“*”); printf(“\\n”); 14 } } 8. 下列程序的运行结果为 main() { int i,j,sum,m,n=4; sum=0; for(i=1;i<=n;i++) { m=1; for(j=1;j<=i;j++) m=m*j; sum=sum+m; } printf(“sum=%d\\n”,sum); } 9.阅读下列程序: #include “stdio.h” main() { char ch; while ((ch=getchar()) != ?\\n?) { if (ch>=?A? && ch<=?Z?) ch=ch+32; else if (ch>=?a? && ch<=?z?) ch=ch-32; printf(“%c”,ch); } printf(“\\n”); } 执行时,如果从键盘上输入:ABCdef<回车>,则运行结果是 。 10.阅读下列程序: #include “stdio.h” main() { int y=10; do { y--; }while(--y); printf(“%d\\n”,y--); } 该程序的运行结果是 。 11.阅读下列程序: #include “stdio.h” main() { int i,j,x=0; for (i=0; i<2; i++) { x++; 15