第一阶段 C语言基础与入门5

While语句:

  除了for语句外,while语句也用于实现循环,而且他的适应面更广,其一般形式为:

while(表达式) 循环语句;

该语句的执行流程是:

(1)步骤一:判断小括号中的表达式的值,如果表达式的值为真,则执行while后面的循环语句;如果表达式的值为假,则不执行循环语句,而且结束while语句的执行;

(2)步骤二:如果表达式的值为真,执行完循环语句之后,回到步骤一继续循环判断执行;

while语句的执行流程可以如下图所示:

所以,可以看到,如果表达式的值为真,那么,就一直执行循环语句。直到表达式的值为假的时候,才结束while()语句。
原文链接:https://blog.csdn.net/feng19870412/article/details/108347640

 下面通过和for语句的比较,讨论while语句的使用方法。

(1)while语句中的表达式可以时任意合法的表达式,循环体语句只能是一条语句。

(2)从两种循环语句的形式和执行流程可以看出,while语句的构成简单,只有一个表达式和一天循环体语句,分别对应循环的两个核心要素:循环条件和循环体,可以直接把循环问题的分析设计转换为语句实现。

(3)循环的实现一般包括4个部分,即初始化、条件控制、重复的操作以及通过改变循环变量的值最终改变条件的真假性,使循环能正常结束。这4个部分可以直接for语句中的4个成分(表达式1、表达式2、循环体语句和表达式3)相对应,当时有while语句时,由于它只有2个成分(表达式和循环体语句),就需要另加初始化部分,至于第4个部分,while语句的循环体语句可包含for语句的循环体语句和表达式3,所有while循环体语句中必须包含能最终改变循环条件真假性的操作。

(4)从while语句和for语句的执行流程可以看出,它们的执行机制实质上是一样的,都是在循环前先判断条件,只有条件为“真”才进入循环。

    可以把for语句改写成while语句:

       表达式1;

      while(表达式2){

          for的循环体语句;

                表达式3;

}

for语句和while语句都能实现循环。一般情况下,如果题目中指定了循环次数,使用for语句更清晰,循环的4个组成部分一目了然;其他情况下多使用while语句。例如下面例题没有直接给出循环次数,而是由某一项的值来控制循环,因此就选用了while语句。

使用格雷戈里公式求pai的近似值且最后一项的绝对值小于给定的精度eps:

do-while语句

  for语句和while语句都是在循环先判断条件,只有条件满足才会进入循环,如果一开始条件就不满足,则循环一次都不执行。如

  do-while语句与上述两种循环语句略有不同,它先执行循环体,后判断循环条件。所有无论循环条件的值如何,至少会执行一次循环体。其一般形式为:

                do{

                          循环体语句

                    }while(表达式);

  do-while语句的执行流程如右图所示,第一次进入循环时,首先执行循环体语句,然后再检查循环控制条件,即计算表达式,若值为“真”,继续循环,直到表达式的值为“假”,不执行循环。

  do-while语句的使用方法和while语句类似,语句中的表达式可以是仍以合法的表达式,循环体语句只能是一条语句;使用时要另加初始化部分,循环体语句必须包含能最终改变条件真假性的操作。

  do-while语句适合于先循环、后判断循环条件的情况,一般在循环体的执行过程中明确循环控制条件。它每执行一次循环体后,再判断条件,以决定是否进行下一次循环。

统计一个整数的位数:

                

break语句与continue语句:

判断一个数是否为素数:

注: 

虽然是按照课本打的代码,但我觉得有一点困难,因为太多语句的嵌套,导致自己得对每个花括号十分注意,不能对错!

  

  如上图,使用循环来判断素数,得到两种结论,是素数或者不是素数,分别对应循环的两个条件:

  1. 正常的的for循环结束条件i>limit,可判定m是一个素数。
  2. 若m%i==0,说明m能被某个i整除,可判定m不是素数。

  break语句强制循环结束,一旦执行了break语句,循环提前结束,不在执行循环体中位于其后的其他语句。break语句应该和if语句配合使用,即条件满足时,才执行不break跳出循环;否则,若break无条件执行,意味着永远不会执行循环体中break后面的其他语句。因为先前学过break语句,就不再详细解释。

在这里插入图片描述

continue语句:

  continue语句的作用是跳过循环体中continue后面的语句,

 继续下一次循环,其工作流程如图所示,continue语句

一般也需要与if语句配合使用。

continue语句和break语句的区别在于,break结束循环,而continue只是跳过后面语句继续循环。break除了可以中止循环外,还用于switch语句,而continue只能用于循环。

练习1:

输入一批学生的成绩,计算平均成绩,并统计不及格学生的人数:

练习2:

练习3:

逆序输出一个整数的各位数字:

练习4:

 

 

 

 

练习5:

自制计算一个整数的位数:

本周学习到此为止,

如有错误,欢迎纠正。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值