A. 10 B. 9 C. 不定 D. 11
12.设执行变量y值为3,执行下列循环语句后,变量y的值是( )。
do y++; while(y++<4); (A)3 (B)4 (C)5 (D)6
13.若k为整型变量,则下面while循环执行的次数是( )。
k=10;
while(k= =0) k=k-1; (A)0次 (B)1次 (C)10次 (D)无限次 14. 以下程序段_________。
x=-1; do
{x=x*x;} while (!x);
A) 是死循环 B) 循环执行 2 次 C) 循环执行 1 次 D) 有语法错误
15.对表达式for( 表达式1; ;表达式3) 可理解为( )
A.)for(表达式1;0; 表达式3) B)for(表达式1;1; 表达式3) C)for(表达式1; 表达式1; 表达式3) D)for(表达式1; 表达式3; 表达式3)
二、填空题:
1. 在循环语句中,continue和break语句的区别是: 语句提前结束本次循环,进
行下一次循环的判断;而 语句跳出循环结构,结束循环。
2、执行下面的程序段后,k值是 。 k=1; n=263; do
{ k*=n;
n/=10; } while(n);
3.用_________________语句可以实现提前结束循环。
4.执行完语句 for (i=0; i <3 ; i ++);后,变量i的值为_________________。
5、在C语言中,实现循环的语句有:if__goto语句、while语句、 语句和for语句。
三、看程序写结果:
1.下列程序段的输出结果是 。 void main() { int i,j;
for(i=4;i>=1;i--) { for(j=1;j<=i;j++)
第 27 页 共 88 页
printf(\printf(\}
2.以下程序运行后的输出结果是 。 #include
{int k=1,s=0; do{
if((k%2)!=0)continue; s+=k;k++; }while(k>10); printf(\}
3.源程序如下,运行时假定键盘输入数据为:2004 #include
while( (c=getchar())!='') {if(c>='0'&&c<='9') n=n*10+c-'0';}
printf(\
结果为:
4.以下程序运行后的输出结果是 。 main() {
char c1,c2; c1='0',c2='9'; for( ;c1 printf(\ \ printf(\} 5.以下程序运行后的输出结果是 。 main() { int i, j, k; for(i=1; i<=10; i++) { for(j=1; j<=31-i; j++)printf(\ for(k=1; k<=2*i-1 ; k++)printf(\*\ printf(\ 第 28 页 共 88 页 } } 6.以下程序运行后的输出结果是 。 #include while( (c=getchar())!='') {if(c>='0'&&c<='9') n=n*10+c-'0';} printf(\(设输入:2518) 7. 以下程序的输出结果是 。 main () {int s,i; for(s=0,i=1;i<3;i++,s+=i); printf(\} 8.以下程序运行后的输出结果是 。 main() { int s=0,n; for(n=0;n<3;n++) {switch(s) { case 0: case 1: s+=1; case 2: s+=2;break; case 3: s+=3; default: s+=4; } printf(“%d ”,s); } } 9. 以下程序的运行结果是_________。 main() { int num=0; while (num<=2) { printf(“=”,num); num++;} } 第 29 页 共 88 页 10.写出程序运行结果 。 #include int i=10,j=0; do { j=j+i; i--; }while(i>2); printf(\} 11.设有以下程序: #include 程序运行后,如果从键盘上输入7648;写出输出结果为 。 int n1,n2; scanf(\while(n2!=0) { } printf(\ n1=n1*10+n2; n2=n2/10; 四、程序填空题: 1.以下程序的功能是:打印出所有的水仙花数。请补充完整。 #include printf(\ for(n=100; n<=999; n++) { i= ; j=(n/10); k= ; 第 30 页 共 88 页