实践8 while、do-while循环结构

合集下载

while,do...while及for三种循环结构

while,do...while及for三种循环结构

while,do...while及for三种循环结构循环结构while循环while (布尔表达式) {//循环内容}只要布尔表达式为true循环就会⼀直执⾏我们⼤多数情况会让循环停⽌下来,需要⼀个让表达式失效的⽅式来停⽌循环while循环⽰例public class whileDemo01 {public static void main(String[] args) {int i=0;int sum=0;//输出1-100while (i<100){i++;sum=i+sum;}System.out.println(sum);}}do...while循环do...while循环⾄少会执⾏⼀次do () {//代码语句} while (布尔表达式);while和do...while的区别while是先判断后执⾏,do...while是先执⾏后判断do...while总能保证循环⾄少被执⾏⼀次do...while循环⽰例public class dowhileDemo01 {public static void main(String[] args) {int i=0;int sum=0;do{sum=sum+i;i++;}while (i<=100);System.out.println(sum);}}public class dowhileDemo02 {public static void main(String[] args) {int a=0;while (a<0){System.out.println(a);}System.out.println("===========================");do {System.out.println(a);a++;}while (a<0);}}for循环for循环语句是⼀种⽀持迭代的通⽤结构,是最有效、最灵活的循环结构for循环执⾏的次数在执⾏前就确定for(初始化;布尔表达式;更新) {//代码语句}for循环⽰例public class forDemo01 {public static void main(String[] args) {int a=1;while (a<=100){System.out.println(a);a+=2;}for (int i=1;i<=100;i++){System.out.println(i);}System.out.println("for循环结束");}}分别输出0-100之间奇数及偶数的和public class forDemo02 {public static void main(String[] args) {//0-100之间奇数和偶数的和int sum1=0;int sum2=0;for (int i = 0; i <= 100; i+=2) {sum1=sum1+i;}for (int j = 1; j <=100; j+=2) {sum2=sum2+j;}System.out.println(sum1);System.out.println(sum2);}}输出1-1000的质数,每三个换⾏public class forDemo03 {public static void main(String[] args) {for (int i1 = 1; i1 <= 1000; i1++) {if (i1%5==0){System.out.print(i1+"\t");if (i1%(5*3)==0){System.out.println("\n");}}}}}数组的定义及遍历public class forDemo05 {public static void main(String[] args) {int[] number={10,20,30,40,50}; //定义了⼀个数组//遍历数组的元素for (int i = 0; i < 5; i++) {System.out.println(number[i]);}System.out.println("============================");for (int x:number){System.out.println(x);}}}打印九九乘法表public class forDemo04 {public static void main(String[] args) {//拆分问题,拆分成不同的⼩问题逐步化解//1.先打印第⼀列//2.把固定的1再⽤循环包起来//3.去掉重复项,i2<=i1//4.调整样式for (int i1 = 1; i1 <= 9; i1++) {for (int i2 = 1; i2 <= i1; i2++) {System.out.print(i2+"*"+i1+"="+(i1*i2)+"\t");}System.out.println();}}}输出三⾓形public class testDemo01 {public static void main(String[] args) {for (int i = 1; i <= 5; i++) {//输出的空格逐渐减少,可将初始值设为最⼤之后逐渐减⼩for (int i1 = 5; i1 >= i; i1--) {System.out.print(" ");}//输出的数字逐渐增多,可将初始值设为最⼩之后逐渐增⼤for (int i1 = 1; i1 <= i; i1++) {System.out.print(i1);}//输出的数字逐渐增多,将初始值设为最后之后逐渐增⼤for (int i1 = 1; i1 < i; i1++) {System.out.print(i1);}System.out.println();}}}break与continuebreak⽤于跳出当前循环结构,继续执⾏后续语句;continue⽤于结束本次循环,不再执⾏本次循环的后续语句,直接进⼊下次循环;。

do while死循环写法

do while死循环写法

do while死循环写法
在很多编程语言中,`do-while` 循环是一种在循环体执行之前先执行一次循环条件检查的循环结构。

`do-while` 循环确保循环体至少执行一次,即使循环条件一开始就不满足。

以下是`do-while` 循环的一般写法:
```语言
do {
// 循环体
} while (循环条件);
```
如果你想要创建一个死循环,即循环条件永远为真,可以使用如下的写法:
```语言
do {
// 循环体
} while (true);
```
在这个例子中,`true` 是一个永远为真的条件,因此循环会一直执行下去,形成一个死循环。

你可以根据需要修改条件,例如使用其他始终为真的条件,或者直接使用`true` 来创建死循环。

请注意,在编写死循环时,确保你有一种方法来终止程序的执行,以免导致程序无法正常退出。

在开发中,死循环通常是不建议使用的,因为它可能导致程序无法响应,需要特别小心。

c中dowhile循环语句

c中dowhile循环语句

c中dowhile循环语句摘要:1.C 语言中的dowhile 循环语句2.dowhile 循环语句的语法结构3.dowhile 循环语句的使用方法4.dowhile 循环语句与while 循环语句的区别正文:C 语言中的dowhile 循环语句是一种循环控制语句,与while 循环语句类似,但它的执行条件在循环体内。

这种循环方式在满足特定条件时,可以更好地控制程序的执行流程。

下面我们来详细了解一下dowhile 循环语句。

一、dowhile 循环语句的语法结构dowhile 循环语句的语法结构如下:```do {// 循环体} while (条件);```其中,`do`和`while`是关键字,`do`表示开始循环,`while`表示循环条件。

条件满足时,循环体会被重复执行,直到条件不满足时,循环才会结束。

二、dowhile 循环语句的使用方法下面我们通过一个简单的例子来说明如何使用dowhile 循环语句:```c#include <stdio.h>int main() {int i = 1;do {printf("循环次数:%d", i);i++;} while (i <= 5);return 0;}```在这个例子中,我们使用了dowhile 循环语句来输出循环次数。

循环条件是`i <= 5`,因此当`i`的值小于等于5 时,循环体会被重复执行。

循环体内,我们使用`printf`函数输出循环次数,并将`i`的值加1。

当循环结束时,输出的结果如下:```循环次数:1循环次数:2循环次数:3循环次数:4循环次数:5```三、dowhile 循环语句与while 循环语句的区别dowhile 循环语句与while 循环语句的主要区别在于执行条件的位置。

while 循环语句的执行条件在循环语句之前,而dowhile 循环语句的执行条件在循环体内。

这种区别使得dowhile 循环语句在满足特定条件时,具有更好的控制能力。

循环结构(While_Do循环)

循环结构(While_Do循环)

四. While循环1.While循环的格式:While <条件表达式>循环体Wend说明:<条件表达式>为关系或逻辑表达式。

2.执行过程:判断条件;条件满足,执行循环体语句;再继续判断条件,继续执行循环;直到条件不满足,结束循环。

结合下面我们熟悉的For程序,来说明:For I = 1 To 10S = S + INext IPrint I改用While循环表示:I = 1 ‘初值While I<=10 ‘循环条件S=S+II=I+1 ‘变量自增,加步长WendPrint S3.While循环的说明For循环语句必须给出初值、终值、步长值;循环条件也就给出了。

While循环语句中只给出循环条件和终值,所以一定要注意给出初值和增量。

如上面程序段中的3处颜色部分语句。

例如:以下程序段循环几次,y值结果如何。

y = 2While y < = 8y = y + yWendPrint y分析:循环条件:y<=8执行过程如下:Y=2,y<=8 满足,执行语句:y = y + y,y=4;遇到Wend返回继续判断条件。

Y=4,y<=8 满足,执行语句:y = y + y,y=8;遇到Wend返回继续判断条件。

Y=8,y<=8 满足,执行语句:y = y + y ,y=16;遇到Wend返回继续判断条件。

Y=16,y<=8 不满足,结束循环。

循环执行了3次。

五.Do循环Do循环是在While循环基础上做了一点修改。

整个格式结构和执行过程基本一样。

但增加了一种格式:条件不满足就循环,满足就结束循环。

格式1:Do While (条件)循环体LoopI=1Do While I<4S=S+1I=I+1LoopPrint SI=1Do Until I>=40S=S+1I=I+1Loop格式2:Do循环体Loop While (条件)说明:格式1、格式2和While基本一样,格式2不同在于先执行一次循环,再判断条件是否满足。

4-8_do_while语句

4-8_do_while语句
(表达式); // 分号不能省
略 while执行过程:先执行一次循环体,然后判断表达式,若为
真,继续循环,否则结整循环。
重新输入
在前面的例题中,对于输入的数据不符合要求的,都
只是输出一个提示信息,然后结束程序。事实上,利用 do~while语句,可以强制读入或产生符合题目要求的数据。 最大公约数的输入例子 do { printf(“请输入两个正整数: ”);
scanf(“%d%d”, &dividend, &divider);
}while( dividend<=0 || divider<=0 );
网站主页
网站主页: ( C语言视
频教程 ) 为了更好的排版效果,请下载:方正准圆简体和微 软雅黑这两种字体。只需把这两种字体放到 C:\WINDOWS\Fonts 的文件夹中即可。
引言
我们之前所讲的两种循环都是当型循环(先判断条件, 当条件为真时才开始执行循环体),而这一节介绍的do~while
则是直到型循环,它会先执行循环体的语句,然后才判断条
件看是否要继续循环下去。
do~while语句的结构
do~while语句的结构 do { 一条或多条语句; /* 若为一条语句 可省略大括号 */ 真 循环体

11_while、do while语句

11_while、do while语句

循环条件 sum=0+1 sum==1+2=3 sum=3+3=6 sum=6+4 …… sum=4950+100=5050 循环终 格式: while(表达式 表达式) 表达式 循环体语句; 循环体语句;
while 假(0) 表达式 真(非0) 非 循环体
DD
while语句特点和说明:
do 循环体语句; 循环体语句; while(表达式 表达式); 表达式
真(非0) 非
do
循环体 while 表达式 假(0)
do~while语句特点和说明
特点:先执行循环体, 特点:先执行循环体,后判断表达 式 说明: 说明: (1)至少执行一次循环体 至少执行一次循环体 (2)do~while可转化成 可转化成 while结构 循环体 结构
说明: 说明: 循环体有可能一次也不执行 循环体可为任意类型语句 下列情况,退出while循环 下列情况,退出 循环 条件表达式不成立(为零) 条件表达式不成立(为零) 循环体内遇break,return,goto 循环体内遇 无限循环(死循环 死循环): while(1) 无限循环 死循环 循环体; 循环体
while语句 语句 do while语句 语句
主要内容: 主要内容:
语句和if语句 一、goto语句和 语句 语句和 二、while语句 语句 三、do while语句 语句
重点和难点: while和 while语句使用方法 while和do while语句使用方法
C语言构成循环的语句: 语言构成循环的语句:
1. goto语句和 语句构成循环 语句和if语句构成循环 语句和 2.while语句 语句 3.do…while语句 语句 4.for语句 语句

while和dowhile循环,C语言while和dowhile循环详解

while和dowhile循环,C语言while和dowhile循环详解当循环体中的语句多于一条时,要用{} 把这些语句括起来形成一条复合语句,如下所示。

while(Exp_cntrl){Statement_1;Statement_2;}当循环体为一条简单语句时,可以省略 {},即:while(Exp_cntrl)Simple_Statement;//循环体while 循环的执行流程为,首先判断循环控制表达式 Exp_cntrl 的值,当该表达式的值为逻辑真(非0)时,会一直执行循环体,直到表达式的值为逻辑假(0)才结束循环。

while 循环流程图如图 1 所示。

图 1通常把循环控制表达式 ExP_cntrl 中含有的变量,称为循环控制变量。

为了避免程序陷入死循环,必须要有能改变循环控制变量的语句,使循环控制表达式 Exp_cntrl 的值趋于逻辑假,以便使循环趋于终止。

【例 1】统计输出 100 以内的所有奇数之和。

分析:本题是重复执行“把 100 以内的当前奇数 1、3、5、7,… 累加求和”的相似操作,故采用循环结构。

循环算法的关键是要确定循环条件表达式和循环体。

循环控制变量及初始条件确定:由题意可知,奇数 i 作为循环控制变量,初值为第一个奇数,即 i=1。

另外,还有求和变量 sum=0。

循环条件表达式的确定:循环控制变量 i 为 [1,100] 间的奇数。

故循环条件表达式为 i<=100。

循环体确定:该题循环体中包含以下两部分操作。

•把当前奇数变量 i 累加到求和变量 sum 中,即 sum+=i;•为计算当前奇数的下一个奇数做准备,也就是控制变量的增量部分,即 i+=2。

流程图如图 2 所示。

图 2 流程图实现代码如下:复制纯文本复制1.#include<stdio.h>2.int main (void){3.int sum=0,i=1; //i初始为第一个素数4.while (i<=100) //循环执行的判断条件5.{6.sum+=i;7.i+=2; //控制变量的增量8.}9.printf('sum=%d\n',sum);10.return 0;11.}#include<stdio.h> int main (void){ int sum=0,i=1; //i初始为第一个素数 while (i<=100) //循环执行的判断条件 { sum+=i; i+=2; //控制变量的增量 } printf('sum=%d\n',sum); return 0; }运行结果为:sum=2500需要说明的是,必须在零的基础上进行累加,故 sum 需要初始化为0,否则将是无意义的随机值。

第5.2节 循环嵌套与while和do-while结构

wangcuiqing@
例: 输入一批学生的成绩,求最高分(for)
Enter n: 5 学生成绩: Enter 5 maks:67 88 73 54 82 Max = 88
#include <stdio.h> 学生人数: Main() { int i, mark, max, n; scanf ("%d", &n); printf("Enter %d marks: ", n); scanf ("%d", &mark); /* 读入第一个成绩 */ max = mark; /* 假设第一个成绩是最高分 */ for (i = 1; i < n; i++ ){ scanf ("%d", &mark); if (max < mark) max = mark; } printf("Max = %d\n", max); }
abcefgh1
如:输入若干个 数,求偶数和
wangcuiqing@
练习
wangcuiqing@
例:将一个正整数逆序输出
确定:循环条件和循环体(循环不变式)
12345 5 4 3 2 1 12345 / 10 = 1234 1234 / 10 = 123 123 / 10 = 12 12 / 10 = 1 1 / 10 = 0 结束 用do-while 实现?
***** ***** ***** ***** ***** i控制两个内嵌的循环 K只控制循环体内一个语句, 输出空格; j控制for循环体,连续输 出4个*;
wangcuiqing@
例:使用多重循环for打印下面图形
* *** ***** *******

2、while和do,while循环break和contiune语句


double average=(score1+score2+score3)/3;
System.out.println("您输入的值是"+score1+" "+score2+" "+score3); System.out.println("平均分="+average);
12
第一章
LOGO
Java基础
int stop =4;
for(int i=1;i<10;i++){ //当i等于stop时,退出循环 if( i == stop ) break; System.out.println(“i=”+i); 结果 i=1 i=2
}
4
i=3
第一章
LOGO
continue语句
Java基础
continue 语句
System.out.println(“i=”+i); }
5
i=3
i=5
第一章
LOGO
练习一
Java基础
//输出1~100内前5各可以被3整除的数。 int num = 0, i = 1; while (i <= 100) { if (i % 3 == 0) { System.out.println(i + ""); num++; } if (num == 5) { break; } i++; }
continue语句用在循环语句体中,用于终止某次循环过程,跳过循环体中 continue语句的当次循环,开始下一次循环过程。 例如: int skip=4; for(int i=1;i<=5;i++){ //当i等于skip时,跳过当此循环 结果: i=1 i=2

do_while循环

大家好!今天我们来继续学习循环结构中的do_while语句,do_while 语句是另一种产生循环动作的语句,它的一般形式为:do{循环体语句;} while (条件表达式);该语句的语法功能可由下面的两个步骤组成。

1.执行循环体语句;2.计算条件表达式,若该表达式的值为真,则执行步骤1,若该表达式的值为假,则退出循环,执行下一条语句。

在一般情况下,一定要有使得条件表达式为假的语句,否则会使得程序出现无限循环而发生错误。

注意:do_while循环与while循环还有for循环的最大区别在于:do_while循环中的循环语句至少会执行一次,因为是先执行循环体语句,后判断条件表达式;而while循环和for循环中的循环体语句有可能一次可不被执行。

我们还是来看看求几何级数的那个例子:#include<stdio.h>int main(){int i = 1, sum = 0;do{sum = sum + i;i++;} while (i <= 100);printf("sum=%d\n", sum);}注意:在while后面千万不要忘记分号。

好了,do_while语句我们讲完了,下面我们在来看看goto语句。

goto语句也是一个特殊的循环语句,它的特点在于它是一种无条件的转向,它可以用在程序的任何地方,也可以转向程序的任何地方。

它的一般语法形式为:goto 语句标号;其中语句标号为任何合法的标识符,放在某条语句的前面,并且要在后面加上冒号:goto语句的作用是转到标号语句所在的地方继续执行。

我们还是来看求几何级数的这个例子:#include<stdio.h>int main(){int i = 1,sum = 0;loop:if (i <= 100){sum = sum + i;i++;goto loop;}printf("sum=%d\n", sum);return 0;}好了,到这里我们的循环语句就要讲要讲完了。

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

实践8 while、do-while循环结构
实践任务:
while 循环示例1----while语句实现循环输出。

1.参考代码:
2.运行结果:
while 循环示例2
1.问题描述:
写一个程序,要求它从摄氏温度0 度到250 度,每隔20 度为一项,输出一个摄氏温度与华氏温度的对照表,同时要求对照表中的条目不超过10条。

2.参考代码:
3.运行结果:
任务1 编写程序计算1+2+3+。

+100。

1.参考代码:
2.运行结果:
任务2 利用do-while语句计算1+1/2+1/4+…+1/50。

1.参考代码:
2.运行结果:
任务3 猜数游戏。

1.问题描述:
要求猜一个介于1~10之间的数字,根据用户猜测的数与标准值进行对比,并给出提示,以便下次猜测能接近标准值,直到猜中为止。

2.程序代码:
3. 运行结果:
嵌套 while 循环示例
用“*”打印一个直角三角形图案。

图案如下所示:
*
**
***
****
*****
******
*******
1.参考程序:
2.运行结果:
嵌套 do-while 循环示例
输入一个字符序列,计算所输入的字符个数。

1.参考代码:
2.运行结果:
任务4 该程序用while和do- while循环实现数字左右反转。

1.参考代码:
While语句:
do-while语句:
2.运行结果:
课外实践:
利用while和do-while语句计算数列1/2、2/3、3/5、5/8…前十项的和。

1.参考代码:
2.运行结果:。

相关文档
最新文档