循环语句习题及解答
第6章循环结构程序设计习题及答案

第6章循环结构程序设计6-1.比较while语句、do–while语句和for语句的异同。
答:(1)while语句、do-while语句用于条件循环,for语句用于计数循环。
(2)while语句、for语句是先判断循环条件,后执行循环体,如果循环条件一开始就不成立,则循环体一次也不被执行;而do-while语句是是先执行循环体,后判断循环条件,所以循环体至少被执行一次。
(3)知道循环的次数可选用for语句实现循环,不知道循环的次数可选用while语句或do-while语句实现循环.(4)一般而言,三种循环语句可等价实现.6-2 仔细阅读下面的程序,指出程序的运行结果.#include<stdio.h>void main(){ int i;for(i=0;++i;i<5){ if(i==3){printf("%d\n",++i);break;}printf("%d\n",++i);}}答:24思考:语句“for(“i=0;++i;i<5”)在编译时为何会给出语法警告错误?当将其改为“for(i=0;i<5;++i)”时,运行结果又将如何?6-3 仔细阅读下面的语的程序,指出程序的运行结果。
#include"stdio.h"void main(){ int i, a=0;for(i=1;i<=5;i++){do{i++;a++;} while(i<3);}i++;printf("a=%d,i=%d",a,i);}答:a=3,i=7思考:在for循环中嵌套着do-while循环,那么do-while循环中对i的修改会对for循环产生影响吗?6-4编写程序,用1000个单词”computer”填充屏幕,每行60个 .解:#include<stdio.h>void main(){ int i;for(i=1;i<=1000;i++){ printf("computer.");if(i%60==0)printf("\n");}}思考:在for循环中,”if(i%60==0)printf(“\n”);”语句的作用是什么?没有此语句将会是什么状况?6-5输入一行字符(以$结束),统计其中的数字字符、空格字符出现的次数。
C语言习题 循环1

循环1一、单项选择题1、以下程序段中与语句k=a>b?(b>c?1:0):0;功能等价的是__A____。
A. if((a>b)&&(b>c)) k=1;B. if((a>b)||(b>c)) k=1else k=0; else k=0;C. if(a<=b) k=0;D. if(a>b) k=1;else if(b<=c) k=1; else if(b>c) k=1;else k=0;2、C语言的do_while循环中,循环由do开始,用while结束;而且在while表达式后面的___B___不能丢,它表示do_while循环的结束。
A. \nB. “;”C. “%”D. “,”3、执行程序段:x=-1; do { x=x*x;} while(!x); 的结果是__C____。
A. 死循环B. 循环执行2次C. 循环执行一次D. 有语法错误4、下面程序段的输出结果是__D____。
int i,sum;for(i=1;i<=10;i++)sum+=sum;printf("%d\n",i);A. 10B. 9C. 15D.不确定5、以下叙述正确的是___C___。
A. for循环中设置for(条件)break,当条件成立时中止程序执行。
B. for循环中设置for(条件)continue,当条件成立时中止本层循环。
C. for循环中设置for(条件)break,当条件成立时中止本层循环。
D. for循环中设置for(条件)break,当条件成立时暂停本次循环。
6、下面有关for循环的正确描述是__D____。
A. for循环只能用于循环次数已经确定的情况。
B. for循环是先执行循环体语句,后判断表达式。
C. 在for循环中,不能用break语句跳出循环体。
D. for循环的循环体语句中,可以包含多条语句。
C程序设计(循环)习题与答案

一、单选题1、有以下程序段:int k=2;while (k=0) { printf("%d",k) ; k-- ; }则下面描述中正确的是()。
A.循环体语句一次也不执行B.while循环执行10次C.循环是无限循环D.循环体语句执行一次正确答案:A2、下面程序段执行后的输出结果是()。
int a=1,b=2,c=3,t;while (a<b<c){t=a;a=b;b=t;c--;}printf("%d,%d,%d",a,b,c);A.2,1,0B.2,1,1C.1,2,0D.1,2,1正确答案:D3、下面程序段执行后的输出结果是()。
#include <stdio.h>int main(){ int x=0,y=5,z=3;while(z-->0&&++x<5) y=y-1;printf("%d,%d,%d",x,y,z);return 0;}A.4,3,-1B.5,-2,-5C.3,2,0D. 3,2,-1正确答案:D4、下面程序的功能是从键盘输入一组字符,从中统计大写字母和小写字母的个数,选择()填入到【】中。
#include <stdio.h>int main(){ int m=0,n=0; char c;while ((【】)!='\n') {if (c>='A' && c<='Z') m++ ;if (c>='a' && c<='z') n++ ;}return 0;}A.scanf("%c",&c)B.c==getchar()C.getchar()D.c=getchar()正确答案:D5、语句while (!E){......}; 中的表达式!E等价于()。
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,12C. 20,8D. 8,203.下面程序的功能是从键盘输入的一组字符中统计出大写字母的个数m和小写字母的个数n,并输出m、n 中的较大者,请选择填空。
#incldue <stdio.h>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=getcharD.scanf(“%c”,c);2)A. n:m B. m:n C. m:m D. n:n4.下面程序的功能是在输入的一批正整数中求出最大者,输入0结束循环,请选择填空。
#include <stdio.h> main(){ int a,max=0;scanf(“%d”,&a);while(_______){ if(max<a) max=a;scanf(“%d”,&a);}printf(“%d”,max); }A.a==0B.aC.!a=1D. !a5.下面程序的运行结果是______。
js循环语句习题

