[题5.51]下面程序的运行结果是___. #include
{ int k=0;char c=’A’; do
{ switch (c++)
{case ‘A’:k++;break; case ‘B’:k--; case ‘C’:k+=2;break; case ‘D’:k=k%2;continue; case ‘E’:k=k*10;break;
default:k=k/3; }
k++; }
while(c<’G’);
printf(“k=%d\n”,k); }
A) k=3 B)k=4 C)k=2 D)k=0
[题5.54]下面程序的运行结果是 #include
main() {int i,j,x=0; for(i=0;i<2;i++) {x++;
for(j=0;j<=3;j++) {if(j%2)contine; x++; } x++; }
printf (“x=%d\\n”,x); }
A)x=4 B) x=8 C) x=6 D) x=12
[题5.56]下面程序的运行结果是 main() { int i,j,a=0; for(i=0;i<2;i++) { for(j=0;j<4;j++) {if (j%2) break; a++; }
a++; }
printf(“%d\\n”,a); }
A)4 B) 5 C) 6 D)7
5.2 填 空 题
[题5.57]下面程序段是从键盘输入的字符中统计数字字符的个数,用换行符结束循环。请填空。 int n=0,c; c=getchar(); while([1]) {if([2]) n++; c=getchar(); }
[1] c!=’\\n’ [2] c>=’1’ && c<=’9’
[题5.59]有1020个西瓜,第一天卖一半多两个,以后每天卖剩下的一半多两个,问几天以后能卖完?请填空。 #include
day=0;x1=1020;
while([1]) {x2=[[2];x1=x2;day++;} printf(“day=%d\\n”,day); }
[1] x1 [2]x1/2-2
[题5.60]下面程序的功能是用“辗转相除法”求两个正整数的最大公约数。请填空。 #include
scanf(”%d%d”,&m,&n); if(m while(r) {m=n,n=r,r=[2];} printf(“%d\n”,n); [1]r=m,m=n,n=r [2]m%n [题5.62] 下面程序的运行结果是____. #include { int a,s,n,count; a=2;s=0;n=1;count=1; while(count<=7) {n=n*a;s=s+n;++count;} printf(“s=%d”,s); } S=254 [题5.63]当运行以下程序时,从键盘键入China? { int v1=0,v2=0;char ch; while ((ch=getchar())!=’#’) switch(ch) {case ‘a’; case ‘h’; default:v1++; case’o’:v2++; } printf(“%d,%d\\n”,v1,v2); } 5,5 [题5.64] 执行下面程序段后,k值是____.