《循环语句》习题
- 格式:doc
- 大小:177.50 KB
- 文档页数:9
循环习题集锦一.选择题1.for(i=0;i<10;i++);结束后,i的值是;A 9B 10C 11D 122.下面程序的循环次数是:#include<>void main(){int k=0;while(k<10){if(k<1) continue;if(k==5) break;k++;}printf(“k=%d\n”,k);}A. 5 B 6 C 4 D 死循环,不能确定循环次数3.下面程序的输出结果是()#include<>void main(){int s,k;for(s=1,k=2;k<5;k++)s=s+k;printf(“%d\n”,s);}A 1B 9C 10D 154.要使下面程序输出10个整数,则在下画线处填入正确的数是:#include<>void main(){int i;for(i=0;i<= ;)printf(“i=%d\n”,i=i+2);} (显示的是:2,4,6,8,10,12, (20)A 9B 10C 18D 205.运行下面程序:#include<>void main(){int i=10,j=0;do{j=j+i; /*第一:10,第二:19第三:27第四:34第五:40*/i--;}while(i>5);printf(“%d\n”,j);}输出结果是:A 45B 40C 34D 556.运行下面程序#include <>main(){int k=0,a=1;while(k<10){for( ; ;){ if((k%10)==0)/*当循环开始的时候时,k=0,此时和10取3余的结果就等于0,就跳出了for循环开始下面的循环*/ break;elsek--;}k=k+11;a=a+k;printf(“k=%d \n a=%d\n”,k,a);}则输出的结果是()A 21 32B 21 33C 11 12D 10 117.以下叙述正确的是:A. do---while语句构成的循环不能用其他语句构成的循环来代替。
循环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循环的循环体语句中,可以包含多条语句。
一、单选题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等价于()。
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.for(i=0;i<10;i++);结束后,i的值是;(10)A 9B 10C 11D 122.下面程序的循环次数是:(D)int k=0;while(k<10){if(k<1) continue;if(k==5) break;k++;}A. 5 B 6 C 4 D 死循环,不能确定循环次数3.下面程序的输出结果是(10)main(){int s,k;for(s=1,k=2;k<5;k++)s+=k;printf(“%d\n”,s);}A 1B 9C 10D 154.要使下面程序输出10个整数,则在下画线处填入正确的数是:(c)for(i=0;i<= ;)printf(“%d\n”,i+=2);A 9B 10C 18D 205.运行下面程序:(B)main(){ int i=10,j=0;do{ j=j+i;i--;}while(i>5);printf(“%d\n”,j);}输出结果是:A 45B 40C 34D 55 6.运行下面程序#include “stdio.h”main(){ int k=0,a=1;while(k<10){for( ; ;){ if((k%10)==0)break;elsek--;}k+=11;a+=k;}printf(“%d %d\n”,k,a);}则输出的结果是(C)A 21 32B 21 33C 11 12D 10 117.以下叙述正确的是:(D)A.do---while语句构成的循环不能用其他语句构成的循环来代替。
B.do---while语句构成的循环只能用break语句退出。
C.用do---while语句构成的循环,在while 后的表达式为非零时结束循环。
D.用do---while语句构成的循环,在while后的表达式为零时结束循环。
8.有如下程序:main(){ int x=3;do{printf(“%d”,x--);}while(!x);}该程序的执行结果是:(C)A 3 2 1B 2 1 0C 3D 29.若k为整型变量,则下面while循环执行的次数为:(A)k=10;while(k==0) k=k-1;A 0B 1C 10 D无限次10.下面有关for循环的正确描述是(D)A.for循环只能用于循环次数已经确定的情况B.for循环是先执行循环体语句,后判断表达式C.在for循环中,不能用break语句跳出循环体。
for循环语句练习题在计算机编程中,循环语句是一种重要的工具,能够帮助我们在程序中重复执行某些特定的操作。
其中,for循环语句是常用的一种形式,用于对一个代码块进行指定次数的重复执行。
在本文中,我们将通过一些练习题来巩固和拓展自己对for循环语句的理解和应用。
练习题1:输出1到10的整数请使用for循环语句输出1到10的整数,请将结果打印在屏幕上。
```pythonfor i in range(1, 11):print(i)```练习题2:计算1到10的整数之和请使用for循环语句计算1到10的整数之和,并将结果打印在屏幕上。
```pythonsum = 0for i in range(1, 11):sum += iprint("1到10的整数之和为:", sum)```练习题3:输出1到100的偶数请使用for循环语句输出1到100的所有偶数,请将结果打印在屏幕上。
```pythonfor i in range(2, 101, 2):print(i)```练习题4:计算1到100的奇数之和请使用for循环语句计算1到100的所有奇数之和,并将结果打印在屏幕上。
```pythonsum = 0for i in range(1, 101, 2):sum += iprint("1到100的奇数之和为:", sum)```练习题5:输出10以内的乘法口诀表请使用for循环语句输出10以内的乘法口诀表,请将结果打印在屏幕上。
```pythonfor i in range(1, 11):for j in range(1, i + 1):print(i, "*", j, "=", i * j, end=" ")print()```练习题6:计算阶乘请使用for循环语句计算给定数字的阶乘,并将结果打印在屏幕上。
[教材习题研讨]P21思考答案:当计算机遇到UNTIL语句时,先执行一次循环体,再判断是否满足条件,若不满足,再执行循环体,然后再检查是否满足条件,如此反复.当满足条件时,将不执行循环体,转而执行LOOP UNTIL后的语句. 方法点拨WHILE语句称为前测试型,UNTIL语句称为后测试型.P22思考答案:课本上的算法可以改进.将循环条件“WHILE d<=n-1 AND flag=1”改为“WHILE d<=SQR(n)AND flag=1”即可.改进后循环次数少了,提高了解题速度.P23练习1.解:a=1b=2c=0.005DOx=(a+b)/2f(a)=a∧2-2f(x)=x∧2-2IF f(x)=0 THENPRINT “方程根为:”;x ELSEIF f(a)*f(x)<0 THENb=x若改为INPUT“请输入a、b的值:”;a、bINPUT “请输入误差范围c:”;c则该题的区间范围、误差范围还可以改变、限制.ELSEa=xEND IFEND IFLOOP UNTIL ABS(a-b)<=c PRINT “方程的近似根为:”;x END|a-b|<=c不成立时循环,成立时则停止循环.2.解:x=1WHILE x<=20y=x∧2-3*x+5PRINT “x=”;xPRINT “y=”;yx=x+1WENDEND计算一个、输出一个,再计算、输出下一个,如此反复.3.解:t=1i=1INPUT “请输入n的值:”;n DOt=t*ii=i+1LOOP UNTIL i>nPRINT “这个数的阶乘为:”;t 也可以用WHILE语句WHILE i<=nt=t*ii=i+1WEND输出语句可写成PRINT n;“!=”;tENDP 23 习题1.2A 组1.解:(1)输入你的名字,输出你的名字. (2)A =1 A =1×2=2 A =2×3=6 A =6×4=24 A =24×5=120 输出 5! 是120正确理解输入语句、输出语句和赋值语句.2.解:INPUT “梯形的上底、下底、高分别为:”;a ,b ,h c =(a +b )/2 S =c *hPRINT “梯形的面积S =”;S ENDa ,b ,h 可分别输入,写成三个INPUT 语句. 3.解:INPUT “请输入两个整数a ,b :”;a ,b IF a MOD b =0 THENPRINT “a 能被b 整除” MOD 表示取余数,整除即余数为0.输出语句可以写成 ELSEPRINT “a 不能被b 整除” END IF END4.解:INPUT “请输入加数的个数n :”;nt =1 i =2 PRINT a ;“能被”;b ;“整除”sum=0 DOsum=sum+i t =t +1i =tt 1s um=s um+i 是累加求和,t =t +1表示计数器.LOOP UNTIL t >n PRINT “和s =”;sum END可以用WHILE 语句,条件是t <=n .5.解:s =1t =1 p =1 i =1 j =1 k =1INPUT “请输入n ,m 的值:”;n ,m DOs =s *i i =i +1LOOP UNTIL i >n设置三个计数器,三个独立的循环结构.DOt =t *j j =j +1可以写成WHILE 语句,同学们自己写出.LOOP UNTIL j>mDOp=p*kk=k+1LOOP UNTIL k>n-ma=t*pb=s/aPRINT “组合数的值为:”;b ENDB组1.解:R=0.5a=1000i=1DOa=a*(1+R)i=i+1LOOP UNTIL i>6PRINT “2008年底的资金总额为:”;a END2008年底资金总额为1000(1+0.5)6万元,设计成累乘的形式,用循环结构.如用INPUT语句输入a、R的值,则具有一般意义.2.解:INPUT “请输入x的值:”;x IF x<1 THENy=xPRINT “y=”;yELSEIF x<10 THENy=2*x-1PRINT “y=”;yELSEy=3*x-11PRINT “y=”;yEND IFEND IFEND分段函数对应于条件结构,用条件语句的形式,可以形成嵌套.3.解:INPUT “请输入数字a和加数的个数n:”;a,n s=0b=ai=1DOs=s+bb=b*10+ai=i+1LOOP UNTIL i>nPRINT “s=”;sEND实数aaaa=a×103+a×102+a ×10+a,aaaa=aaa×10+a,类推.。
高中信息技术VB循环语句浏览题阅览题会考复习题学校:___________姓名:___________班级:___________考号:___________一、选择题1.下列程序运行后的运行结果为▁▁▁。
X=8:Y=X:Z=10IF X<=Y THENPRINT X;Y;ELSEIF Z>=X THENPRINT ZEND IFEND IFA.10 8B.8 8C.10 10D.8 10【答案】B【解析】2.数组排序。
点击“产生随机数”按钮,让计算机随机产生10个整数,并对这10个整数进行标号,再点击“排序”按钮,对这10个整数进行从大到小排序。
如图所示。
程序代码如下:Dim a(1 To 10) As IntegerDim i, j, k, kt As IntegerPrivate Sub Command1_Click()List1.Clear'清除列表框数据For i =1 To 10Randomize'随机数初始化a(i) =Int(Rnd() * 1000)List1.AddItem Str(i) +”=” +Str(a(i))Next iCommand2.Enabled =True'激活排序按钮End SubPrivate Sub Command2_Click()For i =1 To 9k =iFor j =____①____To 10If a(j) > a(k) Then k =jNext jIf i <> k Then__②____End IfNext iList2.ClearFor i =1 To 10List2.AddItem Str(i) +” =” +Str(a(i))Next iEnd Sub请在①、②划线处填入合适的语句或表达式,把程序补充完整:程序中①划线处应填入__________________;程序中②划线处应填入__________________。
青少年软件编程(图形化)等级考试《循环语句》练习题含答案
一、选择题
1.以下程序按绿旗执行后,角色面向?()
A. 向上
B. 向下
C. 向左
D. 向右
2.街头自动红绿灯的程序是一个什么结构?()
A. 顺序结构
B. 条件结构
C. 循环结构
D. 顺序和循环结构
3.以下程序按绿旗执行后,角色大小为?()
A. 50
B. 60
C. 100
D. 150
4.下面程序运行完成后,角色的说出来的内容是?()
A. 50
B. 49
C. 51
D. 55
二、判断题
1.以下循环一共执行了20次。
()
正确错误
2.在以下语句中,除了停止程序,无法停止这个死循环。
()
正确错误
【答案解析】
一、选择题
1.A
2.D
3.B
4.A大小大于50不成立即为大小小于等于50。
二、判断题
1.表述错误
2.表述错误。
1.2.3循环语句
一、基础过关
1.下列给出的四个框图,其中满足WHILE语句格式的是()
A.(1)(2) B.(2)(3)
C.(2)(4) D.(3)(4)
2.循环语句有WHILE和UNTIL语句两种,下面说法错误的是
()
A.WHILE语句和UNTIL语句之间可以相互转化
B.当计算机遇到WHILE语句时,先判断条件真假,如果条件符合,就执行WHILE 和WEND之间的循环体
C.当计算机遇到UNTIL语句时,先执行一次DO和UNTIL之间的循环体,再对UNTIL后的条件进行判断
D.WHILE语句与UNTIL语句之间不可以相互转化
3.下面的程序运行后第3个输出的数是()
i=1
x=1
DO
PRINT x
i=i+1
x=x+1/2
END
A .1
B .32
C .2
D .52
4.下面程序执行后输出的结果是 ( )
n=5
S=0
WHILE S<15
S=S+n
n=n-1
WEND
PRINT n
END
A .-1
B .0
C .1
D .2 5.下面的程序是一个________问题的算法.
x=1
WHILE x ^2<1 000
PRINT x
x=x+1
WEND
END
6.运行下面的程序,输出的值为__________.
S=0
i=1
WHILE S<18
S=S+i
i=i+1
WEND
PRINT i
END
7.分别用当型和直到型循环语句编写一个程序,计算2×4×6×…×100的值.
二、能力提升
8.读程序:
甲:
INPUT i=1
S=0
WHILE i<=1 000
S=S+i
i=i+1
WEND
PRINT S
END
乙:
INPUT i=1 000
S=0
DO
S=S+i
i=i-1
LOOP UNTIL i<1
PRINT S
END
对甲、乙两程序和输出结果判断正确的是() A.程序不同,结果不同
B.程序不同,结果相同
C.程序相同,结果不同
D.程序相同,结果相同
9.运行下面的程序,执行后输出的s的值是()
i=1
WHILE i<6
i=i+2
s=2*i+1
WEND
PRINT s
END
A.11 B.15 C.17 D.19
10.以下程序运行后的输出结果是________.
i=1
DO
i=i+2
s=2*i+3
LOOP UNTIL i<8
PRINT s
END
11.求200以内(包括200)的所有偶数和,试用两种循环结构画出其程序框图并编写程序.
12.设计算法求1
1×2+1
2×3+
1
3×4+…+
1
99×100的值,并画出程序框图及编写程序.
1.答案 B
解析 WHILE 语句的特点是“前测试”.
2.答案 D
3..答案 C
解析 该程序中关键是循环语句,
第一次输出的数是1,
第二次输出的数是x =1+12=32
, 第三次输出的数是x =1+12+12
=2. 4.答案 B
解析 由于5+4+3+2=14,这时仍满足条件“S<15”,
∴n =2-1=1时,S =14+1=15,
当执行完循环体n =1-1=0后,再判断条件,此时不满足条件“S<15”,
接着执行“PRINT n ”.所以n =0.
5.答案 求满足x 2<1 000的所有正整数x 的值
6.答案 7
解析 由于循环体是先执行S =S +i ,再执行i =i +1,然后进行判断,当S =1+2+3+4+5=15时,执行i =5+1=6,这时15<18成立,再循环一次S =15+6=21,i =6+1=7,这时再判断21<18不成立,于是执行“PRINT i ”,即i =7.
7.解 (1)当型:
i=2
A=1
WHILE i<=100
A=A*i
i=i+2
WEND
PRINT A
END
(2)直到型:
i=2
A=1
DO
A=A*i
i=i+2
LOOP UNTIL i>100
PRINT A
END
8.答案B
9.答案 B
解析当i=3时,s=7,当i=5时,s=11,此时仍满足条件“i<6”,因此再循环一次,
即i=7时,s=15,此时不满足“i<6”,
所以执行“PRINT s”,即s=15.
10.答案21
11.解当型循环,程序框图如图所示:
程序为
i=2
sum=0
WHILE i<=200
sum=sum+i
i=i+2
WEND
PRINT “偶数和为”;sum
END
直到型循环,程序框图如图所示:
程序为
i=2
sum=0
DO
sum=sum+i
i=i+2
LOOP UNTIL i>200
PRINT “偶数和为”;sum
END
12.解算法如下:
第一步:令S=0,i=1;
第二步:若i≤99成立,则执行第三步;否则,输出S,结束算法;
第三步:S=S+
1
i i+
;
第四步:i=i+1,返回第二步.程序框图:
程序如下:
S=0
i=1
S=S+1/(i*(i+1))
WEND PRINT S
END。