Do 循环习题

合集下载

循环结构程序设计课后习题及答案

循环结构程序设计课后习题及答案

循环结构程序设计习题与答案1、循环语句的三要素分别是、、.2、for语句括号内的3个表达式的作用分别是、、.3、在2层循环嵌套中,外层循环语句的每个执行周期中,内层循环语句都要完整地,只有当时,才结束整个循环.4、在循环结构中,break语句的作用是;continue语句的作用是.5、当循环条件一开始就为假时,对于while语句、do…while语句、for语句,分别执行循环体次、次、次.6、下面程序段的执行次数:int a=0;while<a=0>{ printf<"good\n">;a--;}7、下面程序段的执行次数:int a=0;while<a==0>{ printf<"good\n">;a--;}8、下面程序段的执行次数:int a=1;while<a=1>{ printf<"good\n">;a++;}9、下面程序段的执行次数:int a=1;while<a==1>{ printf<"good\n">;a++;}10、下列程序段的运行结果是.for<i=5;i>=0;i-->printf<"%d ",i>;11、下列程序段的运行结果是.for<n=1;n<20;n=n+3>printf<"%d ",n>;12、下列程序段的运行结果是.for<ch='a' ;ch<='e' ;ch++>printf<"%d",ch-97>;13、下列程序段的运行结果是.for<i=1,j=5 ; i<j ; i++,j-->printf<"i=%d j=%d\n",i,j>;14、下列程序段的运行结果是.for<n=1 ; n*n<20 ; n++>printf<"%d \n",n+n>;二、选择题1、下列程序段中,死循环的是〔〕A、for <i=1; ;>B、i=32767;{ if<++i%2==0> continue; doif<++i%3==0> break; { if<i<0> break;} }while<++i>;C、i=1;D、for<i=1; ; >while<i-->; if<++i<10> break;2、下列程序段中,不是死循环的是〔〕A、inti=10;B、for< ; 1;>while<1>{ i=i%100+1;if<i>100> break;}C、int a=0;D、int x=21;do while<x>{ ++a; --x;}while<a>=0>;三、阅读程序,写出程序运行结果.1、#include"stdio.h"main<>{inti=0,sum=1;do{sum+=i;i++;}while<i<5>;printf<"%d\n",sum>;}程序运行结果:2、#include"stdio.h"main<>{inta,b;b=10;a=1;while<a<=b>a*=2;printf<"%d\n",a>;}程序运行结果:3、#include"stdio.h"main<>{int x=2;while<x-->;printf<"%d\n",x>;}程序运行结果:4、#include"stdio.h"main<>{int x=3;do{printf<"%d\n",x-=2>;}while<!x>;}程序运行结果:5、#include"stdio.h"main<>{inti;for<i=1;i<=5;i++>switch<i%5>{case 0:printf<"*">;break; case 1:printf<"#">;break; case 2:printf<"&">;break; default:printf<"\n">;}}程序运行结果:6、#include"stdio.h"main<>{charch;while<<ch=getchar<>>!='!'>putchar<++ch>;}程序运行结果:7、#include"stdio.h"main<>{inti,j;for<i=0;i<=5;i++>{for<j=1;j<10;j++>if<j==5> break;if<i<2> continue;if<i>2> break;printf<"j=%d\n",j>;}printf<"i=%d\n",i>;}程序运行结果:8、#include"stdio.h"main<>{int x ,y;x=37,y=13;while<x!=y>{if<x>y>x=x-y;if<y>x>y=y-x;}printf<"x=%d\n",x>;}程序运行结果:四、编程题1、输出下列图案12 43 6 94 8 12 165 10 15 20 252、输出下列图案*********3、编程求2-4+6-8+…-100+102的值.4、输出公元1500年至2500年所有的闰年的年号.5、从键盘上输入若干学生的C语言成绩,统计并输出最高成绩和最低成绩,当输入负数时结束输入.循环结构程序设计〔参考答案〕一、填空题、1.循环条件循环体循环控制变量2.循环变量赋初值循环测试条件循环变量更新3.执行整个周期外层循环条件为假4.提前结束包含它的循环语句的执行提前结束本次循环周期开始执行下一次循环周期5.0 1 06.07. 18.无数9. 110.5432111.1 4 7 10 13 16 1912.0123413.I=1,j=5I=2,j=414.14916二、选择题1. B2. D三、程序运行结果1.112.163.-14.15.#&*6.bgufsoppo7.i=5J=38.x=1四、编程题1.#include"stdio.h"main<>{inti,j;for<i=1;i<=5;i++>{for<j=1;j<=i;j++>printf<"%d ",i*j>;printf<"\n">;}}2.#include"stdio.h"main<>{inti,j;for<i=5;i>=1;i-=2>{for<j=1;j<=i;j++>printf<"*">;printf<"\n">;}}3.#include"stdio.h"main<>{inti,y=1,s=0;for<i=2;i<=102;i+=2>{ s=s+y*i;y*=-1; 〔y=-y>; } printf<"2-4+6+...-100+102=%d",y>;}4.#include"stdio.h"main<>{inti;for<i=1500;i<=2500;i++>if<i%4==0&&i%100!=0||i%400==0> printf<"%d ",i>;}5.#include"stdio.h"main<>{floatcj,min,max=0;printf<"请输入学生成绩,输入负数时结束:\n">; scanf<"%f",&cj>;min=cj;while<cj>=0>{if<cj>max>max=cj;if<cj<min>min=cj;scanf<"%f",&cj>;}printf<"max=%f\nmin=%f",max,min>;}。