js循环语句习题1、打印出下列图形 ●●●●●●●● ●●●●●●●● ●●●●●●●● ●●●●●●●● ●●●●●●●● ●●●●●●●● ●●●●●●●●//循环的⾏数 for(var x=1;x<=7;x++){ //循环的列数 for(var y=1;y<=8;y++){ document.write('●'); } //循环完每⼀⾏输出⼀个换⾏ document.write('<br />'); } ● ●● ●●● ●●●● ●●●●● for(var x=1;x<=5;x++){ for(var y=1;y<=x;y++){ document.write('●'); } document.write('<br />'); } ●●●●● ●●●● ●●● ●● ● for(var i=5;i>=1;i--){ for(var j=1;j<=i;j++){ document.write("●") } document.write("<br>")} □□□□● □□□●● □□●●● □●●●● ●●●●●for(var i=1;i<=5;i++){ for(var a=1;a<=5-i;a++){ document.write("□"); } for(var b=1;b<=i;b++){ document.write("●"); } document.write("<br>");}2、公园⾥有⼀只猴⼦和⼀堆桃⼦,猴⼦每天吃掉桃⼦总数的⼀半,把剩下⼀半中扔掉⼀个坏的。
到第七天的时候,猴⼦睁开眼发现只剩下⼀个桃⼦。
问公园⾥刚开始有多少个桃⼦?for循环//最后⼀天剩下⼀个桃⼦ var peach= 1; //反推 for(var i=1;i<=6;i++){ peach=(peach+1)*2; } console.log("公园⾥刚开始有"+peach+"个桃⼦");while循环var peach=1,a=1;while(a<=6){ peach=(peach+1)*2; a++;}console.log("公园⾥刚开始有"+peach+"个桃⼦");do-while循环var peach=1,a=1;do{ peach=(peach+1)*2; a++;}while (a<=6)console.log("公园⾥刚开始有"+peach+"个桃⼦");3、循环输出1~100之间数字的和var sum=0; for(var i=1;i<=100;i++){ sum+=i; }document.write(sum);4、1~100奇数和var sum=0; for(var i=1;i<=100;i+=2){ sum+=i; }document.write(sum+"<br />");5、1~100偶数和var sum=0; for(var i=2;i<=100;i+=2){ sum+=i; }document.write(sum);6、99乘法表倒着写for(var i=9;i>=1;i--){ for(var j=1;j<=i;j++){ document.write(i+"x"+j+"="+i*j+"  ") } document.write("<br>")}7、⼩明单位发了100元的购物卡,⼩明到超市买三类洗化⽤品,洗发⽔(15元),⾹皂(2元),⽛刷(5元)。
循环程序设计习题与答案

循环程序设计习题与答案模块三循环程序设计习题及答案一、填空题1、当在数据处理中要重复执行相同的操作时,宜采用程序结构来实现。
2、循环的 3 要素是、、。
3、在循环语句体中包含另一个循环语句的用法称为。
4、执行循环语句体中的break 语句后将使用包含它的循环语句。
5 、要结束当前正在执行循环体语句而直接进入下一循环周期,需要执行语句。
6、在for 语句中表达式允许省略,但不能少,语句for( ; ;) ;构成的是循环。
7、在for 语句中,省略表达式 2 时,则循环为循环。
8、执行语句for(i=1;i++<4; );后变量i 的值是。
9、要使用循环程序提前结束本次循环周期并开始下一个循环周期,应在循环体内有条件使用语句。
10、在每次循环周期均要执行一次的语句,称为。
11、for 语句括号内的3 个表达式的作用分别是、和循环控制变量的更新。
二、选择题1、若k 为整形变量,则while 循环共循环()。
k=5;while(k>=0) k-1;A、无限循环B、6 次C、5 次D、4 次2、与while( ! n) ; 中表达式!dn 等价的是()。
A、dn>=0 B 、dn!=0C、dn == 0D、dn != 13、以下程序段,while 循环执行的次数是()int k=0;while( k == 1) k++;A、无限次B、有语法错,不能执行C、一次也不执行D、执行 1 次4、在C语言中,当do while 语句中的条件为()时,结束该循环。
A、0B、1C、TRUED、非05、下面程序段的输出结果是()do{ b-=a;a++;}while(b--<0);A、10,-1B、2,8C、9,0D、4,-36、以下描述正确的是()A、由于do while 循环中循环体语句只能是一条可执行语句,所以循环体内不能使用复合语句。
B、do while 循环由do 开始,用while 结束,在while( 表达式)后面不能写分号C、在do while 循环体中,一定要有能使while 后面匠值变为零的操作D、do while 循环中,根据情况可以省略while7、若有如下程序段,其中s、a、b、c 均已定义为整型变量,且a、c 均已赋值(c大于0)。
C语言单元复习题 第06部份 循环

