c语言循环章节练习题(部分答案)
循环章节练习题
一、选择题
1.设有程序段 int k 10; while k 0 k k-1;
则下面描述中正确的是_______.
A. while循环执行10次。
B.循环是无限循环。
C.循环体语句一次也不执行。
D.循环体语句执行一次。
2.设有以下程序段:
int x 0,s 0;
while !x! 0 s+ ++x;
printf “%d”,s ;
则________。
A. 运行程序段后输出0。
B. 运行程序段后输出1。
C.程序段中的控制表达式是非法的。
D.程序段执行无限次。
3.下面程序段的运行结果是________。
x y 0;
while x 15 y++;x+ ++y;
printf “%d,%d”,y,x ;
A.20,7 B. 6,12
C. 20,8 D. 8,20
3.下面程序的功能是从键盘输入的一组字符中统计出大写字母的个数m和小写字母的个数n,并输出m、n中的较大者,请选择填空。
#incldue
main int m 0,n 0;
char c;
while ___1____ ! ’\n’ if c ’A’&&’Z’ m++;
if c ’a’&&’z’ n++;
printf “%d\n”,m n?___2____ ; 1 A.c getchar B.getchar C.c getchar D.scanf “%c”,c ;
2 A. n:m B. m:n C. m:m D. n:n
4.下面程序的功能是在输入的一批正整数中求出最大者,输入0结束循环,请选择填空。
#include
main int a,max 0;
scanf “%d”,&a ;
while _______ if max a max a; scanf “%d”,&a ; printf “%d”,max ;
A.a 0 B.a C.!a 1 D. !a
5.下面程序的运行结果是______。
#include
main int num 0;
while num 2 num++; printf “%d\n”,num ; A.1 B.1 C.1 D.1 2 2 2 3 3 4
6.若运行以下程序时,从键盘输入2473↙,则下面程序的运行结果是_______。
#include
main int c;
while c getchar ! ’\n’
switch c-‘2’ case 0:
case 1: putchar c+4 ;
case 2: putchar c+4 ;break;
case 3: putchar c+3 ;
defauit: putchar c+2 ; break;
printf “\n” ; A.668977 B.668966 C.座机电话号码 D.座机电话号码
7.C语言中while 和do—while循环的主要区别是_______。
A.do—while的循环体至少无条件执行一次
B.while的循环控制条件比do—while的循环控制条件严格。
C. do—while允许从外部转到循环体内。
D. do—while的循环体不能是复合语句。
8.以下程序段________。
x -1;
do x x*x;
while !x ;
A.是死循环。B.循环执行二次。
C.循环执行一次。C.有语法错误。
9.以下描述中正确的是_________。
A.由于do—while循环中的循环体语句只能是一条可执行语句,所以循环体内不能使用复合语句。
B. do—while循环由do开始,用while 结束,在while 表达式 后面不能写分号。
C.在do—while循环体中,一定要有能使while后面表达式的值变为零(“假”)的操作。
D. do—while循环中,根据情况可以省略while 。
10.若有如下程序:int x 3;
do printf “%d\n”,x- 2 ;
while ! --x ;
则上面程序段_________。
A.输出的是1 B.输出的是1和-2
C.输出的是3和0 D.是死循环
11.等比数列的第一项a 1,公比q 2,下面程序的功能是求满足前n项和小于100的最大数n,请选择填空。
#include
main int a 1,q 2,n,sum;
n sum 0;
do ______1______;
while num 100 ;
_____2____;
printf “%d\n”,n ;
1 A.sum++ B.sum+ a C.sum* a D.a+ sum
2 A.n