DO循环

DO循环

格式1:
Do语句格式
Do while 条件 循环体 Loop
格式2:
Do 循环体 Loop until 条件
一、绕口令: 选手几百人,小林最年轻, 要知他几岁,请读绕口令, 年龄加年龄,年龄减年龄, 年龄乘年龄,年龄除年龄, 统统加起来,恰好一百整。
程序为: 1. n = 1 DO WHILE n + n + n * n + 1 <> 100 n=n+1 LOOP PRINT N 2.N=0 Do n=n+1 Loop until n+n+n*n+1=100 print n
前面我们学习的FOR—NEXT循环,初值、 终值和步长值是固定的,但是有些问题不 太容易确定循环的次数,要根据条件是否 成立来决定循环的执行与退出,这就需要 另一种控制循环的语句—Do…Loop循环语 句。
Do…Loop循环语句。
格式一: DO WHILE <条件> <循环体> LOOP 功能:
当WHILE子句指定的条件时,即为真时,继续执行循环体 以上过程反复进行, 直到条件为假时不执行循环体,执行LOOP下面一条语句.
QB程序

如果r≠0 否
ห้องสมุดไป่ตู้n=r
Loop While r<>0
循环条件
Print “最大公约为” ;m
⑤结束。
输出m值 结束
DO循环练习题
1.编程计算 S=1+2+3+4+……N,找一个最大整数,使得 S<10000 2.编程计算1+4+7+10+……+n之和超过20000时,求n 值(最小的)

vb程序设计do循环练习

vb程序设计do循环练习

Do循环练习1.while/wend循环当_________________执行循环体,当____________退出循环。

2.写下列程序运行结果。

(1) s=0I=1While i<=5S=s+iPrint s;I=i+1Wend(2) i=10While 7-iPrint I;I=i-1Wend(3) s=0:n=1While n<sS=s+nN=n+2If n=5 then n=n-1WendPrint s;n3.程序填空(1)计算:s=20!S=1K=1While _________S=_________K=k+1WendPrint “20!=”;s(2)任意输出20个数,求最大值N=1Input xMax=xWhile n<=20If max<x then ________N=n+1_________WendPrint max(3)s=.......7353333753,N为何值时S 大于104S=0:n=0While s<1E4________S=s+___________WendPrint x1.下列循环语句能正常结束的是________。

A) i = 5 B) i = 1Do Doi = i + 1 i = i + 2Loop Until i < 0 Loop Until i = 10 C) i = 10 D) i = 6Do Doi = i - 1 i = i - 2Loop Until i < 0 Loop Until i = 1 2.在窗体上画一个名称为Command1的命令按钮,然后编写如下事件过程:Private Sub Command1_Click()Dim a As Integer,s As Integera=8s=1Dos=s+aa=a-1Loop While a<=0Print s;aEnd Sub程序运行后,单击命令按钮,则窗体上显示的内容是______。

Do while循环

Do while循环

8、共有三个表 TB1.DBF TB2.DBF TB3.DBF 。

下面程序功能是把每个表的末尾记录删除。

SET TALK OFFCLEARN=1***********SPACE**********DO WHILE N<=【?】***********SPACE**********TB=【?】USE &TBGO BOTTOMDELEPACK***********SPACE**********【?】ENDDOSET TALK ONRETURN『答案』:1 3 2 "TB"★+STR★(N,1) 或 'TB'★+STR★(N,1) 或 [TB]★+STR★(N,1)3 N=N+1 或 N=1+N9、共有三个表 TB1.DBF TB2.DBF TB3.DBF 。

下面程序功能是把每个表的首记录删除。