C.用do...while语句构成循环时,在while后的表达式为零时不一定结束循环
D.用do...while语句构成循环时,在while后的表达式为零时结束循环
(知识点:do...while语句; 难度系数:1; 答案:D )
10.以下关于do...while语句的叙述中,正确的是:( )。
(知识点:循环的基本概念; 难度系数:1; 答案:D )
2.以下关于循环的描述中,错误的是:( )。
A.while、do...while和for语句的循环体都可以是空语句
B.for和do...while语句都是先执行循环体,后进行循环条件判断
C.while语句是先进行循环条件判断,后执行循环体的
D.使用while和do...while语句时,循环变量初始化的操作应在循环语句之前完成
A.break语句和continue语句都只能用于循环结构
B.break语句和continue语句都只能用于switch结构
C.break语句用于跳出循环体,continue语句用于跳出当次循环
D.continue语句用于跳出循环体,break语句用于跳出当次循环
(知识点:continue语句; 难度系数:1; 答案:C )
A.x==0B.x==1C.x!=lD.x!=0
(知识点:while语句; 难度系数:1; 答案:D )
5.在C语言中,当while语句构成的循环中的条件为( )时,结束循环。
A.0B.1C.真D.非0
(知识点:while语句; 难度系数:1; 答案:A )
6.有以下程序段:
int k=0;
while(k=1) k++;
C语言循环结构练习题带答案.doc

第 5 章循环结构程序设计练习题1.单项选择题( 1)语句 while (!e);中的条件!e等价于A。
A. e==0B. e!=1C. e!=0D. ~e( 2)下面有关for循环的正确描述是D。
A. for循环只能用于循环次数已经确定的情况B. for循环是先执行循环体语句,后判定表达式C. 在 for循环中,不能用break 语句跳出循环体D. for循环体语句中,可以包含多条语句,但要用花括号括起来(3)C语言中D。
A.不能使用do-while语句构成的循环B. do-while 语句构成的循环必须用break 语句才能退出C. do-while 语句构成的循环,当while 语句中的表达式值为非零时结束循环D. do-while 语句构成的循环,当while 语句中的表达式值为零时结束循环( 4) C 语言中 while 和 do-while 循环的主要区别是A 。
A. do-while的循环体至少无条件执行一次B. while的循环控制条件比do-while的循环控制条件严格C. do-while允许从外部转到循环体内D. do-while的循环体不能是复合语句( 5)以下程序段C。
int x=-1;do{x=x*x;}while (!x);A.是死循环B. 循环执行二次C. 循环执行一次D. 有语法错误( 6)下列语句段中不是死循环的是__C__。
A.i=100;while (1){i=i%100+1;if (i==20) break;}B.for (i=1;;i++)sum=sum+1;C.k=0;do{++k;} while (k<=0);D.s=3379;while (s++%2+3%2)s++;( 7)与以下程序段等价的是__A__。
while (a){if (b) continue;c;}A.while (a)B.while (c){ if (!b) c; }{ if (!b) break; c; }C. while (c)D. while (a){ if (b) c; }{ if (b) break; c; }( 8)以下程序的输出结果是_B___。
for循环语句练习题讲解及其它循环结构)20130815

运行调试如下程序,观察现象。 Program Ex1_4 Var i,S:integer; Begin s:=0; For i:=0 to 100 do begin i:=i+1; S:=S+i;end; Writeln(‘1+2+3+…+’,n,’=’,s); End.
练习: 1.计算并输出1*3*5*7*(2N-1)的积.(n<10) 2.计算s=1*2+3*4+5*6+7*8+…+(2N-1)*2n 的积.(n<1000)
end.
9
program ex11; var i,j,s:integer; Begin for i:=1 to 1000 do begin s:=0; for j:=1 to (i div 2) do if i mod j=0 then s:=s+j; if s=i then write(i,' ');
end;
End.
var a:array[0..200] of integer;
i,n,j,m,s1,s2:integer;
p:boolean; Begin readln(n); //生成质数 for i:=2 to 1000 do
begin p:=true;
for j:=1 to a[0] do if i mod a[j]=0 then begin p:=false;break;end; if p then begin a[0]:=a[0]+1;a[a[0]]:=i;end;
练习13.找出1-9999中的所有史密斯数(可 以分解的整数,且所有数位上的数字和等于 其全部素数的数字总和。如:9975就是史密 斯数,因为:9975=3*5*5*7*9; 9+9+7+5=30; 1+3+5+5+7+19=30)。
循环结构程序设计练习题内含答案

