- 新增现代 C++ 教程的 Preface 章节,包括英文和中文版本 - 添加 C++ Primer 练习代码 - 新增 Learn C++ 教程的 C++ 开发简介章节 - 添加头文件解析文档 - 更新 mkdocs.yml,包含新教程的目录结构 - 修改项目设置,使用 Python 3.10环境
33 lines
1.7 KiB
Markdown
33 lines
1.7 KiB
Markdown
---
|
||
sort: 5
|
||
---
|
||
|
||
# 语句
|
||
|
||
## 简单语句
|
||
|
||
- **表达式语句**:一个表达式末尾加上分号,就变成了表达式语句。
|
||
- **空语句**:只有一个单独的分号。
|
||
- **复合语句(块)**:用花括号 `{}`包裹起来的语句和声明的序列。一个块就是一个作用域。
|
||
|
||
## 条件语句
|
||
|
||
- **悬垂else**(dangling else):用来描述在嵌套的`if else`语句中,如果`if`比`else`多时如何处理的问题。C++使用的方法是`else`匹配最近没有配对的`if`。
|
||
|
||
## 迭代语句
|
||
|
||
- **while**:当不确定到底要迭代多少次时,使用 `while`循环比较合适,比如读取输入的内容。
|
||
- **for**: `for`语句可以省略掉 `init-statement`, `condition`和 `expression`的任何一个;**甚至全部**。
|
||
- **范围for**: `for (declaration: expression) statement`
|
||
|
||
## 跳转语句
|
||
|
||
- **break**:`break`语句负责终止离它最近的`while`、`do while`、`for`或者`switch`语句,并从这些语句之后的第一条语句开始继续执行。
|
||
- **continue**:终止最近的循环中的当前迭代并立即开始下一次迭代。只能在`while`、`do while`、`for`循环的内部。
|
||
|
||
## try语句块和异常处理
|
||
|
||
- **throw表达式**:异常检测部分使用 `throw`表达式来表示它遇到了无法处理的问题。我们说 `throw`引发 `raise`了异常。
|
||
- **try语句块**:以 `try`关键词开始,以一个或多个 `catch`字句结束。 `try`语句块中的代码抛出的异常通常会被某个 `catch`捕获并处理。 `catch`子句也被称为**异常处理代码**。
|
||
- **异常类**:用于在 `throw`表达式和相关的 `catch`子句之间传递异常的具体信息。
|