SET TALK OFFCLEARN=1***********SPACE**********DO WHILE N<=【?】***********SPACE**********TB=【?】USE &TBGO TOPDELEPACK***********SPACE**********【?】ENDDOSET TALK ONRETURN『答案』:1 3 2 "TB"★+STR★(N,1) 或 "TB"★+STR★(N,1) 或 'TB'★+STR★(N,1) 或 'TB'★+STR★(N,1) 或 [TB]★+STR★(N,1) 或 [TB]★+STR★(N,1) 3 N=N+1 或N=1+N11、复制表XSDA.DBF,生成新表XS.DBF,在新表中查找所有男同学的记录,并将男同学的记录逻辑删除。

SET TALK OFFUSE XSDA***********SPACE**********【?】USE XSLOCATE FOR 性别="男"DO WHILE FOUND()***********SPACE**********【?】***********SPACE**********【?】ENDDOUSESET TALK ON『答案』:1 COPY★TO★XS 2 DELETE 或 DELE 3 CONTINUE 或 CONT 14、求1到50的累加和(S=1+2+3+...+50)并显示。

do循环结构1

do循环结构1
Y N
Do循环命令的循环体中必须有能够改变循环
终止条件的语句
练习:当1+4+7+10+···+ N 之和超过20000 ··· 时,求N的值。 N =-2 S=0 Do N=N+3 S=S+N Loop Until S>20000 Print N
练习:
1)当S=1+2+3+4+···+ N,求一个最大的N值, ··· 使得S<3000。
控制行数
For j=1 to 6 print tab( );se; For i=1 to 5 控制每行 的个数 print “*”; Next i print Next j
4.
* ** *** **** *****
3. ***** **** *** ** *
For j=1 to 5 print tab( For i=1 to print “*”; Next i print Next j
Do循环语句的比较
条件判断放在循环语句的开头部分
所列条件满足时 执行循环 Do While 条件 循环体 Loop 所列条件满足时 退出循环 Do Until 条件 循环体 Loop
条件判断放在循环语句的结尾部分 所列条件满足时 执行循环 所列条件满足时 退出循环
Do 循环体 Loop While 循环条件
Do 循环体 Loop Until 循环终止条件
练习:
1、假设纸的厚度为0.1毫米,对折一次厚度增加1倍,进 行对折纸游戏,直到总厚度超过珠穆朗玛峰的高度为 止(山峰高度8848.13米)。求纸张对折的次数? 2、绕口令:求小林年龄 选手几百人,小林最年轻,年龄加年龄,年龄减年龄, 年龄乘年龄,年龄除年龄,统统加起来,恰好一百整。 3、青蛙4条腿,蝗虫6条腿,现有青蛙和蝗虫共600条腿, 一顿饭后,蝗虫全部被青蛙吃光,一只青蛙一顿最多 能吃11只蝗虫。求原来至少有多少只青蛙。 4、求一个最小的自然数,使它与6的和是13的倍数,与6 的差是12的倍数(练习7:枚举法) 5、产生20个[ 1,6 ] 的随机整数,统计等于6的个数并 打印出来。

第4章循环结构测试题

第4章循环结构测试题

第4章循环结构测试题一、选择题1.以下( )是正确的For … Next结构。

A.For x = 1 To Step 10 B.For x = 1 To -3 Step -3... …Next x Next xC.For x = 1 To 10 D.For x = 3 To 10 Step 3 re: …... …Next x Next yIf i=10 Then GoTo re2.下列循环结构能正常结束循环的是( )。

A.i = 5 B.i = 1Do Doi = i + 1 i = i + 2Loop Until i < 0 Loop Until i =10C.i = 10 D.i = 6Do Doi = i + 1 i = i - 2Loop Until i >0 Loop Until i =13.下面程序段的运行结果为()。

For i = 3 To 1 Step -1Print Space(5 - i)For j = 1 To 2 * i - 1Print "*";Next jPrintNext iA.* B.* * * * * C.* * * * * D.* * * * * * * * * * * * * * * * * * * * * * * * * 4.当在文本框国输入“ABCD”4个字符时,窗体上显示的是()。

Private Sub Text1_Change()Print Text1;End SubA.ABCD B.A C.AABABCABCD D.AB ABC ABCD ABCD5.下列哪个程序段不能分别正确显示1!、2·、3!、4!的值()。

A.For i = 1 To 4 B.For i = 1 To 4n = 1 For j = 1 To iFor j = 1 To i n = 1n = n * j n = n * jNext j Next jPrint n Print nNext i Next iC.n = 1 D.n=1For j = 1 To 4 j = 1n = n * j Do While j<=4Print n n = n * jNext j Print nj=j+1Loop6.下列关于Do…Loop循环结构执行循环体次数的描述正确的是()。

用dowhile语句构成的循环在...

用dowhile语句构成的循环在...

一单项选择题(每题2分,共44分)1、以下叙述正确的是___。

A C程序基本组成单位是语句B C程序每一行只能写一个语句C 简单C语句必须以分号作为结束符D 注释语句可以嵌套2 、一个C语言程序是从___开始执行的。

A 程序中第一个函数B 名为main的函数C 包含文件(头文件)的第一个函数D 程序中的第一个语句3、请选出合法的C语言赋值语句___。

A a=b=58B i++;C a=58,b=58D k=int(a+b);4 、下面标识符中,合法的用户标识符是___。

A 1abcB includeC a-b-c123D char5 、以下所列的C语言整型常量中,正确的是___。

A 0x10B 0976C 076LD 01ff6 、C语言中下列运算符的操作数必须为整型的是___。

A %B ++C /D =7、设a和b均为int型变量,则执行以下语句后的输出为___。

int a=20; int b=3; printf("%d\n",a+=(b%=2));A 20B 21C 0D 238 、已知int i;,则执行语句i=2.6;后,i的值为___。

A 2B 3C 2.6D 不确定9 、以下合法的字符常量为___。

A 'ab'B '\482'C '\'D '\xaf'10 、若y为int型变量,则执行以下语句后,y的值是___。

y=8; y+=y-=y*y;A 64B –56 C –112 D –4811 、以下合法的浮点型常量是___。

A e-3B 1.5E+2.4C 5.6E-2D 2.86 e +512 、设int数据占用两个字节,float数据占用四个字节,double 数据占用8个字节,且已知float a=2;int b=3;则执行下列语句输出为___。

printf("%d",sizeof(a*b)+2/5);A 4B 8C 6D 713、设int型占2个字节,且int i=-2;,则语句printf("%u",i);的输出结果为___。

while、for、do-while循环语句求1到10的累乘求积

while、for、do-while循环语句求1到10的累乘求积

while、for、do-while循环语句求1到10的累乘求积第一篇:while、for、do-while循环语句求1到10的累乘求积输出:3628800 for:#include “stdio.h” main(){ long acc=1;int n;for(n=1;n<=10;n++){acc=acc*n;}printf(“%ld”,acc);getch();}while:#include “stdio.h” main(){ long acc=1;int n=1;while(n<=10){acc=acc*n;n++;}printf(“%ld”,acc);getch();}do-while #include “stdio.h” main(){ long acc=1;int n=1;do{acc=acc*n;n++;}while(n<=10);printf(“%ld”,acc);getch();}第二篇:for循环语句教学反思1For循环语句教学发思发表人:陆京鹏我在程序设计教学中的几点尝试与反思如何解决程序设计本身枯燥、难懂,学生普遍不感兴趣这个问题,如何找到一种比较新颖的教学方式。

我搜集了大量的资料,结合学生的实际情况,在组织有关循环程序设计的课堂教学时,做了以下几点积极的尝试,运用体悟教学法、问题教学法和条件迁移教学法在程序设计教学过程中进行了一些具体的运用,并对在程序设计过程中如何培养同学们的逻辑思维能力和抽象思维能力给予了适当的关注。

一、课本原有以知识的逻辑结构体系为顺序组织课堂教学的方式,以学生的已有知识为基础,按照学生的认知规律,遵循先易后难、先具体后抽象的原则,通过观看、模仿、理解、总结、提高五个阶段进行教学。

从知识的逻辑结构体系考察,这样安排无可非议,但从学生的认知规律考量,我认为把对学生开始不讲基本概念,而是和我一起做,在做中由同学们自己在直观上先去体悟这些概念,然后在时机成熟时再和同学们一起归纳总结。

c++ do-while的经典题型

c++ do-while的经典题型

C++ 中的 do-while 循环是编程中经典的控制流结构之一,它具有独特的特点和用法。

在实际的编程过程中,do-while 循环经常用来处理各种不同的问题,尤其是在需要先执行循环体再判断条件的情况下。

接下来,让我们深入探讨 do-while 循环的经典题型,了解其在编程中的实际应用和价值。

1. 实例分析:求解1到100的和在 C++ 编程中,一个经典的 do-while 循环题型就是求解1到100的和。

这个题目看似简单,但实际上涉及到了 do-while 循环的基本使用和条件判断的处理。

我们可以利用一个 do-while 循环来依次累加1到100的数字,并在达到100时结束循环,最后输出累加和的结果。

这个实例很好地展示了 do-while 循环在实际编程中的简单而重要的作用。

2. 实例分析:猜数字游戏另一个经典的 do-while 循环题型是猜数字游戏。

在这个游戏中,我们可以利用 do-while 循环进行循环地提示用户输入数字并与预设的目标数字进行比较,直到用户猜中为止。

通过这个实例,我们可以了解到do-while 循环在处理用户输入和逻辑判断时的灵活性和适用性,同时也深刻地体会到了循环控制结构在游戏开发中的实际应用。

3. 实例分析:计算阶乘最后一个经典的 do-while 循环题型是计算阶乘。

通过一个循环嵌套的do-while 结构,我们可以很好地体现出 do-while 循环在处理复杂逻辑和数学计算时的便利性和有效性。

这个实例不仅有助于我们理解如何利用 do-while 循环来实现复杂的计算逻辑,同时也展示了编程中对于循环结构和数学算法知识的综合运用。

通过上述的实例分析,我们不仅对于经典的 do-while 循环题型有了全面的了解和认识,同时也深入地体会到了它在编程中的重要作用和实际应用。

在实际的编程过程中,我们可以结合上述的经典题型,灵活运用 do-while 循环,处理各种不同的逻辑和问题,从而提高代码的可读性和效率。

dowhile循环

dowhile循环
5. 两种循环语句只有在第一次循环条件为假时有 区别其余都能互相替代。
6. do-while语句的循环体只有一条时可不加{} , 但最好都加,使程序结构清晰一些
循环程序设计例题
1. i=4;s=0; while (i>0) {s=s+i;i--;} printf(“%d”,s);
1’. i=4;s=0; while (i>0) {s=s+i;i--; printf(“%d”,s); }
l at least once.
e
注意
1. 两种循环语句都是当循环条件为真时执行循环, 为假时转去执行循环的后继语句 。
2. 循环体为空时可用;表示空语句
3. 循环体语句 超过一条时必须加{},构成复合语 句形式。
4. 循环语句要注意循环中的控制部分,要能使循 环条件能有一次值为假从而结束循环的执行, 否则将成为死循环
2. i=0;s=0; while(i<=4) { s=s+i;i++;} printf(“%d”,s);
2’. i=0;s=0; while(i<=4) {i++; s=s+i;} printf(“%d”,s);
循环程序设计例题
3.int k=10; while(k=0) k--; 循环次数: 4. int k=10; while (k!=0) k--; 循环后k的值: 5. int k=10; while (k--!=0); 循环后k的值:
W
Loops---do-while
h 1)Construction
i
do
l
statement
e
while (expression) ;