第三单元循环结构练习题选择题:1、有以下程序执行后的输出结果是( D )。
main( ){ int i,s=0; for(i=1;i<10;i+=2)s+=i+1;printf("%d\n",s);}A.自然数 1~9的累加和B.自然数 1~10 的累加和C.自然数 1~9中的奇数之和D.自然数 1~10 中的偶数之和2、以下关于 for 语句的说法不正确的是( A )。
A. for循环只能用于循环次数已经确定的情况B. for循环是先判断表达式,后执行循环体语句C. for循环中,可以用 break 跳出循环体D. for循环体语句中,可以保含多条语句,但要用花括号括起来3、若 i和 k 都是 int 类型变量,有以下 for语句for(i=0,k=-1;k=1;k++) printf("*****\n");下面关于语句执行情况的叙述中正确的是(d)。
A. 循环体执行两次B.循环体执行一次C.循环体一次也不执行D. 构成无限循环4、以下程序程序的执行后的输出结果是(c)。
main(){int i,t[][3]={9,8,7,6,5,4,3,2,1};for(i=0;i<3;i++) printf(“%d”,t[2 -i][i]);}A.753B.357C.369D.7515、以下程序运行后的输出结果是( A )。
void fun(char*s){ while(*s){ if(*s%2==0)printf(“%c”,*s);s++;}}main(){ char a[]={“good”};fun( a) ;printf(“ n”);}注意:字母 a 的 ASCⅡ码值为 97A.dB.goC.godD.good6、已知 int t=0 ; while ( t=1 ){...}则以下叙述正确的是( B)。
A)循环控制表达式的值为 0B)循环控制表达式的值为 1C)循环控制表达式不合法D)以上说法都不对7、设有以下程序段 Bint x=0,s=0;while (!x!=0 ) s+=++x;printf ( "%d",s );则A)运行程序段后输出0B)运行程序段后输出 1C)程序段中的控制表达式是非法的D)程序段执行无限次8、设 i ,j ,k 均为 int型变量,则执行完下面的 for 语句后, k 的值为( C)。
java循环练习题

java循环练习题在学习Java编程语言时,掌握循环结构是非常重要的一部分。
通过练习循环题目,可以加深对循环语句的理解以及提高编程能力。
本文将为您提供一些Java循环练习题,帮助您巩固知识并提升编程技巧。
1. 题目一:计算1到100之间所有偶数的和。
解析:使用for循环遍历1到100的所有数字,使用条件判断语句判断是否为偶数,并进行累加求和。
```javapublic class EvenSum {public static void main(String[] args) {int sum = 0;for (int i = 1; i <= 100; i++) {if (i % 2 == 0) {sum += i;}}System.out.println("1到100之间所有偶数的和为:" + sum);}}```2. 题目二:输出九九乘法表。
解析:使用嵌套的for循环,外层循环控制行数,内层循环控制列数,通过打印输出实现九九乘法表的展示。
```javapublic class MultiplicationTable {public static void main(String[] args) {for (int i = 1; i <= 9; i++) {for (int j = 1; j <= i; j++) {System.out.print(j + " * " + i + " = " + (j * i) + "\t");}System.out.println();}}}```3. 题目三:判断一个数是否为素数。
解析:使用for循环遍历2到该数之间的所有数字,判断是否存在能整除该数的因子。
若存在,则不为素数;否则,为素数。
```javapublic class PrimeNumber {public static void main(String[] args) {int num = 37;boolean isPrime = true;for (int i = 2; i <= Math.sqrt(num); i++) { if (num % i == 0) {isPrime = false;break;}}if (isPrime) {System.out.println(num + "是素数"); } else {System.out.println(num + "不是素数"); }}}```4. 题目四:计算斐波那契数列的前 n 项。
练习题--循环(答案)

