C语言循环结构l练习题.doc
文本预览下载声明
循环结构复习
考点1 while语句构成的循环结构
一、选择题
1、以下不构成无限循环的语句或者语句组是 (2008.04)
A)n 0; B n 0; do ++n; while n 0 ; while 1 n++;
C n 10; D for n 0,i 1; ;i++
while n ; n--; n+ 1;
解析:本题主要考查各种循环语句的掌握情况。选项A中为do-while循环语句,首先执行do后面的语句“++n;”得n 1,while条件表达式为假,退出循环。选项B中,while条件表达式的值始终为1。条件为真,构成无限循环。选项C中“while n ;”语句的循环体为空,n的值在循环中一直保持不变,构成无限循环。选项D中,i 1,for语句中条件判断语句为空,永远为真,构成无限循环。
2、若有以下程序:
main int y 10;
while y-- ;
printf “y %d\n”,y ; 程序运行后的输出结果是 。(2007.09)
A y 0 B y -1 C y 1 D while 构成无限循环
解析:while语句一般形式为: while 表达式 语句; 其语句先判断表达式,后执行语句。而表达式y—先返回y的当前值,再进行-1运算。、
3、在以下给出的表达式中,与while E 中的“ E ”不等价的表达式是 。(2006.04)
A !E 0 B E 0 || E 0 C E 0 D E! 0
解析:选项C表示E条件为假时,“ E 0 ”为真。其它都与“ E ”等价。
二、填空题
1、以下程序的输出结果是 。(2007.09)
#include
main int n 12345,d;
while n! 0 d n%10; printf %d,d ; n/ 10; 解析:本题考查的重点是对while循环的理解与运用。若n不为0,则n对10进行模运算,并打印出n%10的值,之后再进行n/ 10运算,直至n为0时结束循环。因此,依次输出54321。
2、当执行以下程序时,输入1座机电话号码0 ,则其中while循环将执行 次。(2007.04)
#include
mian char ch;
while ch getchar 0 printf # ; 解析:ch getchar 的功能是从终端读入一个字符赋给变量ch,由于getchar 只能接收一个字母,所以输入的字符1被赋给ch,即“1! 0”,循环体不执行,直接退出while循环,所以循环体执行的次数为0。
3、有以下程序,若运行时从键盘输入18 11 ,则程序的输出结果是 。(2006.09)
main int a,b;
printf Enter a,b: ;
scanf %d,%d,a,b ;
while a! b while a b a- b;
while b a b- a;
printf %3d%3d\n,a,b ; 解析:键盘输入后变量a 18,b 11,在循环语句while 表达式 循环体中,表达式控制循环体是否执行,a- b等价于a a-b。
考点2 do-while语句构成的循环结构
一、选择题
1、有以下程序:
#include
main int i 5;
do if i%3 1
if i%5 2 printf *%d,i ; break;
i++;
while i! 0 ; printf \n ; 程序运行的结果是 。(2008.09)
A *7 B *3*7 C *5 D *2*6
解析:本题主要考查do-while语句。在do-while构成的循环中,总是先执行一次循环体,然后再求表达式的值。在循环中,如果i得值能满足 i%3 1 i%5 2 ,那么输出i的值,退出循环。
2、若变量已正确定义,有以下程序段:
i 0;
do printf %d,i ; while i++ ;
printf %d,i ;
其输出结果是 。(2007.09)
解析:本题考查的重点是do-while用法。do-while循环是先执行循环体中的语句,然后再判断while中的条件是否为真,如果为真(非零)则继续循环;如果为假,则终止循环。因此,do-while循环至少要执行一次循环语句。
3、有以下程序:
main int k 5,n 0;
do switch k case 1:case 3: n+ 1;k--; break;
default; n 0;k--;
case 2: case 4: n+ 2;k--; break; printf %d,n ;
while k 0 n 5 ; 程序运行后的输出结果是 。(2007.0
显示全部