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

相关文章

来自专栏FreeBuf

Dance In Heap(三):一些堆利用的方法(中)

0x00 前面的话 在前一篇堆的利用方法里面,我们简单的提了一下UAF,并主要对从 bin 中释放 chunk 的操作,即 unlink 宏、unsortedb...

2327
来自专栏烂笔头

Python标准库笔记(3) — datetime模块

目录[-] datetime模块提供了简单和复杂的方式用于操纵日期和时间的类。虽然支持日期和时间运算,但实现的重点是为了输出格式化和操作高效地提取属性。 ...

3586
来自专栏图形学与OpenGL

实验2 C++数组与指针

694
来自专栏达摩兵的技术空间

h5标签入门

721
来自专栏CDA数据分析师

50个逆天功能,看完变Excel绝顶高手(全都是动图!)

Excel的50个逆天功能,动画教程珍藏版。 1、自动筛选 ? 2、在Excel中字符替换 ? 3、在Excel中冻结行列标题 ? 4、在Excel中为导入外部...

2066
来自专栏阮一峰的网络日志

CSS动画简介

现在,我很少写介绍CSS的文章,因为感觉网站开发的关键还是在服务器端。 但是,CSS动画除外,它实在太有用了。 ? 本文介绍CSS动画的两大组成部分:trans...

3158
来自专栏玄魂工作室

如何学Python 第七课 列表型变量 列表方法 列表索引

在上一篇文章里,我们介绍了if语句、elif语句和else语句以及条件判断语句。我们今天来说点流程控制之外的东西:列表。列表型变量可以在变量下存储多个值,并以索...

3207
来自专栏醉梦轩

Python和JavaScript中的生成器与协程

Python和JavaScript中都有生成器(Generator)和协程(coroutine)的概念。本文通过分析两者在这两种语言上的使用案例,来对比它们的差...

1962
来自专栏xingoo, 一个梦想做发明家的程序员

【前端开发系列】—— CSS3属性选择器总结

想想自己为什么要学CSS,作为一个开发过前端的人员来说,调试一个图片花了半天的时间,最后发现分隔符用错了,实在是一件很丢人的事情。因此,痛下决心来学习CSS,...

1837
来自专栏C/C++基础

C/C++ sizeof(上)

sizeof是C/C++中的一个操作符(operator),其作用是返回一个对象或者类型所占的内存字节数,使用频繁,有必须对其有个全面的了解。

561

扫码关注云+社区