1.4.1 while语句【C++ Primer中文版(第5版)】

1.4  控制流

语句一般是顺序执行的:语句块的第一条语句首先执行,然后是第二条语句,依此类推。当然,少数程序,包括我们解决书店问题的程序,都可以写成只有顺序执行的形式。但程序设计语言提供了多种不同的控制流语句,允许我们写出更为复杂的执行路径。

1.4.1  while语句

while语句反复执行一段代码,直至给定条件为假为止。我们可以用while语句编写一段程序,求1到10这10个数之和:

 
 
  1. #include <iostream> 
  2. int main()  
  3. {  
  4.      int sum = 0val = 1;  
  5.      // 只要val的值小于等于10,while循环就会持续执行  
  6.      while (val <= 10) {  
  7.           sum += val;   // 将sum + val赋予sum  
  8.           ++val;        // 将val加1  
  9.      }  
  10.      std::cout << "Sum of 1 to 10 inclusive is "  
  11.                 << sum << std::endl;  
  12.      return 0;  

我们编译并执行这个程序,它会打印出

 
 
  1. Sum of 1 to 10 inclusive is 55 

与之前的例子一样,我们首先包含头文件iostream,然后定义main。在main中我们定义两个int变量:sum用来保存和;val用来表示从1到10的每个数。我们将sum的初值设置为0,val从1开始。

这个程序的新内容是while语句。while语句的形式为

 
 
  1. while (condition)  
  2. statement 

while语句的执行过程是交替地检测condition条件和执行关联的语句statement,直至condition为假时停止。所谓条件(condition)就是一个产生真或假的结果的表达式。只要condition为真,statement就会被执行。当执行完statement,会再次检测condition。如果condition仍为真,statement再次被执行。while语句持续地交替检测condition和执行statement,直至condition为假为止。

在本程序中,while语句是这样的

 
 
  1. // 只要val的值小于等于10,while循环就会持续执行  
  2. while (val <= 10) {  
  3.      sum += val;    // 将sum + val赋予sum  
  4.      ++val;         // 将val加1  

条件中使用了小于等于运算符(<=)来比较val的当前值和10。只要val小于等于10,条件即为真。如果条件为真,就执行while循环体。在本例中,循环体是由两条语句组成的语句块:
 

 
 
  1. {  
  2.     sum += val;         // 将sum + val赋予sum  
  3.     ++val;          // 将val加1  

所谓语句块(block),就是用花括号包围的零条或多条语句的序列。语句块也是语句的一种,在任何要求使用语句的地方都可以使用语句块。在本例中,语句块的第一条语句使用了复合赋值运算符(+=)。此运算符将其右侧的运算对象加到左侧运算对象上,将结果保存到左侧运算对象中。它本质上与一个加法结合一个赋值(assignment)是相同的:

 
 
  1. sumsum = sum + val; // 将sum + val赋予sum  

因此,语句块中第一条语句将val的值加到当前和sum上,并将结果保存在sum中。

下一条语句
 

 
 
  1. ++val; // 将val加1 

使用前缀递增运算符(++)。递增运算符将运算对象的值增加1。++val等价于val=val+1。

执行完while循环体后,循环会再次对条件进行求值。如果val的值(现在已经增加了)仍然小于等于10,则while的循环体会再次执行。循环连续检测条件、执行循环体,直至val不再小于等于10为止。

一旦val大于10,程序跳出while循环,继续执行while之后的语句。在本例中,继续执行打印输出语句,然后执行return语句完成main程序。

1.4.1节练习

练习1.9:编写程序,使用while循环将50到100的整数相加。

练习1.10:除了++运算符将运算对象的值增加1之外,还有一个递减运算符(  )实现将值减少1。编写程序,使用递减运算符在循环中按递减顺序打印出10到0之间的整数。

练习1.11:编写程序,提示用户输入两个整数,打印出这两个整数所指定的范围内的所有整数。


吐舌头欢迎来我店里看看哦~~M2魅力女装 ~ 充值


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
提供的源码资源涵盖了安卓应用、小程序、Python应用和Java应用等多个领域,每个领域都包含了丰富的实例和项目。这些源码都是基于各自平台的最新技术和标准编写,确保了在对应环境下能够无缝运行。同时,源码中配备了详细的注释和文档,帮助用户快速理解代码结构和实现逻辑。 适用人群: 这些源码资源特别适合大学生群体。无论你是计算机相关专业的学生,还是对其他领域编程感兴趣的学生,这些资源都能为你提供宝贵的学习和实践机会。通过学习和运行这些源码,你可以掌握各平台开发的基础知识,提升编程能力和项目实战经验。 使用场景及目标: 在学习阶段,你可以利用这些源码资源进行课程实践、课外项目或毕业设计。通过分析和运行源码,你将深入了解各平台开发的技术细节和最佳实践,逐步培养起自己的项目开发和问题解决能力。此外,在求职或创业过程中,具备跨平台开发能力的大学生将更具竞争力。 其他说明: 为了确保源码资源的可运行性和易用性,特别注意了以下几点:首先,每份源码都提供了详细的运行环境和依赖说明,确保用户能够轻松搭建起开发环境;其次,源码中的注释和文档都非常完善,方便用户快速上手和理解代码;最后,我会定期更新这些源码资源,以适应各平台技术的最新发展和市场需求。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值