(D) n%10
20、下面程序是从键盘输入学号,然后输出学号中百位数字是3的学号,输入0时结束循环。请选择填空。①( B )②( C )
#include<stdio.h>
void main()
{
long int num;
scanf("%ld",&num);
(D) do-while的循环体不能是复合语句
15、以下能正确计算1×2×3×...×10的程序段是( C )
(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);
a);
while( ① )
{
if(max<a) max=a;
scanf("%d",&a);
}
printf("%d",max);
}
#include<stdio.h>
void main()
{
int a,q,n,sum;
a=1; q=2; n=sum=0;
do{ ① ;
++n; a*=q;
}while(sum<100);
② ;
printf("%d\n",n);
循环练习题(二)及答案

一、选择题1、以下程序段的输出结果是( D )int k, j, s=0;for(k=2;k<6;k++,k++){s = 1;for(j=k;j<6;j++)s+=j;}System.out.print(s);A)9 B)1 C)11 D)102、以下程序段的输出是( C )int i, j, m=0;for(i=1;i<=15;i+=4){for(j=3;j<=19;j+=4)m++;}System.out.print(m);A)12 B)15 C)20 D)253、以下程序段的输出是( A )int i,sum=0;for(i=1;i<6;i++)sum+=i;System.out.print(sum);A)15 B)14 C)不确定D)04、以下程序段的输出是( D )int x=3,y=6,a=0;while(x++!=(y-=1)){a+=1;if(y<x)break;}System.out.print(“x=”+x+”,y=”+y+”,a=”+a);A)x=4,y=4,a=1 B)x=5,y=5,a=1 C)x=5,y=1,a=3 D)x=5,y=4,a=15、定义如下变量:int n = 10 ;则下列循环的输出结果是( B )while(n>7){n-- ;System.out.println(n) ;}A)10 B)9 C)10 D)99 8 9 88 7 8 77 66、以下程序段的输出是( C )int x=3;do{System.out.print(x-=2);}while(--x==0)A)1 B)3 0 C)1 -2 D)死循环7、以下程序段的输出是( B )int a,b;for(a=1,b=1;a<100;a++){if(b>=20) break;if(b%3==1){b+=3;continue;}b-=5;}System.out.print(a);A)7 B)8 C)9 D)108、以下程序段的输出是( C )int num=0;while(num<=2){num++;System.out.print(num);}A)1 B)2 2 C)1 2 3 D)1 2 3 49、以下循环体的执行次数是( C )int i,j ;for(i=0,j=1 ;i<=j+1 ;i+=2,j--)System.out.print(i) ;A)3 B)2 C)1 D)010、设j为int型变量,则下面for循环语句的执行结果是( B )for(j=10 ;j>3 ;j--){if(j%3 !=0)j-- ;--j ;--j ;System.out.print(j) ;}A)6 3 B)7 4 C)6 2 D)7 311、在循环for,while,do-while语句中,用于直接中断内层循环的语句是( C )A)switch B)continue C)break D)if二、填空题1、以下程序段的输出结果是_1024___int k, n, m;n = 10;m = 1;k = 1;while(k<=n){m = m*2;k++;}System.out.print(m);2、以下程序段的输出结果是_10___int x=2;while(x--!=0){System.out.print(x);}3、在循环中,continue语句与break语句的区别是:_continue语句是跳出本次循环,进入下一次循环;break语句是终止某个循环,程序跳转到循环块外的下一条语句。
循环结构习题有答案

第6章循环结构程序设计1.以下叙述正确的是()A、do-while语句构成的循环不能用其它语句构成的循环代替。
B、d o-while语句构成的循环只能用break语句退出。
C、用do-while语句构成的循环,在while后的表达式为非零时结束循环。
D、用do-while语句构成的循环,在while后的表达式为零时结束循环。
答案:D2.以下程序的输出结果是( )A、10,1 9,2B、9,8 7,6C、10,9 9,0D、10,10 9,1main( ){int x=10,y=10,i;for(i=0;x>8;y=++i)printf("%d,%d",x--,y);}答案:D注解:循环执行2次,由x控制循环的执行次数;输出值为两次循环过程中x每次的自减值和y在for语句的第三个表达式中得到的i自增变化后的值。
3.以下程序的输出结果是( )A、2 0B、3 1C、3 2 1D、2 1 0main( ){ int n=4;while(n--) printf("%d ",--n);}答案:A4.以下程序的输出结果是( )A、#*#*#B、#####C、*****D、*#*#*main( ){ int i;for(i=1;i<6;i++){ if(i%2) {printf("#");continue;}printf("*");}printf("\n");}答案:A注解:循环控制变量i的值从1变化到5,i为1、3、5时,i%2为1,if语句的条件为真,则执行if后的子句,输出#,然后执行continue语句,终止本次循环的执行,进入下一轮循环,i为2、4时,i%2为0,if语句的条件为假,则if后的子句并不执行,直接输出*,所以最后的输出为#*#*#。
5.以下程序的输出结果是( )A、编译不通过,无输出B、acegC、acegiD、abcdefghimain( ){ int i;for(i='A';i<'I';i++,i++) printf("%c",i+32);printf(" \n");}答案:B注解:循环控制变量i的取值为A、C、E、G,将它们转化为小写字母的格式输出。
第五章循环结构习题与答案

