C语言程序复习题及参考答案 下载本文

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

{int k=1,s=0; do{

if((k%2)!=0)continue; s+=k;k++; }while(k>10); printf(\}

3.源程序如下,运行时假定键盘输入数据为:2004 #include void main(void) {int n=0; char c;

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 void main(void) {int n=0; char c;

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

int i=10,j=0; do {

j=j+i; i--;

}while(i>2); printf(\}

11.设有以下程序:

#include main() { }

程序运行后,如果从键盘上输入7648;写出输出结果为 。

int n1,n2; scanf(\while(n2!=0) { }

printf(\

n1=n1*10+n2; n2=n2/10;

四、程序填空题:

1.以下程序的功能是:打印出所有的水仙花数。请补充完整。

#include ; void main() { int i,j,k,n;

printf(\ for(n=100; n<=999; n++) {

i= ; j=(n/10);

k= ; 第 30 页 共 88 页