【编程基础】C++ Primer快速入门三:两种控制语句

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

1 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 + val 之后塞给game_num

++ val; // val加1

}

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

return 0;

}

编译并执行后,将输出:

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

怎么样?while的结构是不是很easy?既简单又强大!

2 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)

原文发表时间:2015-07-03

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏大数据架构师专家

python列表

>>> courses = ['Linux', 'Python', 'Vim', 'C++']

1651
来自专栏无所事事者爱嘲笑

React事件绑定几种方法测试

2093
来自专栏程序生活

2017/6/9-Python文件读写的方法

# 使用斜杠“/”: "c:/test.txt"… 不用反斜杠就没法产生歧义了 # 将反斜杠符号转义: "c:\\test.txt"… 因为反斜杠是转义符,所...

3517
来自专栏公众号文章

Golang 入门系列(二)Go语言基础语法及需要注意的坑

上一章节我们已经了解了 Go 环境的配置,不了解的,请查看前面的文章 https://www.cnblogs.com/zhangweizhong/p/94599...

630
来自专栏xiaoxi666的专栏

c++ 继承类强制转换时的虚函数表工作原理

本文通过简单例子说明子类之间发生强制转换时虚函数如何调用,旨在对c++继承中的虚函数表的作用机制有更深入的理解。

2063
来自专栏技术沉淀

Python: set实例透析

1122
来自专栏编程心路

想学习php的,不如来这里看看

win+R打开命令行,cmd进DOS窗口 DOS命令开启关闭Apache和Mysql Apache启动关闭命令

1263
来自专栏从零开始学自动化测试

python笔记14-读取yaml配置文件

yaml简介 1.yaml [ˈjæməl]: Yet Another Markup Language :另一种标记语言。yaml 是专门用来写配置文件的语言,...

5848
来自专栏用户2442861的专栏

Python基础学习笔记之(二)(华工大神)

         Python中每一个.py脚本定义一个模块,所以我们可以在一个.py脚本中定义一个实现某个功能的函数或者脚本,这样其他的.py脚本就可以调用...

1224
来自专栏菩提树下的杨过

[复习]The C Programming Language 2nd 习题集(1.1-1.10)

买不起iPhone4,只能弄了一台iTouch4,想尝试一下iOS上的开发,虽然有monoTouch可用,但是这东西要399美金授权,换成RMB好几千块了,算了...

2296

扫码关注云+社区

领取腾讯云代金券