DO循环例题(带答案)

DO循环例题(带答案)

【例14】编程计算0~200之间所有偶数之和。

前面我们用For循环编写过类似的程序。

(用多种格式改写)前测型Private Sub Form_Click()Dim X%, S%S = 0X = 2Do While X <= 200 ‘或者用 Do Until X > 200S = S + XX = X + 2LoopPrint SEnd Sub后测型Private Sub Form_Click()Dim X%, S%S = 0X = 2DoS = S + XX = X + 2Loop While X <= 200 '或者用 Loop Until X > 200End Sub【例15】求两个整数的最大公约数(辗转相除法)、最小公倍数Private Sub Form_Click()A = Val(InputBox("请输入第一个数"))B = Val(InputBox("请输入第二个数"))C = A * BR = A Mod BDo While R <> 0A = BB = RR = A Mod BLoopPrint "最大公约数为" & BPrint "最小公倍数为" & C / BEnd Sub【例16】编写程序用键盘输入一个大于2的整数,并判断该数是否是素数。

(用DO……LOOP格式写)Private Sub Form_Click()Dim i As Integer, m As Integer, A As Integerm = Val(InputBox("请输入一个大于2的整数"))A = Int(Sqr(m))Do While i <= AIf m Mod i = 0 ThenExit DoEnd Ifi = i + 1LoopIf i > A ThenMsgBox m & "是素数"ElseMsgBox m & "不是素数"End IfEnd SubDO循环求和问题:1.编写程序计算S的值,直到最后一项小于10-4为止(要求将存放结果的变量类型定义成单精度型)S=+++…Private Sub Form_Click()Dim s!, i%, t!s = 0i = 1Dot = 1 / (i * (i + 1))s = s + ti = i + 2Loop Until t < 0.0001Print sEnd Sub2.编写程序计算S的近似值,直到最后一项的绝对值小于10-5次方为止,并用PRINT方法输出计算结果。

