搜档网
当前位置:搜档网 › C语言第六章习题1

C语言第六章习题1

C语言第六章习题1
C语言第六章习题1

第6章作业

一.选择题

1.以下while循环中,循环体执行的次数是:()

k=1;

while (--k) k=10;

a) 10次b) 无限次c) 一次也不执行d) 1次

2.有以下程序段,其中x为整型变量,以下选项中叙述正确的是:()

x=0;

while (!x!=0) x++;

a) 退出while循环后,x的值为0

b) 退出while循环后,x的值为1

c) while的控制表达式是非法的

d) while循环执行无限次

3. 有以下程序段,其中n为整型变量,执行后输出结果是:()

n=20 ;

while(n--) ; printf(“%d”,n) ;

a) 2 b) 19 c) -1 d) 0

4. 有以下程序段,其中t为整型变量,以下选项中叙述正确的是:()

t=1;

while (-1)

{ t--;

if(t) break;}

a) 循环一次也不执行

b) 循环执行一次

c) 循环控制表达式(-1)不合法

d) 循环执行2次

5. 有以下程序段,其中x为整型变量,以下选项中叙述正确的是:()

x=-1;

do

{;}

while (x++);

printf(“x=%d”,x);

a) 该循环没有循环体,程序错误

b) 输出x=1

c) 输出x=0

d) 输出x=-1

6. 有以下程序段,其中x,y为整型变量,程序输出结果是:()

for(x=0,y=0;(x<=1)&&(y=1);x++,y--) ;

printf(“x=%d,y=%d”,x,y);

a) x=2,y=0 b) x=1,y=0

c) x=1,y=1 d) x=0,y=0

7. 有以下程序:

main()

{ int x=3,y;

do

{ y=--x;

if( !y) printf(“x”) ;

else printf(“y”) ;

} while(x);

}

程序的输出结果是:()

a) xyx b) yyx c) yxx d) yxy

8. 有以下程序段,此处do-while循环的结束条件是:()

int n=0,p;

do {scanf(“%d”,&p);n++;} while (p!=12345&&n<3);

a) p的值不等于12345并且n的值小于3

b) p的值等于12345并且n的值大于等于3

c) p的值不等于12345或者n的值小于3

d) p的值等于12345或者n的值大于等于3

9. 有以下程序:

main()

{ int a,b,t;

for(a=3,b=0 ;!a==b ;a--,b++)

if(a>b) { t=a;a=b;b=t;}

printf(“%d,%d\n”,a,b);

}

程序的输出结果是:()

a) 4,1 b) 1,4 c) 4,-1 d) -1,4

10. 有以下程序:

main()

{ int x=3,y=0;

do

{ while( !y) y=-x;

} while(x--);

printf(“%d,%d\n”,x,y);

}

程序的输出结果是:()

a) -1,3 b) -1,-3 c) 0,0 d) 1,-3

11. 有以下程序:

main()

{ int m,n;

printf(“Enter m,n:”); scanf(“%d%d”,&m,&n);

while(m!=n)

{while(m>n) m-=n;

while(n>m) n-=m;}

printf(“m=%d\n”,m);

}

程序的输出结果是:()

a) m=3 b) m=2 c) m=1 d) m=0

12. 有以下程序:

main()

{ int i,s=1;

for(i=1 ;i<=50 ;i++)

if( !(i%5)&& !(i%3)) s+=i;

printf(“%d\n”,s);

}

程序的输出结果是:()

a) 409 b) 277 c) 1 d) 91

13. 有以下程序:

main()

{ int x=0,y=0,i;

for(i=1 ; ;++i)

{ if(i%2==0) {x++ ;continue ;}

if(i%5==0) {y++ ;break ;}

}

printf(“%d,%d”,x,y);

}

程序的输出结果是:()

a) 2,1 b) 2,2 c) 2,5 d) 5,2

14. 有以下程序:

main()

{ int a,b;

for(a=1,b=1 ;a<=100 ;a++)

{ if(b>=10) break;

if(b%3==1)

{ b+=3; continue; }

}

printf(“%d\n”,a);

}

程序的输出结果是:()

a) 101 b) 6 c) 5 d) 4

15. 有以下程序:

main()

{ int i=0;

for(i+=3 ;i<=5 ;i=i+2)

switch(i%5)

{ case 0: printf(“*”);

case 1: printf(“#”); break;

def ault: printf(“!”); break;

case 2: printf(“&”);

}

}

程序的输出结果是:()

a) *# b) !& c) !*# d) *#* 二.填空题

1.要求使以下程序段输出10个整数,请填空。

for(i=0;i<=_____;printf(“%d\n”,i+=2));

2. 执行下面程序段后,k的值是__________。

r=1; n=203; k=1;

do {k*=n%10*r; n/=10; r++;} while(n);

3. 下面程序的输出结果是_________________。

main()

{ int i,x=10;

for(i=1;i<=x;i++)

if(x%i==0) printf(“%d ”,i);

}

4. 下面程序的输出结果是_____________。

main()

{ int i,sum;

for(i=1;i<6;i++) sum+=i;

printf(“%d”,sum);

}

5. 下面程序的输出结果是______。

main()

{ int i,sum=0;

for(i=2;i<10;i++)

{ if((i%2)!=0) continue;

sum+=i;}

printf(“%d\n”,sum);

}

6. 下面程序的输出结果是_________。

main()

{ int i,j=0,a=0;

for(i=0;i<5;i++)

do

{ if(j%3) break;

a++; j++;

} while(j<10);

printf(“%d,%d\n”,j,a);

}

7. 下面程序的输出结果是_________。

main()

{ int x=9;

for(;x>0;)

{ if(x%3==0)

{ printf(“%d”,--x); continue; }

x--;

}

}

8. 下面程序的输出结果是____________。

main()

{ int i,j=2;

for(i=1;i<=2*j;i++)

switch(i/j)

{ case 0: case 1: printf(“*”); break;

case 2: printf(“#”);

}

}

三.编程题

1.输出100以内能被3整除且个位数为6的所有整数。

相关主题