第五章循环结构一、选择题1)下面有关for循环的正确描述是< )A)for循环只能用于循环次数已经确定的情况B)for循环是先执行循环体语句,后判断表达式C)在for循环中,不能用break语句跳出循环体D)for循环的循环体中,可以包含多条语句,但必须用花括号括起来2)对表达式for<表达式1。
表达式3)可理解为A)for<表达式1。
0。
表达式3)B)for<表达式1。
1。
表达式3)C)for<表达式1。
表达式1。
表达式3)D)for<表达式1。
表达式3。
表达式3)3)以下描述中正确的是< )A)由于do-while循环中循环体语句只能是一条可执行语句,所以循环体内不能使用复合语句B)do-while循环由do开始,用while结束,在while<表达式)后面不能写分号C)在do-while循环体中,是先执行一次循环,再进行判断D)do-while循环中,根据情况可以省略while4)以下程序段的描述,正确的是< )x=-1。
do{x=x*x。
}while(!x>。
A)是死循环B)循环执行两次C)循环执行一次D)有语法错误5)设有以下程序段int x=0,s=0。
while(!x!=0>s+=++x。
printf(″%d″,s>。
则< )A)运行程序段后输出0B)运行程序段后输出1C)程序段中的控制表达式是非法的 D)程序段执行无限次6)有如下程序#include<stdio.h>void main(>{ int n=9。
while(n>6>{n--。
printf(″%d″,n>。
}}该程序的输出结果是< )A)987 B)876C)8765 D)98767)在下列选项中,没有构成死循环的是< )A)int i=100。
B)for<。
)。
while<1){i=i%100+1。
C语言程序设计(循环)习题与答案

一、单选题1、关于下面程序段,正确的是()。
int k=10;while(!k)k--;A.循环体一次也不执行B.死循环C.循环体执行1次D.循环体执行10次正确答案:A2、下面程序的运行结果是( )。
#include <stdio.h>int main( ){int x=3;do{printf("%3d",x-=2);}while(!(--x));return 0;}A.1B.死循环C.1 -2D.10正确答案:C3、已定义int j; 下面程序段的输出结果是()。
for(j=7;j<10;j++)printf("%d",j);A.无结果B.8910C.789D.91011正确答案:C4、下面程序的输出结果是()。
#include <stdio.h>int main( ){int i,j,s=0;for(j=1,i=7;j<=i;j++,i--)s=s+i+j;printf("%d",s);return 0;}A.0B.死循环C.32D.28正确答案:C5、下面程序的输出结果是()。
#include <stdio.h>int main( ){int j,s;for(j=1;j<=7;j++)s=s+j;printf("%d",s);}A.死循环B.0C.不确定D.28正确答案:C6、已定义int j,s; 则下面程序段的输出结果是()。
int j,s;for(j=1,s=0;j<=5;j++)s*=j;printf("%d",s);A.0B.无结果C.120D.死循环正确答案:A7、从循环体内某一层跳出,继续执行循环外的语句是( )。
A.if语句B.break语句C.空语句D.continue语句正确答案:B8、针对for循环语句,for(表达式1;表达式2;表达式3),下列说法正确的是()。
C语言循环语句练习题

高二《C程序设计》月假作业姓名: 选择题:1、对for(表达式1;;表达式3)可理解为()。
A.for(表达式1;0;表达式3) B.for(表达式1;表达式3;表达式3)C.for(表达式1;1;表达式3)D.for(表达式1;表达式1;表达式3)2、以下叙述正确的是()A.不能使用do-while语句构成的循环B.do-while语句构成的循环必须用break语句才能退出C.do-while语句构成的循环,当while语句中的表达式值为非零时结束循环D.do-while语句构成的循环,当while语句中的表达式值为零时结束循环3、以下描述正确的是()A.由于do-while循环中循环体语句只能是一条可执行语句,所以循环体内不能使用复合语句B.do-while循环由do开始,用while结束,在while(表达式)后面不能写分号C.在do-while循环体中,一定要有能使while后面表达式的值变为零(假)的操作D.do-while循环中,根据情况可以省略while4、下面有关for循环正确的描述是()A.for循环只能用于循环次数已经确定的情况B.for循环是先执行循环体语句,后判断表达式C.在for循环中,不能使用break语句跳出循环体D.for循环的循环体语句中,可以包含多条语句,但必须用花括号括起来5、int n=0,p;do{Scanf(“%d”,&p);n++;}While(p!=12345 && n<3);此处do-while循环的结束条件是()A.p的值不等于12345并且n的值小于3 B.p的值等于12345并且n的值大于等于3C.p的值不等于12345或者n的值小于3D.P的值等于12345或者n的值大于等于36、以下程序的运行结果为()#include <stdio.h>Void main(){ int k,j,s;for(k=2;k<6;k++,k++){ s=1;for(j=k;j<6;j++) s+=j;}Printf(“%d\n”,s);}A.9 B.1 C.11 D.107、下面程序的运行结果是()#include <stdio.h>Void main(){ int a=1,b=2,c=2,t;While(a<b<c){ t=a;a=b;b=t; /*a,b交换*/c--; }Printf(“%d,%d,%d”,a,b,c);}A.1,2,0 B.2,1,0 C.1,2,1 D.2,1,1 8.以下能正确计算1*2*3*4*5*6*7*8*9*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);9、设有以下程序段:int x=1,s=0;while(0!=0) s+=++x;printf(“%d”,s);则()A.运行程序段后输出0 B.运行程序段后输出1C.程序段中的控制表达式是非法的D.程序段执行无限次10、以下程序的输出结果是()#include <stdio.h>void main(){ int a=0,I;for (i=1;i<5;i++){ switch (i){case 0:case 3:a+=2;case 1:case 2:a+=3;default:a+=5;}}Printf(“%d\n”,a);}A.31 B.13 C.10 D.20 11、以下程序运行结果为()#include <stdio.h>Void main(){int i,j,m=0;for (i=1;i<=15;i+=4) 1\5\9\13\for(j=3;j<=19;j+=4) 3\7\11\15\19m++;printf(“%d\n”,m);}A.12 B.15 C.20 D.25 12、以下程序的运行结果为()# include <stdio.h>void main(){ int i;for (i=1;i<=5;i++) 1\2\3\4\5\6{ if (i%2) printf(“*”);else continue;printf(“#”);}printf(“$\n”);}A.*#*#*#$ B.#*#*#*$ C.*#*#$ D.#*#*$ 13、有如下程序:#include <stdio.h>void main(){ int x=23;do{ printf(“%d”, x --); 23 22} while(!x);}该程序的执行结果是()A.321 B.23 C.不输出任何内容 D.陷入死循环14、下面程序的运行结果是()# include<stdio.h>void main(){ int y=10;do {--y;} while (0);Printf(“%d\n”,y--);-1}A.-1 B.1 C.8 D.015.有如下程序:#include <stdio.h>void main(){ int n=9;while (n>6){n--; 8\7\6printf("%d ",n);}}该程序的输出结果是()A.987 B.876 C.8765 D.987616、有以下程序:#include <stdio.h>Void main(){ int i=0,s=0;do{ if (i%2){ i++;continue; }i++; s+=i;} while (i<7);Printf(“%d\n”,s);}执行后输出的结果是()A.16 B.12 C.28 D.2117、以下程序的输出结果是()#include <stdio.h>Void main(){ int i=0,a=0;while (i<20) 0\11\21{ for (;;){ if (i%10==0) break;else i--; 10}i+=11; 21a+=i; 32 }printf(“%d\n”,a);}A.21 B.32 C.33 D.1118、有以下程序段:int k=0;while (k=1) k++;while循环执行的次数是()A.无限次 B.有语法错误,不能执行C.一次也不执行D.执行1次19、以下程序中,while循环的循环次数是()#include <stdio.h>Void main(){int i=0;while(i<10) 0{ if (i<1) continue;if(i==5) break;i++;}}A.1 B.10 C.6 D.死循环,不能确定次数20、以下程序执行后sum的值是()#include <stdio.h>void main(){ int i,sum;for(i=1;i<6;i++) 1sum+=i;printf(“%d\n”,sum);}A.15 B.14 C.不确定 D.0。
C语言程序设计习题集第4章循环结构(答案)

第4章循环结构一、选择题1、有以下程序段int k=0;while(k=1)k++;while 循环执行的次数是( A)A) 无限次B) 有语法错,不能执行C) 一次也不执行D) 执行1次2、t为int类型,进入下面的循环之前,t的值为0while( t=1){ …… }则以下叙述中正确的是( B)A) 循环控制表达式的值为0B) 循环控制表达式的值为1C) 循环控制表达式不合法D) 以上说法都不对3、在C程序中,与while(m)中表达式m完全等价的是(B )A) m==0 B) m!=0 C) m==1 D) m!=14、有以下程序,程序运行后的输出结果是(C )。
main(){int i=1,sum=0;while(i<=4){sum=sum+i;i=i+1;}printf(“%d\n”,sum);}A)4 B)5 C)10 D)死循环5、有以下程序,程序运行后的输出结果是(D )。
main(){ int i=1,sum=0;while(i<=4)sum=sum+i;i=i+1;printf(“%d\n”,sum);}A)4 B)5 C)10 D)死循环6、有如下程序main(){int n=9;while(n>6){n--;printf(“%d”,n);}}该程序段的输出结果是(B)A) 987 B) 876 C) 8765 D) 98767、以下程序的输出结果是( B )main(){ int num= 0;while(num<=2){ num++; printf(“%d\n”,num);}}A) 1 B) 1 C)1 D) l2 2 23 348、有以下程序,若运行时输入3.6 2.4<回车>,则输出的结果是( B)。
main(){float x,y,z;scanf(“%f%f”,&x,&y);z=x/y;while(1){if(fabs(z)>1.0){x=y;y=z;z=x/y;}elsebreak;}printf(“%f\n”,y);}A)1.500000 B)1.600000 C)2.000000 D)2.4000009、执行以下程序段时x=-1;do{ x=x*x; }while(! x);则下面描述正确的是(A )A) 循环体将执行一次B) 循环体将执行两次C) 循环体将执行无限次D) 系统将提示有语法错误10、有以下程序段其输出结果是(C )int x=3;do{ printf("%d",x-=2); }while (!(--x));A) 1 B) 3 0 C) 1 -2D) 死循环11、有如下程序main(){int x=23;do{printf(“%d”,x);x--;}while(!x);}该程序的执行结果是(B )A) 321 B) 23 C) 不输出任何内容D) 陷入死循环12、有以下程序段int n=0,p;do{scanf(“%d”,&p);n++;}while(p!=12345 &&n<3);此处do—while循环的结束条件是( D)A) P的值不等于12345并且n的值小于3B) P的值等于12345并且n的值大于等于3C) P的值不等于12345或者n的值小于3D) P的值等于12345或者n的值大于等于313、以下不构成无限循环的语句或语句组是(A)A) n=0;do {++n;}while(n<0);B) n=0;while(1){n++;}C) n=10;while(n);{n--;}D) for(n=0,i=1; ;i++)n+=i;14、若i为整型变量,则以下循环执行的次数是(B)for(i=2;i= =0;) printf(“%d”,i--);A)无限次B)0次C)1次D)2次15、执行语句for(i=1;i++<4;)后,变量i的值是(C)A) 3 B) 4 C) 5 D) 不定16、有以下程序main(){int y=9 ;for( ; y>0 ; y--)if(y%3==0 ) printf("%d" , --y) ;}程序的运行结果是(C)A) 741 B)963 C)852 D)87542117、以下程序执行后sum的值是( C)A)15 B)14 C) 不确定D)0main(){ int i , sum;for(i=1;i<6;i++) sum+=i;printf(“%d\n”,sum);}18、有如下程序{ int i,sum=0;for(i=1;i<=3;sum++) sum+=i;printf(“%d\n”,sum);}该程序的执行结果是(C)A) 6 B) 3 C) 死循环D) 019、执行语句for(i=3;i>0;i--);i--;后,变量i的值是(C )A)0 B)10 C)-1 D)120、执行下面程序片段的结果是(A )。
pythonwhile循环语句以及练习题

