c语言 从外部转到循环体内,c语言循环章节练习题(部分答案).doc

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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值