语句总是顺序运行的:第一条语句运行完了接着是第二条,第三条等等。这是最简单的情况,为了更好的控制语句的运行。程序设计语言提供了多种控制结构支持更为复杂的语句运行。我们就来看看C++ 提供的控制方式。

一、 while 语句

while 语句提供了循环运行功能。能够用 while 语句编写一个好玩的从 1 到 5(包含 5)的数数游戏:1+2+3+4+5

#include <iostream>

int main() {

int game_num= 0, val = 1;

//继续运行。直到value大于5:

while (val <= 5) {

// game_num + val 之后塞给game_num:

game_num += val;

++ val; // val加1

}

std::cout << "1到5这5个数的总和是:" << game_num<< std::endl;

return 0;

}

编译并运行后。将输出:

1到5这5个数的总和是: 15

怎么样?while的结构是不是非常easy?既简单又强大。

二、 for语句

for语句的出现是由于while语句有缺点: while 循环使用变量来控制循环运行次数。每次运行 while 语句。都要看看变量的值,运行循环体,然后再改变变量的值。再检查变量值,周而复始。

由于总是靠函数体中改变变量值来控制循环,有些麻烦。

C++ 语言定义了第二 种控制结构:for 语句。她简化了循环变量的控制逻辑。看看相同是上例中俺的样例:

#include <iostream>

int main() {

int game_num = 0;

for (int val = 1; val <= 5; ++val)

game_num += val;

std::cout << "1到5这5个数的总和是:" << game_num<< std::endl;

return 0;

}

看出来了没有?for 语句脑袋由三部分组成:一个初始化,一个条件,一个表达式。 在这个样例中,初始化语句是:

int val = 1;

初始化语句仅在进入 for 语句时运行一次。

条件: val <= 10

表达式: ++ val

总结一下这哥仨的用处:

1. 初始化val 为 1。

2. 測试 val 是否小于或等于 5。

3. 假设 val 小于或等于 5。则运行 for 循环体。把 val 加到 game_sum 中。

假设 val 大于 5。就退出循环。接着运行 for 语句体后的第一条语句。

4. val 加1。

5. 反复第 2 步,仅仅要条件为真,就继续运行for的循环体

好玩吧?简单吧?这两种结构都非常实用,是最普通的控制结构。

大家一定要掌握哟 ^_^

本文属原创。转载请注明出处。并标记以下内容,谢谢!


关注微信公众号:程序猿互动联盟(coder_online)

  • 编程新手输入数字 12345 获取QQ群。增加兴趣小组,让老鸟带你入门。

  • 编程老鸟输入数字 2 让我们一起畅聊技术。

更有(java/C/C++/Linux/Android)高手帮你解决难题。和你互动,讨论编程未来。

长按二维码识别关注程序猿互动联盟



关注后和技术大牛做朋友。还不赶快来!

声明:本文使用的图片部分来自网络

想要阅读很多其它高手原创技术文章,点击“阅读原文