pythonwhile循环语句以及练习题9. 循环 死循环 import time while 1 == 1: print('ok',time,time()) not死循环 import time count = 0 while count < 10: print(count) count == count + 1 print(123) 补continue、break: count = 0 while count < 10: if count == 7: count = count +1 continue # 不再向下执⾏,直接回到while继续进⾏循环 print(count) count = count + 1 count = 0 while count < 10: if count == 7: break # 终⽌所有循环 print(count) count = count + 1练习题 if条件语句 while循环 奇数偶数 1、使⽤while循环输⼊1 2 3 4 5 6 8 9 10 n = 1 while n < 11: if n == 7: pass else: print(n) n = n + 1 print('end') 2、求1 - 100的所有数的和 n = 1 s = 0 while n < 101: s = s + n n = n + 1 print(s) 3、输出1 - 100内所有的奇数 n = 1 while n < 101: temp = n % 2 if temp == 0: pass else: print(n) n = n + 1 print('end') 4、输出1 - 100内所有的偶数 n = 1 while n < 101: temp = n % 2 if temp == 0: print(n) else: pass n = n + 1 print('end') 5、求1-2+3-4+5...99的所有数的和 n = 1 s = 0 # s是之前所有数的和 while n < 100: temp = n % 2 if temp == 0: s = s - n else: s = s + n n = n + 1 print(s) 6、⽤户登录(三次重试的机会) n = 0 while n < 3: inp == input('请输⼊密码:') if inp == woaini: print('登陆成功') break else: n = n + 1 print('登录失败')。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
循环语句习题及解答
答案:(A)
程序分析:
第一次循环结束后:b=2
第二次循环结束后:b=6
第三次循环结束后:b=42
答案:(B)
程序分析:
i=1 x=1 s=0
i=2 x=3 s=1
i=3 x=5 s=1
i=4 x=7 s=1
i=5 x=9 s=2 …………………………….
从中可以看出,程序的功能是:判断从1开始的15个奇数(1、3、5、7、9、11、13、15、17、19、21、23、25、27、29)中,能被3整除的数字一个有多少个。
答案:(C)
程序分析:
i=1 x=0 n=1 sum=0
i=2 x=1/2 n=2 sum=1/2
i=3 x=2/3 n=3 sum=1/2+2/3
i=4 x=3/4 n=4 sum=1/2+2/3+3/4
i=5 x=4/5 n=5 sum=1/2+2/3+3/4+4/5
答案:(C)
程序分析:
i=1 j=1 x=1
j=2 x=2
j=3 x=3
j=4 x=4
j=5 x=5 i=2 j=2 x=6
j=3 x=7
j=4 x=8
j=5 x=9 i=3 j=3 x=10
j=4 x=11
j=5 x=12 i=4 j=4 x=13
j=5 x=14 i=5 j=5 x=15
答案:(A)
程序分析:
a=5 b=4 x=3 a=12 a=2 b=1 x=-1 a=2
答案:(B)
程序分析:
x=6 n=1
x=72 n=2
答案:(C)
程序分析:
n=1 m=1
n=2 m=3
n=3 m=3
n=4 m=4
n=5 m=6
n=6 m=6
n=9 m=9
从中可以看出,当n能被3整除的时候,m的值必定与n的相同,所以,当n=18的时候,m=18;n=20时,m=21。
答案:(A)
程序分析:程序的顺序执行。
答案:(C)
程序分析:
在这个程序中,循环形式为先执行后判断,循环体至少执行1次,所以s=9 a=7。