While循环以及do-while循环_练习

While循环以及do-while循环_练习

While循环以及do-while循环_练习1 定义⼀个数,判断是否为回⽂数。

回⽂数即⼀个五位数,它的第⼀位与最后⼀位相等,第⼆位与倒数第⼆位相等。

12321 public static void main(String[] args) {Scanner scan = new Scanner(System.in);System.out.println("请输⼊⼀个数字");int number = scan.nextInt();//123321int wei=1;while(number/(int)Math.pow(10,wei)!=0){wei++;}boolean c = true;for(int i=0;i<wei/2;i++){int num1 = number/(int)Math.pow(10,wei-1-i)%10;int num2 = number/(int)Math.pow(10,i)%10;if(num1!=num2){c=false;break;}}if(c){System.out.println("回⽂数");}else{System.out.println("不是回⽂数");}}2 以下程序的运⾏结果是public static void main(String[] args) {int i,n;for(i=1;i<=100;i++){n=i;if(++n%2==0)if(++n%3==0)if(++n%11==0)System.out.printf("%d\n",n);}}22883 定义⼀个正整数如:1205 统计它的各位数字中零的个数,并求各位数字中的最⼤者。

public static void main(String[] args) {Scanner scan = new Scanner(System.in);System.out.println("请输⼊⼀个数字");int number = scan.nextInt();int wei=1;while(number/(int)Math.pow(10,wei)!=0){wei++;}int sum=0;int max = number%10;for(int i=0;i<wei;i++){int num = number/(int)Math.pow(10,i)%10;if(num==0){sum++;}if(num>max){max=num;}}System.out.println("零的个数是:"+sum);System.out.println("每⼀位中最⼤值是:"+max);}4 有1020个西⽠,第⼀天卖掉总数的⼀半后⼜多卖出两个,以后每天卖剩下的⼀半多两个,问⼏天以后能卖完public static void main(String[] args) {int sum=1020;int day=0;while(sum>0){sum=sum/2-2;day++;}System.out.println("⼀共卖了:"+day+"天");}5猴⼦吃桃问题:猴⼦第⼀天摘下若⼲个桃⼦,当即吃了⼀半,还不过瘾,⼜多吃了⼀个,第⼆天早上⼜将剩下的桃⼦吃了⼀半,⼜多吃⼀个,以后每天都吃了前⼀天剩下的⼀半零⼀个。

高中数学 第2章 32循环语句课时作业含解析必修3 试题

高中数学 第2章 32循环语句课时作业含解析必修3 试题

【成才之路】2021-2021学年高中数学第2章 3.2循环语句课时作业北师大版必修3一、选择题1.假设For i=-10 To 19为某一循环语句中的一个步骤,那么该循环一共循环( )[答案] B[解析] 循环次数为(终值-初始值)+1=30.2.关于Do Loop循环语句表达正确的选项是( )A.至少执行循环体一次B.执行一次循环体C.满足条件时执行循环体D.遇到Do Loop就完毕[答案] A[解析] 对于Do Loop循环语句,先执行循环体,再根据条件是否成立来确定执行循环体,因此至少执行一次循环体.3.读下面的算法语句,输出的结果是( )I=1S=0DoS=2*S+1I=I+1Loop While I<=4输出S[答案] C[解析] 当I=1时,S=0×2+1,当I=2时,S=1×2+1=3;当I=3时,S=3×2+1=7;当I=4时,S=7×2+1=15.4.如下图,给出的四个流程图中,满足Do Loop语句格式的是( )[答案] D[解析] Do Loop语句是先执行一次循环体,再判断是否满足条件,排除B,C,当条件不满足时跳出循环体,排除A,应选D.5.以下算法语句的目的是( )S=0For a=1 To 4a=2*aS=S+aNext输出aA.计算2+22+23+24 B.计算2+22+23C.计算234[答案] D[解析] 此题输出的为最后的a值,一共循环了4次,故输出24的值.6.假如以下程序运行后输出的结果是100,那么在程序中While后面的条件表达式应为( )S=0i=1DoS=S+i^3i=i+1Loop While条件表达式输出SA.i>5 B.i≤4C.i≥4 D.i≤5[答案] B[解析] 该程序中使用了Do Loop循环语句,当While后的条件表达式结果为真时,执行循环体,为假时完毕循环,由于输出结果为100,因此条件应为i≤4.二、填空题7.以下算法:A=2B=1DoB=A*BA=A+1Loop While A≤5输出B该算法的功能是________.[答案] 计算1×2×3×4×5的值8.设计算法计算1+2+3+…+50的值时,假如用循环语句应用__________语句,循环次数为__________.[答案] For 50[解析] 因为知道循环次数,故应用For语句,其语句描绘为:S=0For i=1 To 50S=S+iNext输出S.三、解答题9.计算1+2+22+23+…+263,写出用Do Loop语句描绘的算法.[解析] 用语句描绘如下:S=1n=2i=1DoS=S+n^ii=i+1Loop While i<=63输出S10.把100~200内所有能被3整除的数输出,用程序语句描绘算法.[解析] For i=100 To 200If M Mod 3=0 Then输出MNext一、选择题1.读程序,对甲、乙两程序和输出的结果判断正确的选项是( )甲:乙:i=1000 S=0S=0 For i=1 To 1000Do S=S+iS=S+i i=i+1i=i-1 NextLoop While i>=1 输出输出SA.程序不同,结果不同B.程序不同,结果一样C.程序一样,结果不同D.程序一样,结果一样[答案] B[解析] 甲程序是用Do Loop语句写的,乙程序是用For语句写的,但两者运行结果都是500500,S乙=1+2+3+...+1000,S甲=1000+999+ (1)2.以下语句用来计算( )S=1For i=1 To 10S=3*SNextA.3×10的值B.39的值C.310的值D.1×2×3×…×10的值[答案] C[解析] 由循环体,S为3n的形式,由For i=1 To 10,∴S=310,应选C.二、填空题3.阅读下面的算法语句段:b=1For k=1 To 5b=b*kIf b>=15 Then退出For循环End IfNext输出k;b.在上述语句段中,k循环一共执行________次,在窗体上显示的结果为________.[答案] 4 24[解析] 此题主要考察For循环语句,首先观察循环的条件If b>=15 Then退出循环,可知b的最终值为24,k从1到4,所以,kb=24.4.下面是求1×2×3×4×5×6×7×8×9×10的一个算法语句,将其补充完好.[答案] a=a-1 a>0(或者a>=1)[解析] a的初始值为10,故循环体中的值应该递减,即a从10减小到1,循环体的条件应为a>0,也可以为a≥1.三、解答题5.试用循环语句描绘求1-12+13-14+…+19-110的和.[解析] 此题合适用For语句来描绘,用For语句如下:S=0i=1For i=1 To 10S=S+(-1)i+1/iNext输出S.2+22+32+…+n2<1000成立的n的最大整数值,用根本算法语句表示其算法.[解析] 用语句描绘如下:S=1i=2DoA=i^2S=S+Ai=i+1Loop While S<1000i =i -1输出n 的最大整数值i .7.一个算法框图如下图,请根据框图写出用根本语句编写的程序,并指明该程序的功能.[解析] 算法如下:s =0For i =1 To 99s =s +1/(i *(i +1))Next 输出s该算法的功能为求11×2+12×3+13×4+…+199×100的值.励志赠言经典语录精选句;挥动**,放飞梦想。

第九课 循环结构——Do循环(2)

第九课  循环结构——Do循环(2)

四、提高任务
开始
纸的厚度置初值h=0.0005
对折次数置初值n=0 输入高度a h<a? Y h=2*h N
n=n+1
输出n 结束
课堂小结
一张厚度为0.05毫米、面积足够大的纸, 将它不断对折,其厚度可达一个人的高度 (1.78米),看看需要对折多少次?
第九课 循环结构——Do循环(2)
程序实现
一、画流程图
Do循环语句结构: Do While 条件表达式 循环体 Loop
条件表达 式判断? Y N
循环体
当条件表达式的值为真(True)时执行循 环体,否则终止执行循环
一、画流程图
开始 纸的厚度置初值h=0.0005 对折次数置初值n=0 h<1.78? Y h=2*h n=n+1 输出n 结束 N
二、界面设计
在窗体中添加1个标签控件、1个文本框控件、1个按钮控件。
对象名 Form1 Label1 Text1 Command1
Hale Waihona Puke 属性名 Caption Caption Text Caption
属性值 折纸游戏 计算需对折次数: 空 计算
三、编写代码、运行调试
Dim h As Single, n As Integer
h = 0.0005 n=0 Do While h < 1.78 h=2*h n=n+1 Loop
Text1.Text = Str(n)
三、编写代码、运行调试
四、提高任务
nn1输出n结束输入高度a开始纸的厚度置初值h00005对折次数置初值n0nn1输出n结束输入高度a开始纸的厚度置初值h00005对折次数置初值n0nn1输出n结束输入高度a四提高任务开始纸的厚度置初值h00005对折次数置初值n0nn1输出n结束

(完整版)DO-While--Loop循环语句

(完整版)DO-While--Loop循环语句

代码: Dim Age As Integer ,Tree As Integer Age = 17 Tree = 3 Do while Tree < 100
Age = Age + 1 Tree = Tree +Age -14 Loop Print “年龄为:”; Age
Do …Loop循环语句
Do语句的格式有多种,常用的Do语句格式如下:
三、举一反三
变1:计算1+3+…+99的值。
变2:编写一个程序,输入正整数n,计算它的 阶乘n!(n!=n*(n-1)*…*3*2*1)。
思考:编写计算机程序来计算12+32+…+992 的值。
分析: 初值为17,步长为1,终值?
这个问题中的循环次数是未知的,所以用For 循环语句无法解决。要解决这类问题,就要 用到循环语句的另一种语句do循环语句。

具体问题具体求解:
1.将问题转化为:当Tree>=100时,求 Age的值
2.设计算法 (1) 循环体内容:Age = Age + 1 Tree = Tree +Age -14 (2) 退出循环体条件:Tree >= 100
Do While <条件表达式>
语句块(循环体) 注意:先判断后执行,有
Loop
可能一次也不执行
说明: 当条件为真, 执行循环体, 否则结束循环
执行过程为:先计算条件表达式的值,并进行判断,当表 达式的值为True(非0)时(条件成立),执行语句(循 环体)一次,遇到loop语句后,再次计算表达式,若仍为 True,重复执行循环体… …如此一直循环到表达式的值为 False(是0)时,结束循环do语句,转去执行后续语句。

循环试题及答案

循环试题及答案

循环试题及答案一、单项选择题(每题2分,共20分)1. 在循环结构中,以下哪个关键字用于控制循环的执行次数?A. ifB. forC. whileD. switch答案:B2. 在for循环中,以下哪个表达式用于初始化循环变量?A. 条件表达式B. 循环体C. 初始表达式D. 终止条件答案:C3. 下列哪个选项是while循环的一般形式?A. while (条件) {循环体}B. for (初始化; 条件; 迭代) {循环体}C. do {循环体} while (条件);D. A和B答案:A4. 在循环中,break语句的作用是什么?A. 继续执行下一个循环B. 跳出当前循环C. 跳转到循环的开始D. 终止程序答案:B5. 下列哪个选项不是循环结构的特点?A. 可以执行0次B. 可以执行有限次C. 可以执行无限次D. 只能执行一次答案:D6. 在for循环中,迭代表达式的作用是什么?A. 用于初始化循环变量B. 用于更新循环变量C. 用于判断循环条件D. 用于执行循环体答案:B7. 下列哪个关键字不是用于循环控制的?A. continueB. breakC. returnD. goto答案:C8. 在while循环中,如果条件表达式始终为真,会发生什么?A. 循环将无限执行B. 循环将执行一次C. 循环将不执行D. 程序将崩溃答案:A9. 下列哪个选项是do-while循环的特点?A. 循环体至少执行一次B. 循环体可能不执行C. 循环体只执行一次D. 循环体执行次数无限答案:A10. 在for循环中,以下哪个表达式用于判断循环是否继续?A. 初始表达式B. 条件表达式C. 迭代表达式D. 循环体答案:B二、填空题(每题2分,共10分)1. 在for循环中,循环变量的初始值由______表达式设定。

答案:初始2. 循环结构通常用于执行______次的操作。

答案:重复3. 使用______语句可以立即退出循环。

7循环语句do while巩固练习

7循环语句do while巩固练习

Do while循环巩固练习班级姓名1.【2019.1学真】下列关于数制的说法,正确的是( )A.二进制数1110001转换为16进制数是E1B.二进制数1110中的末位数码0对应权值是C.若二进制数末位为0,则该数对应的十六进制数末位不一定是0D.若二进制数1101去掉末位数码1,则新数110是原数1101的1/22.【2019.1学改】下列VB表达式的值等于8的是( )A.Abs(int(-8.3))B.Int(Rnd()*7+1)C.Len(str(2)+str(6))D.(180 Mod 1000) \ 10 mod 103.有如下VB程序段:k=1 : s=0Do While k<=5s=s+k : k=k+1LoopLabel1.Caption =str(s)+str(k)该程序段运行后,标签Label1上显示的内容是( )A.15 6B. 6 15C.20D.214.有如下VB程序段:s=1:c=0: flag=TrueDo While flags=s+2If s>5 Then flag=Falsec=c+1LoopLabel1.Caption = Str(s+c)该程序段运行后,标签Label1上显示的内容是( )A.3B.7C.10D.125.有如下VB程序段:s="浙F888R5": i=0: c=0Do While i<=Len(s)i=i+1 : ch=Mid(s,i,1)If ch>="A" And ch<="Z" Then c=c+1LoopLabel1.Caption = Str(c)该程序段运行后,标签Label1上显示的内容是( )A.0B.1C.2D.36.有如下VB 程序段:n=20 : s=""Do While n<>0r=n Mod 2 : n=n\2 : s=Str(r)+sLoopLabel1.Caption=s该程序段运行后,标签Label1上显示的内容是( )A.10100B.00101C.1010D.00107.素数只能被1和它本身整除,不能被其他自然数整除。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
相关文档
最新文档