Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
OpenDocCN
beginnersbook-zh
提交
11176ffe
B
beginnersbook-zh
项目概览
OpenDocCN
/
beginnersbook-zh
大约 1 年 前同步成功
通知
0
Star
107
Fork
30
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
B
beginnersbook-zh
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
提交
Issue看板
体验新版 GitCode,发现更多精彩内容 >>
提交
11176ffe
编写于
8月 26, 2019
作者:
W
wizardforcel
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
2019-08-26 10:21:59
上级
62e833f3
变更
4
隐藏空白更改
内联
并排
Showing
4 changed file
with
37 addition
and
30 deletion
+37
-30
docs/cpp/10.md
docs/cpp/10.md
+8
-7
docs/cpp/11.md
docs/cpp/11.md
+8
-6
docs/cpp/8.md
docs/cpp/8.md
+12
-10
docs/cpp/9.md
docs/cpp/9.md
+9
-7
未找到文件。
docs/cpp/10.md
浏览文件 @
11176ffe
# C++中的`for`循环
# C++
中的`for`循环
> 原文: [https://beginnersbook.com/2017/08/cpp-for-loop/](https://beginnersbook.com/2017/08/cpp-for-loop/)
循环用于重复执行语句块,直到满足特定条件。例如,当您显示从 1 到 100 的数字时,您可能希望将变量的值设置为 1 并将其显示 100 次,在每次循环迭代时将其值增加 1。
在 C++
中,我们有三种类型的基本循环:
`for`
,
[
`while`
](
https://beginnersbook.com/2017/08/cpp-while-loop/
)
和
[
`do-while`
](
https://beginnersbook.com/2017/08/cpp-do-while-loop/
)
。在本教程中,我们将学习如何在 C++
中使用
`for`
循环。
在 C++
中,我们有三种类型的基本循环:
`for`
,
[
`while`
](
https://beginnersbook.com/2017/08/cpp-while-loop/
)
和
[
`do-while`
](
https://beginnersbook.com/2017/08/cpp-do-while-loop/
)
。在本教程中,我们将学习如何在 C++
中使用
`for`
循环。
#### `for`循环的语法
...
...
@@ -18,19 +18,20 @@ for(initialization; condition ; increment/decrement)
## `for`循环的执行流程
当程序执行时,解释器总是跟踪将要执行的语句。我们将其称为控制流程或程序的执行流程。
![
C++ for loop flow diagram
](
img/381b698f62d8866bf5d4ebd795d78400.jpg
)
**第一步:**
在
`for`
循环中,初始化只发生一次,这意味着
`for`
循环的初始化部分只执行一次。
**第二步:**
`for`
循环中的条件在每次循环迭代时进行计算,如果条件为真,则
`for`
循环体内的语句将被执行。一旦条件返回
`false`
,
`for`
循环中的语句就不会执行,并且控制
在
`for`
循环后被转移到程序中
的下一个语句。
**第二步:**
`for`
循环中的条件在每次循环迭代时进行计算,如果条件为真,则
`for`
循环体内的语句将被执行。一旦条件返回
`false`
,
`for`
循环中的语句就不会执行,并且控制
被转移到程序中
`for`
循环后
的下一个语句。
**第三步:**
每次执行
`for`
循环体后,
`for`
循环的递增/递减部分
执行
更新循环计数器。
**第三步:**
每次执行
`for`
循环体后,
`for`
循环的递增/递减部分更新循环计数器。
**第四步:**
第三步后,控制跳转到第二步,重新
评估
条件。
**第四步:**
第三步后,控制跳转到第二步,重新
求值
条件。
> 从第二到第四的步骤重复,直到循环条件返回`false`。
## C++中的简单`for`循环示例
## C++
中的简单`for`循环示例
这里,在循环初始化部分中,将变量
`i`
的值设置为 1,条件是
`i <= 6`
,并且在每次循环迭代中,
`i`
的值递增 1。
...
...
@@ -61,7 +62,7 @@ Value of variable i is: 6
```
## C++中的无限循环
## C++
中的无限循环
当循环重复执行并且永不停止时,循环被认为是无限的。这通常是错误的。当你在
`for`
循环中设置条件时它永远不会返回
`false`
,它就会变成无限循环。
...
...
docs/cpp/11.md
浏览文件 @
11176ffe
# C++中的`while`循环
# C++
中的`while`循环
> 原文: [https://beginnersbook.com/2017/08/cpp-while-loop/](https://beginnersbook.com/2017/08/cpp-while-loop/)
在上一篇教程中,我们讨论了
[
`for`循环
](
https://beginnersbook.com/2017/08/cpp-for-loop/
)
。在本教程中,我们将讨论
`while`
循环。如前所述,循环用于重复执行程序语句块,直到给定的循环条件返回
`false`
。
在上一篇教程中,我们讨论了
[
`for`循环
](
https://beginnersbook.com/2017/08/cpp-for-loop/
)
。在本教程中,我们将讨论
`while`
循环。如前所述,循环用于重复执行程序语句块,直到给定的循环条件返回
`false`
。
#### `while`循环的语法
...
...
@@ -15,9 +15,9 @@ while(condition)
## 循环如何工作?
在
`while`
循环中,首先计算条件,如果它返回
`true`
,则
`while`
循环中的语句执行,这会重复发生,直到条件返回
`false`
。当条件返回
`false`
时,控制流退出循环并在
`while`
循环后跳转到程序中
的下一个语句。
在
`while`
循环中,首先计算条件,如果它返回
`true`
,则
执行
`while`
循环中的语句,这会重复发生,直到条件返回
`false`
。当条件返回
`false`
时,控制流退出循环并跳转到程序中的
`while`
循环后
的下一个语句。
**注意:**
使用
`while`
循环时要注意的重点是我们需要在
`while`
循环中使用递增或递减语句,以便循环变量在每次迭代时都会发生变化,并且在某些情况下返回
`false`
。这样我们就可以结束
`while`
循环的执行,否则循环将无限期地执行。
**注意:**
使用
`while`
循环时要注意的重点是
,
我们需要在
`while`
循环中使用递增或递减语句,以便循环变量在每次迭代时都会发生变化,并且在某些情况下返回
`false`
。这样我们就可以结束
`while`
循环的执行,否则循环将无限期地执行。
### `while`循环流程图
...
...
@@ -53,9 +53,11 @@ Value of variable i is: 6
## 无限循环
永远停止的
`while`
循环被认为是无限循环,当我们以这样的方式给出条件以使它永远不会返回
`false`
时,循环变为无限并且无限地重复。
永远不停止的
`while`
循环被认为是无限循环,当我们以这样的方式给出条件,以使它永远不会返回
`false`
时,循环变为无限并且无限地重复。
**无限循环的一个例子:**
这个循环永远不会结束,因为我递减
`i`
的值为 1,因此条件
`i <= 6`
永远不会返回
`false`
。
这个循环永远不会结束,因为我从 1 开始递减
`i`
的值,因此条件
`i <= 6`
永远不会返回
`false`
。
```
cpp
#include <iostream>
...
...
docs/cpp/8.md
浏览文件 @
11176ffe
...
...
@@ -2,16 +2,19 @@
> 原文: [https://beginnersbook.com/2017/08/cpp-if-else-statement/](https://beginnersbook.com/2017/08/cpp-if-else-statement/)
有时我们只有在满足或不满足特定条件时才需要执行一个语句块。这被称为
**决策**
,因为我们在程序逻辑中做出决定后执行某个代码。对于 C++中的决策,我们有四种类型的控制语句(或控制结构),如下所示:
有时我们只有在满足或不满足特定条件时才需要执行一个语句块。这被称为
**决策**
,因为我们在程序逻辑中做出决定后执行某个代码。对于 C++
中的决策,我们有四种类型的控制语句(或控制结构),如下所示:
a)
`if`
语句
b)嵌套
`if`
语句
c)
`if-else`
语句
d)
`if-else-if`
语句
## C++中的`if`语句
## C++
中的`if`语句
`if`
语句包含条件,
则
后跟语句或一组语句,如下所示:
`if`
语句包含条件,后跟语句或一组语句,如下所示:
```
cpp
if
(
condition
){
...
...
@@ -55,10 +58,9 @@ int main(){
number
is
less
than
100
```
## C++中的嵌套`if`语句
## C++
中的嵌套`if`语句
当在另一个
`if`
语句中有
`if`
语句时,它被称为
**嵌套`if`语句**
。
嵌套的结构如下所示:
当在另一个
`if`
语句中有
`if`
语句时,它被称为
**嵌套`if`语句**
。嵌套的结构如下所示:
```
cpp
if
(
condition_1
)
{
...
...
@@ -70,7 +72,7 @@ if(condition_1) {
}
```
> 如果
condition_1 为 true,则执行 Statement1。只有条件(condition_1 和 condition_2)都为真时,Statement2
才会执行。
> 如果
`condition_1`为`true`,则执行`Statement1`。只有条件(`condition_1`和`condition_2`)都为真时,`Statement2`
才会执行。
### 嵌套`if`语句的示例
...
...
@@ -99,9 +101,9 @@ number is less than 100
number
is
greater
than
50
```
## 在 C++中使用`if-else`语句
## 在 C++
中使用`if-else`语句
有时你有一个条件,如果条件为真,你想要执行一段代码,如果相同的条件为假,则执行另一段代码。这可以使用
`if-else`
语句在 C++中实现。
有时你有一个条件,如果条件为真,你想要执行一段代码,如果相同的条件为假,则执行另一段代码。这可以使用
`if-else`
语句在 C++
中实现。
这是
`if-else`
语句的外观:
...
...
@@ -144,7 +146,7 @@ int main(){
num
is
greater
than
or
equal
50
```
## C++中的`if-else-if`语句
## C++
中的`if-else-if`语句
当我们需要检查多个条件时使用
`if-else-if`
语句。在这个控制结构中,我们只有一个
`if`
和一个
`else`
,但是我们可以有多个
`else if`
块。这是它的样子:
...
...
docs/cpp/9.md
浏览文件 @
11176ffe
...
...
@@ -21,7 +21,7 @@ switch (variable or an integer expression)
}
```
即使
`break`
语句是可选的,
`switch case`
语句也
主要用于
`break`
语句。我们将首先看到一个没有
`break`
语句的例子,然后我们将讨论
`switch case`
和
`break`
即使
`break`
语句是可选的,
`switch case`
语句也
大量使用
`break`
语句。我们将首先看到一个没有
`break`
语句的例子,然后我们将讨论
`switch case`
和
`break`
。
## `switch-case`示例
...
...
@@ -50,11 +50,12 @@ int main(){
Default:
Value
is
:
5
```
**说明**
:在
`swicth
中我给出了一个表达式,你也可以给出变量。我给了表达式`
num + 2
`,其中`
num
`值是 5,并且在添
加之后表达式得到 7。由于没有用值 4 定义的情况,所以执行了默认情况。
**说明**
:在
`swicth
`
中我给出了一个表达式,你也可以给出变量。我给了表达式
`num + 2`
,其中
`num`
值是 5,并且在相
加之后表达式得到 7。由于没有用值 4 定义的情况,所以执行了默认情况。
## `switch-case`流程图
它评估表达式或变量的值(基于交换器括号内给出的内容),然后根据结果执行相应的情况。
它求值表达式或变量的值(基于
`switch`
括号内给出的内容),然后根据结果执行相应的情况。
![
switch case flow diagram
](
img/4f4a0032c3c6f26d1bc5a76c8a08546f.jpg
)
## `switch-case`中的`break`语句
...
...
@@ -87,7 +88,7 @@ Default
```
在上面的程序中,我们在`
switch
`括号内部有变量`
i
`,这意味着无论变量`
i
`的值是什么,都会执行相应的`
case
`块。我们已将整数值 2 传递给`
switch
`,因此控制
切换到`
case
` 2,但是在`
case
` 2 之后我们没有使用`
break
`语句导致流程继续到后续`
case
`直到结束。然而,这不是我们想要的,我们想要执行正确的大小写
块并忽略其余的块。这个问题的解决方案是在每个`
case
`块之后使用`
break
`语句。
在上面的程序中,我们在
`switch`
括号内部有变量
`i`
,这意味着无论变量
`i`
的值是什么,都会执行相应的
`case`
块。我们已将整数值 2 传递给
`switch`
,因此控制
流切换到
`case 2`
,但是在
`case 2`
之后我们没有使用
`break`
语句,导致控制流继续到后续
`case`
直到结束。然而,这不是我们想要的,我们想要执行正确
`case`
块并忽略其余的块。这个问题的解决方案是在每个
`case`
块之后使用
`break`
语句。
当您希望程序流从
`switch`
主体中出来时,使用
`break`
语句。每当在
`switch`
主体中遇到
`break`
语句时,执行流程将直接从
`switch`
中出来,忽略其余的情况。这就是您必须使用
`break`
语句结束每个
`case`
块的原因。
...
...
@@ -124,16 +125,17 @@ int main(){
Case2
```
现在您可以看到只有`
case
` 2 被执行,其余的后续`
case
`被忽略了。
现在您可以看到只有
`case 2`
被执行,其余的后续
`case`
被忽略了。
**为什么我在`default`块不使用`break`语句?**
**为什么我默认后不使用`
break
`语句?**
控制流本身会在默认情况下从
`switch`
中出来,所以我之后没有使用
`break`
语句,但是如果你想要它可以使用它,那么这样做是没有害处的。
## 重要笔记
1)
`case`
并不总是需要顺序
`1,2,3`
等。它可以在
`case`
关键字后面包含任何整数值。此外,
`case`
不需要始终按升序排列,您可以根据要求以任何顺序指定它们。
2)您也可以在`
switch-case
`中使用字符。例如
-
2)您也可以在
`switch-case`
中使用字符。例如
:
```
cpp
#include <iostream>
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录