精华内容
下载资源
问答
  • while循环的特点是什么
    2021-04-18 13:30:17


    目标:

    • 熟练使用while、do while循环,并体会特点

    一、使用while循环计算阶乘

    public int factorial(int num) {
    	int result = 1;
    	while (num > 0) {
    		result = num * result;
    		num--;
    	}
    	return result;
    }
    

    结果展示:
    调用方法,传入参数5:
    在这里插入图片描述

    二、体会 do while循环 特点

    ① 当do while中条件满足时:

    int count = 1;
    do {
    	System.out.println("第" + count + "次打印");
    	count++;
    } while (count <= 10);
    

    结果展示:在这里插入图片描述
    完成了所有次数的打印。

    ② 当do while中条件不满足时:

    int count = 11;
    do {
    	System.out.println("第" + count + "次打印");
    	count++;
    } while (count <= 10);
    

    结果展示:
    在这里插入图片描述
    只完成了一次打印,由于传入的值为11,所以打印值为11。

    总结:

    ① while循环:

    • while循环一般形式:
    while(布尔表达式){
       //如果布尔表达式的值为true,则不断循环执行语句
    }
    
    • while循环中的判断条件成立时,其中的语句会不断执行,直至条件不再成立
    • while 循环中,表达式真值在循环开始时检查,若一开始就为 FALSE 则整个循环立即终止

    ②do while循环:

    • do while循环一般形式:
    do {
    	//保证至少执行一次,如果布尔表达式的值为true,则开始不断循环执行语句
    } while (布尔表达式);
    
    • do-while 的循环语句保证会执行一次(表达式的真值在每次循环结束后检查)
    更多相关内容
  • 在C#中while循环是我们经常会用到的一种循环语句,while循环特点是直到条件为零时才跳出循环,当然中间可以利用其它函数直接跳出,对于while的具体用法有必要做一个较为详尽的分析。 先来说Foreach和For的区别,...
  • for循环,while循环等一些循环嵌套以及其使用场景和特点比较
  • C++ while循环 while语句的一般形式如下: while (表达式) 语句 其作用是: 当指定的条件为真(表达式为非0)时,执行while语句中的内嵌语句。其流程图见下图。 其特点是:先判断表达式,后执行语句。while循环...
  • Python中while循环简介(66)

    千次阅读 2021-01-14 17:28:25
    python大大的图图片发自简书App我的图图片发自简书App在复杂的程序中很多不同的事件都会导致程序停止运行,如果在循环中要检查这么多变量就会导致循环的编写变得复杂。...在while循环里,continu...

    python大大的图

    图片发自简书App

    我的图

    图片发自简书App

    在复杂的程序中很多不同的事件都会导致程序停止运行,如果在循环中要检查这么多变量就会导致循环的编写变得复杂。这时候我们可以定义一个变量用于判断整个程序是否处于活动状态,这个变量为True时程序继续运行,而为False时程序停止运行。这个变量被称为标志。而标志处于True还是False,由程序其他部分处理。

    在while循环里,continue用于跳出该次循环,如果满足循环条件会再次进入while循环。break用于跳出整个while循环。

    如果程序陷入无限循环,可按Ctrl+C,也可关闭显示程序输出的终端窗口。

    图片发自简书App

    按Ctrl+C之后无限循环停止了

    图片发自简书App

    比萨配料:编写一个循环,提示用户输入一系列的比萨配料,并在用户输入'quit'时结束循环。每当用户输入一种配料后,都打印一条消息,说我们会在比萨中添加这种配料

    图片发自简书App

    而这题如果把输入放在循环外就会变成无限循环

    图片发自简书App

    还是这个程序,在Spyder上用Ctrl+C停止时,是这样的

    图片发自简书App

    在这个程序中加入三个要求:(1)在while循环中使用条件测试来结束循环。(2)使用变量active来控制循环结束的时机。(3)使用break语句在用户输入'quit'时退出循环。

    图片发自简书App

    图片发自简书App

    电影票:有家电影院根据观众的年龄收取不同的票价:不到3岁的观众免费;3~12岁的观众为10美元;超过12岁的观众为15美元。请编写一个循环,在其中询问用户的年龄,并指出其票价。

    图片发自简书App

    严格限定年龄范围可以防止用户输入错误的数据。如果输入年龄为-1,循环退出。

    这是一个票价查询程序,如果要设置成购票程序就需要加入票数进行计算。假设一对30岁的爸爸妈妈带着一个2岁,一个5岁的孩子去看电影

    图片发自简书App

    很明显这个程序有bug,年龄只能由小到大,而不能任意输入。我暂时还没想到更好的写法,会写的小伙伴教我一下哟~

    展开全文
  • 循环体中的语句多于一条时,要用 {} 把这些语句括起来形成一条复合语句,如下所示。...//循环while 循环的执行流程为,首先判断循环控制表达式 Exp_cntrl 的值,当该表达式的值为逻辑真(非 0...

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

    while(Exp_cntrl)

    {

    Statement_1;

    Statement_2;

    }

    当循环体为一条简单语句时,可以省略 {},即:

    while(Exp_cntrl)

    Simple_Statement;//循环体

    while 循环的执行流程为,首先判断循环控制表达式 Exp_cntrl 的值,当该表达式的值为逻辑真(非 0)时,会一直执行循环体,直到表达式的值为逻辑假(0)才结束循环。

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

    e868611b2786fbc08c677e4dcaa48857.png

    图 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 所示。

    a189d548d808518140c01d0284390b80.png

    图 2 流程图

    实现代码如下:

    #include

    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,否则将是无意义的随机值。循环控制条件不必刻意去思考最后一个奇数是否包含 100,让程序根据奇数的定义及相邻奇数的差值自行计算确定 100 以内的最后一个奇数。

    do-while循环

    do-while 循环的格式如下。

    do{

    Statement _1;

    Statement _2;

    }while(Exp_cntrl);//分号不可丢

    当循环体为一条简单语句时,可以省略 {},即:

    do

    Simp1e_Statement;//循环体

    while(Exp_cntrl);

    注意,在 do-while 结构中,while 括号后的分号不能丟。

    do-while 循环的执行流程是:首先无条件地执行一次循环体,然后再根据循环控制表达式的值来判断是否继续执行循环体。若为真,则继续执行;若为假,则停止执行,退出 do-while 循环。也就是说,do-while 循环至少执行一次循环体。

    do-while 循环和 while 循环的主要差别是:前者至少执行一次循环体,后者有可能一次也不执行循环体。

    do-while 循环的执行流程图,如图 3 所示。

    085269fcf63901278064078ebe9f5921.png

    图 3 do-while 循环流程图

    do-while 循环主要用在一直进行尝试性的操作,直到满足条件为止的情景。

    【例 2】编程实现猜数字游戏,假设谜底为 0〜10 的整数,猜谜者每次输入一个整数,直到猜对为止。

    分析:本题属于先输入所猜数字才能判断是否猜中,如果猜中,游戏结束,如果没猜中,继续猜,直到猜中为止。故该题符合 do-while 循环的使用场景。

    实现代码为:

    #include

    int main (void){

    int pwd=7,gs; //pwd:谜底

    printf ("\tGames Begin\n");

    do{

    printf("Please guess (0~10):");

    scanf("%d",&gs);

    }while(gs!=pwd);

    printf ("\tSucceed!\n");

    printf ("\tGaines over\n");

    return 0;

    }

    运行结果:

    Games Begin

    Please guess (0~10):3

    Please guess (0~10):5

    Please guess (0~10):8

    Please guess (0~10):7

    Succeed!

    Gaines over

    while和do-while的等价关糸

    在多数情况下,while 循环和 do-while 循环是等价的,如下例所示。

    【例 3】计算表达式 1-1/2+1/3-1/4+1/5-----1/100 的值。

    分析:通过观察可以发现,该表达式是把分母从 1 开始到 100 为止的所有数据项:1、-1/2、1/3、…、-1/100 累加求和。也就是说先判断分母是否小于等于 100,如果是,再组建该项,并把该项累加到求和变量上。符合循环条件前置的特点,故可选择 while 循环实现。

    实现代码:

    #include

    int main (void)

    {

    double s=0.0, item;

    int sign=1,n=1; //n:分母

    while(n<=100)

    {

    item=sign*(1.0/n); //组建当前项,注意1.0的作用

    s+=item; //累加当前项

    sign*=-1; //改变下一项的符号位

    n++; //改变下一项的分母

    }

    printf("sum=%lf\n",s); //double的格式控制符为%lf

    return 0;

    }

    运行结果:

    sum=0.688 172

    再次分析:由于事先知道求和变量 s 中至少包含一项 1,故第一次累加的分母判断条件可以去掉,从第二项开始,首先判断分母是否小于等于 100,再组项,然后累加。故该例子也符合循环条件后置的情况,所以本例也可以使用 do-while 循环,实现求该表达式的值。

    实现代码为:

    #include

    int main (void)

    {

    double s=0.0,item;

    int sign=1,n=1;

    do

    {

    item=sign*(1.0/n); //n:分母

    s+=item; //组建当前项,注意1.0的作用

    sign*=-1;

    n++;

    }while(n<=100);

    printf("sum=%lf\n",s);

    return 0;

    }

    运行结果为:

    sum=0.688172

    注意,每一项的组建均是:分数值(分子与分母相除的结果)与符号位相乘的结果,尽管在本例中写成 term=sign*1.0/n; 同样能得到正确结果,但不提倡这种写法。建议分数值表示部分显式加上括号,即:item=sign*(1.0/n); 这是一种规范的写法,这样可避免因编译器的差异而造成结果不确定的情况,即增强了代码的可移植性。

    另外,参考代码 item=sign*(1.0/n); 中的 1.0 如果误写成 1,即 item=sign*(1/n); 则输出错误结果:sum=1.000 000。原因是除了第一项 n 为 1 时,1/n=1 外,其余当 n≥2 时,1/n 分子、分母同为整数值,结果为取整,故从第二项开始每一项的结果均为 0。

    while 和 do-while 的不等关糸

    并不是所有的 while 循环都可等价替换为 do-while 循环结构。当 while 循环第一次循环条件就不满足时,此时不能把该 while 循环转换为 do-while 循环。如例 4 所示。

    【例 4】分析如下两段代码的输出结果,总结 while 循环和 do-while 循环的差异。

    实现代码 1:

    #include

    int main (void)

    {

    int s=0,i=15;

    while(i<=10)

    {

    s+=i;

    i++;

    }

    printf ("s=%d\n",s);

    return 0;

    }

    实现代码 2:

    #include

    int main (void)

    {

    int s=0,i=15;

    do

    {

    s+=i;

    i++;

    }while(i<=10);

    printf("s=%d\n",s);

    return 0;

    }

    分析:

    实现代码 1:使用 while 循环结构,循环判断条件前置,先判断 i 是否满足小于等于 10 时,如果满足,则把 i 累加到 3 上;否则,循环结束。本例中i初始为 15,不满足 i 小于等于 10,故循环体一次也不执行。s 为 0。

    实现代码 2:使用 do-while 循环结构,循环判断条件后置,先无条件执行一次循环体,即先把 i 的初始值 15 累加到 s 上,i 自增 1 变为 16,然后判断 i 的值 16 是否小于等于 10,结果为假,故循环终止。s 的值为 15。

    展开全文
  • do-while语句的特点是先执行循环体,然后判断循环条件是否成立。其一般形式为: do 语句 while (表达式); 它是这样执行的:先执行一次指定的语句(即循环体),然后判别表达式,当表达式的值为非零(“真”) 时,...
  • Java基础(三)——for循环与while / do…while循环、各循环的特点和适用场景、流程控制关键字 一、for循环 1、for循环结构 for(初始化条件;条件判断语句;条件控制语句){ 循环体语句 } 初始化条件:...

    Java基础(三)——for循环与while / do…while循环、各循环的特点和适用场景、流程控制关键字

    一、for循环

    1、for循环结构

    在这里插入图片描述
    在这里插入图片描述

    for(初始化条件;条件判断语句;条件控制语句){
    				循环体语句
    			}
    		
    			初始化条件:控制开始。
    			
    			条件判断语句:判断是否结束,控制结束。
    			
    			条件控制语句:控制如何从开始到结束。
    

    2、需要注意的案例

    a、变量的生命周期,在循环里定义的变量,循环结束则销毁

    for(int i = 1;i < 11;i++){
    		
    		}
    		System.out.prinln(i);
    

    上述代码会报错,因为 i 只在循环里面,循环结束就销毁。

    b、

    		int i = 0;
    		for(i = 1;i < 11;i++){
    		}
    		System.out.println(i);
    

    上述代码不会报错,且生命周期为main方法。
    循环结束的时候 i 为11。

    3、for循环的死循环

    a、括号内只填两个分号

    for(;;){		// 死循环
    			System.out.println("有道无术,术尚可求");
    		}		
    

    上面for循环这么写会死循环

    b、初始条件一开始就超出范围

    for(int i = 1;i > 0;i++){		// 超出范围
    			System.out.println("有道无术,术尚可求");
    		}
    

    二、while循环

    1、while循环结构

    在这里插入图片描述

    初始化语句
    			while(条件判断语句){
    				循环体语句
    				条件控制语句	
    			}
    		
    			程序运行到 while 循环时,根据条件判断语句作出决定。
    			结果为 true 则执行循环体语句和条件控制语句,再执行条件判断语句。
    			结果为 false 则结束while循环。
    

    三、do—while循环

    1、do—while循环结构

    在这里插入图片描述
    案例:
    在这里插入图片描述

    四、三个循环的各自特点

    三个循环中,for 循环与 while 循环是可以一次都不执行就终止的循环。而do—while循环,至少要进行一次,接着才判断条件是否循环。

    五、三个循环适用的场景

    for循环与while循环,适用于循环次数明确的状况。

    do—while循环,适用于循环次数不明确的状况

    六、流程控制关键字

    1、break——终止、跳出循环结构

    break在循环里是结束循环,结束包含break的那一层循环。

    如果有多层嵌套循环,想要通过一个 break ,结束多层循环,可以借助标号:
    在这里插入图片描述
    这个break,就可以结束整个嵌套循环。

    2、continue——跳过本次循环,开启下次循环

    continue 可以直接跳过这一轮的循环,开始下一次的循环

    3、return——结束方法

    return ,结束的是包裹 return 方法体的方法。

    展开全文
  • C语言中的while循环、do while、for循环

    千次阅读 2021-06-05 16:38:47
    ------------while循环使用方法: ----------------1)while循环特点:如果while中的条件一开始就不成立,那么循环体中的语句永远不会被执行2)while语句的语义是:如果条件成立,就会执行循环体中的语句(“循环体”就是...
  • 匿名用户1级2013-09-14 回答用while语句实现循环while语句用来实现“当型”循环结构。其一般形式如下:while(表达式)语句;执行顺序:先判断表达式,后执行语句。也就是说当while后面的表达式为真(非零)时,就执行...
  • 结构特点:(循环体不同) do-while:do{循环体}while() for(){循环体} while(){循环体} 执行代码的方式不同: do-while:不管条件满不满足,先执行一次,再进行判断。如果不满足此时跳出;满足的话继续。 while:...
  • -- do-while循环 目录 课程导入 1 掌握do-while循环的语法 2 能够完成简单程序的编写 while循环 while(循环条件) { 循环体 } 重复执行的操作 语法: 循环条件 循环体 真 假 do-while循环 do-while循环 特点: 它先...
  • for,while循环特点和区别

    千次阅读 2019-12-28 00:09:17
    public class demo01 { public static void main(String[] args) { int i=1; while(i<5){ System.out.println("x="+i); i++; } //System.out.print...
  • 主要必固与之”是谁说的区别test5语言中我国社会管理是由哪两种关系统领的流脑皮疹的特点是, 除外和环test2麻疹的主要传染源是患者,男性,主要35岁,主要乏力、腹胀2月,腹痛4天,便秘2天。体查:T38.5℃,神清,...
  • while,do-while,for循环特点区分

    千次阅读 2017-10-23 15:07:17
    循环的必要条件是什么?  1.变量的初始化;2.循环条件的判断; 3.循环变量的更新。  while 循环:先判断后执行,可能出现一次都没有循环的情况;变量的初始化是在循环体外,循环条件判断是在while()中进行,而...
  • python中while循环的基本使用

    千次阅读 2020-12-09 10:30:24
    一、while循环while 条件: 如果条件为True,会一直循环代码块(循环体)else:当上面的条件为假。才会执行执行顺序:判断条件是否为真。如果真,执行循环体。然后再次判断条件....知道循环条件为假,程序退出。死循环:...
  • Shell while循环详解

    千次阅读 2020-02-14 17:48:11
    一、while循环 while循环是shell脚本中最简单的一种循环,当条件满足时,while重复的执行一组语句,当条件不满足时,就退出while循环 Shell while循环的用法如下: while condition do statements done condition...
  • while循环嵌套

    千次阅读 2021-02-14 23:59:24
    # while循环嵌套: 在一个while循环语句里面再次使用while循环语句,该格式称为while循环嵌套 # while循环嵌套的语法格式: # while 要判断的条件: # 当条件满足,执行循环语句里面的代码 # # while 要判断的条件: #...
  • for循环、while循环和do-while循环

    千次阅读 2018-09-19 17:06:06
    什么是循环循环:同一个代码根据情况要一直执行。 循环的意义:大大减少代码量, 极大意义上的提升硬件利用率 什么时候使用循环? 1.重复并且有规律 —&amp;gt;逻辑能力 2.开始条件 —&amp;gt;从...
  • Java 的while和do while循环
  • Java do while循环语句用法

    万次阅读 2021-02-27 19:06:57
    循环语句whileJava do while循环语句用法do-while循环,先执行一次,然后在判断,如果条件成立,在循环执行,如果不成立,继续往下执行语法do {statement(s)} while (expression);布尔表达式在循环体的后面,所以...
  • while循环: while ( 循环条件 ) { 循环操作 } while循环特点:先判断,再执行。 do-while循环: do { 循环操作 } while ( 循环条件 ); do-while循环特点:先执行,再判断。 ...
  • C语言while循环和do while循环详解

    千次阅读 多人点赞 2020-02-22 11:31:23
    在C语言中,共有三大常用的程序结构: 顺序结构:代码从前往后执行,没有任何“拐弯抹角”; 选择结构:也叫分支结构,重点要掌握 if else、switch 以及条件运算符;...while循环的一般形式为: while(表达式)...
  • Java for循环和while循环的区别

    千次阅读 2021-04-28 21:03:30
    Java for循环和while循环的区别 一、两种循环的格式不同: 控制条件语句所控制的那个变量,在for循环结束后,就不能再被访问到了,而while循环结束还可以继续使用,如果你想继续使用,就用while,否则推荐使用for...
  • C语言——while循环

    2022-01-14 12:01:47
    while循环,do-while循环
  • C语言中阶第三篇:循环语句do while透析以及循环语句总结(执行次数、执行特点循环英文的详解)
  • 在Python中循环结构有for循环和while循环两种,同时while循环和for循环里面往往会嵌套分支结构。 for循环和while循环的主要区别在于: for循环:在明确知道循环次数,一般我们会使用for循环。例如累加计算(计算...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 161,897
精华内容 64,758
热门标签
关键字:

while循环的特点是什么