C++ Primer高速入门之三:几种常见的控制语句的更多相关文章

  1. Kotlin入门(20)几种常见的对话框

    提醒对话框手机上的App极大地方便了人们的生活,很多业务只需用户拇指一点即可轻松办理,然而这也带来了一定的风险,因为有时候用户并非真的想这么做,只是不小心点了一下而已,如果App不做任何提示的话,继续 ...

  2. C++ Primer高速入门之五:有用的模板库

    更新:又一次排版代码格式 除上篇博客介绍的基本数据类型外,C++ 还定义了一个内容丰富的抽象数据类 型标准库. 包含 string 和 vector,它们分别定义了字符串和矢量(集合).string ...

  3. C++ Primer高速入门之六:数组和指针

    更新:勘误,delete [] 猪 我们知道,C语言以及早期的面向结构的语言差点儿都支持数组定义.比方整形数组int 女神[2].表示有俩数: 女神[0], 女神[1].她们都是整数. C++ 语言为 ...

  4. VS2010/MFC编程入门之三(VS2010应用程序工程中文件的组成结构)

    VS2010/MFC编程入门之三(VS2010应用程序工程中文件的组成结构)-软件开发-鸡啄米 http://www.jizhuomi.com/software/143.html   鸡啄米在上一讲中 ...

  5. Windows下FFmpeg高速入门

    本系列文章导航 Windows下FFmpeg高速入门 ffmpeg參数解释 mencoder和ffmpeg參数具体解释(Java处理视频) Java 生成视频缩略图(ffmpeg) 使用ffmpeg进 ...

  6. ElasticSearch 学习记录之ES几种常见的聚合操作

    ES几种常见的聚合操作 普通聚合 POST /product/_search { "size": 0, "aggs": { "agg_city&quo ...

  7. Tensorflow高速入门2--实现手写数字识别

    Tensorflow高速入门2–实现手写数字识别 环境: 虚拟机ubuntun16.0.4 Tensorflow 版本号:0.12.0(仅使用cpu下) Tensorflow安装见: http://b ...

  8. VS2010/MFC编程入门之三十九(文档、视图和框架:概述)

    前面几节讲了菜单.工具栏和状态栏的使用,鸡啄米本节开始将为大家讲解文档.视图和框架的知识. 文档.视图和框架简介 在VS2010/MFC编程入门之三十四(菜单:VS2010菜单资源详解)创建的单文档工 ...

  9. VS2010/MFC编程入门之三十七(工具栏:工具栏的创建、停靠与使用)

    鸡啄米在上一节教程中讲了工具栏资源及CToolBar类,本节继续讲解工具栏的相关知识,主要内容包括工具栏的创建.停靠与使用. 工具栏的使用 上一节中鸡啄米提到过,一般情况下工具栏中的按钮在菜单栏中都有 ...

随机推荐

  1. 阿里云centos配置postfix

    1. 为了防止垃圾邮件,先到域名控制面板设置好. MX A 记录及TXT记录 其中TXT记录如下  @  spf1 a mx ~all 意思就是使用spf1协议,允许a记录和MX记录对应的IP,不允许 ...

  2. 如何编写通用的 Helper Class

    Github: https://github.com/nzbin/snack-helper Docs: https://nzbin.github.io/snack-helper 前言 什么是 help ...

  3. 史上最完整的PS快捷键(绝对经典)

    快速恢复默认值 有些不擅长Photoshop的朋友为了调整出满意的效果真是几经周折,结果发现还是原来的默认效果最好,这下傻了眼,后悔不该当初呀!怎么恢复到默认值呀?试着轻轻点按选项栏上的工具图标,然后 ...

  4. 万年历java

    public void showTime(){/*万年历 :  1900年1月20号是星期几?1月1号是星期一1月8号是星期一1月15号是星期一1%7 = 18%7 = 115%7 = 1★: 1. ...

  5. Struts2-Tiles整合

    Apache Tiles是一个JavaEE应用的页面布局框架.Tiles框架提供了一种模板机制,可以为某一类页面定义一个通用的模板,该模板定义了页面的整体布局.布局由可以复用的多个块组成,每个页面可以 ...

  6. C#内部关于绑定事件Event的线程安全

    private EventHandler _FieldsChanged;public event EventHandler FieldsChanged{    add    {        Even ...

  7. 用C#生成不重复的随机数

    我们在做能自动生成试卷的考试系统时,常常需要随机生成一组不重复的题目,在.net Framework中提供了一个专门用来产生随机数的类System.Random. 对于随机数,大家都知道,计算机不 可 ...

  8. HTTPS 传输优化详解之动态 TLS Record Size

    笔者在过去分析了诸多可以减少 HTTPS 传输延迟的方法,如分布式 Session 的复用: 启用 HSTS,客户端默认开启 HTTPS 跳转:采用 HTTP/2 传输协议:使用 ChaCha20-P ...

  9. CVE-2017-11882漏洞利用

    CVE-2017-11882漏洞利用 最新Office的CVE-2017-11882的poc刚刚发布出来,让人眼前一亮,完美无弹窗,无视宏,影响Ms offcie全版本,对于企业来说危害很大.在此简单 ...

  10. Spring4 AOP详解

    Spring4 AOP详解 第一章Spring 快速入门并没有对Spring4 的 AOP 做太多的描述,是因为AOP切面编程概念不好理解.所以这章主要从三个方面详解AOP:AOP简介(了解),基于注 ...