【编程基础】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 条评论
登录 后参与评论

相关文章

来自专栏C语言及其他语言

指针

1、地址与指针 Hi,欢迎来到指针的世界,也许您早已听过它的大名,指针被称为是C语言的精华所在。真正理解和掌握指针是征服C语言的关键所在! 在众多的计算机语言中...

2586
来自专栏程序员互动联盟

【编程之美】最优排序算法

寻找最大的K个数 从n个数中寻找最大的K个数。 01 class 两种思路: 1 保存目前找到的最大k个数,每访问一个数,就与这k个数中的最小值比较,决定是否更...

3387
来自专栏C语言C++游戏编程

零基础如何快速精通C语言?要注意什么?

困难的是,对于C语言,不论是数据类型、操作符、语句、函数,都或多或少、或简单或复杂地通过地址操作内存。

1012
来自专栏思考的代码世界

Python编程从入门到实践之字典|第5天

在Python中,字典是一系列键—值对。每个键都与一个值相关联,你可以使用键来访问与之 相关联的值。与键相关联的值可以是数字、字符串、列表乃至字典。事实上,可将...

3389
来自专栏海天一树

小朋友学算法(6):求幂pow函数的四种实现方式

在math.h中,声明了一个函数pow(x, n),用于求x的n次方。 假如咱们不调用math.h中的pow函数,如何实现求x ^ n的算法呢?

522
来自专栏tkokof 的技术,小趣及杂念

再谈谈列表元素的删除

之前(以及更早之前)都提到了列表元素的删除,也提到过几种方法,有兴趣的朋友可以去看看,其中一种个人比较倾向的写法大概是这个样子(C++):

541
来自专栏java小白

LinkedList源码详解

1192
来自专栏java一日一条

Java 多维数组遍历

数组是Java中的一种容器对象,它拥有多个单一类型的值。当数组被创建的时候数组长度就已经确定了。在创建之后,其长度是固定的。下面是一个长度为10的数组:

371
来自专栏AILearning

【机器学习实战】第12章 使用FP-growth算法来高效发现频繁项集

第12章 使用FP-growth算法来高效发现频繁项集 ? 前言 在 第11章 时我们已经介绍了用 Apriori 算法发现 频繁项集 与 关联规则。 ...

2517
来自专栏深度学习之tensorflow实战篇

递归与伪递归区别,Python 实现递归与尾递归

      递归函数在函数内部,可以调用其他函数。如果一个函数在内部调用自身本身,这个函数就是递归函 数。(1) 递归就是在过程或函数里调用自身。(2) 在使...

3457

扫描关注云+社区