[题5.14]C语言中while和do—while循环的主要区别是___。 A)do—while的循环体至少无条件执行一次
B)while的循环控制条件比do—while的循环控制条件严格 C)do—while允许从外部转到循环体内 D)do—while的循环体不能是复合语句
[题5.15] 以下能正确计算1×2×3×?×10的程序段是____. A)do {i=1;s=1; s=s*i; i++; }while (i<=10); B) do{i=1;s=0; s=s*i; i++; }while (i<=10); C) i=1;s=1; do{ s=s*i; i++; }while (i<=10); D) i=1;s=0; do{ s=s*i; i++; }while (i<=10);
[题5.16]以下程宇段____. x=-1;
do{x=x*x;}while(!x);
A)是死循环 B)循环执行二次 C)循环执行一次 D)有语法错误
[题5.17]以下描述中正确的是____。
A)由于do—while循环中循环体语句只能是一条可执行语句,所以循环体内 不能使用复合语句
B) do—while循环由do开始,用while结束,在while(表达式)后面不能写分号
C)在do—while循环体中,一定要有能使while后面表达式的值变为零(”假”)的操作
D)do—while循环中,根据情况可以省略while
[题5.18]若有如下语句 int x=3;
do{printf(”%d\n”,x-=2);}while(!(- -x)); 则上面程序段___。
A)输出的是1 B)输出的是1和-2 C)输出的是3和0 D)是死循环
[题5.19]下面程序的功能是计算正整数2345的各位数字平方和,请选择填空. #include
{int n,sum=0; n=2345; do{sum=sum+[1]; n=[2]; }while(n); printf(“sum=%d”,sum); }
[1] A)n B)( n)*( n) C)n/10 D)( n/10)*( n/10)
[2] A)n/1000 B)n/100 C) n/10 D)n0
[题5.21]等比数列的第一项a=1,公比q=2, 下面程序的功能是求满足前n项和小于100的最大n,请选择填空。 #include
{int a,q,n,sum; a=1;q=2;n=sum=0; do{[1];
++n;a*=q; }while(sum<100); [2];
printf(“%d\\n”,n); }
[1]A)sum++ B)sum+=n C)sum*=n D)a+=sum [2]A)n=n-2 B)n=n C)n++ D)n-=1
[题5.25] 下面程序的运行结果是___. #include
{int a=1,b=10; do
{b-=a; a++; }while(b- - <0); printf(“a=%d,b=%d\\n”,a,b); }
A)a=3,b=11 B)a=2,b=8 C)a=1,b=-1 D)a=4,b=9
[题5.26] 下面有关for循环的正确描述是___. A)for循环只能用于循环次数已经确定的情况 B)for循环是先执行循环体语句,后判断表达式 C)在for循环中,不能用break语句跳出循环体
D)for循环的循环体语句中,可以包含多条语句,但必须用花括号括起来.
[题5.27]对for(表达式1; ;表达式3)可理解为___。 A)for(表达式1;0;表达式3) B)for(表达式1;1;表达式3) C)for(表达式1;表达式1;表达式3) D)for(表达式1;表达式3;表达式3)
[题5,28] 若i为整型变量,则以下循环执行次数是___. for(i=2;i==0;) printf(”%d”,i- -); A)无限次 B)0次 C)1次 D)2次
[题5.29] 以下for循环的执行次数是___。 for(x=0,y=0;(y=123)&&(x<4);x++);
A)是无限循环 B)循环次数不定 C)执行4次 D)执行3次
[题5.31]下面程序段的运行结果是___。 for(y=l;y<10;) y=((x=3*y,x+1),x-1); printf(“x=%d,y=%d”,x,y);
A)x=27,y=27 B) x=12,y=13 C) x=15,y=14 D) x=y=27
[题5.34] 执行语句for(i=1;i++<4; );后变量i的值