文档详情

C语言循环结构l练习题.doc

发布:2016-11-12约2.84千字共5页下载文档
文本预览下载声明
循环结构复习 考点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
显示全部
相似文档