【C++ 基础】 第 5 章:语句2022-09-21 17:56:39 语句 1. 语句基础 1.1 语句的常见类别 1.1.1 表达式语句:表达式后加分号,对表达式求值后丢弃,可能产生副作用 1.1.2 空语句:仅包含一个分号的语句,可能与循环一起工作 1.1.3 复合语句(语句体):由大括号组成,无需在结尾加分号,形成独立的域(语句域) 1.2 顺序语句与非顺序语句 1.2.1 顺序语句 1.2.2 非顺序语句 1.2.2.1 最基本的非顺序语句: goto 1.2.2.2 goto 本质上对应了汇编语言中的跳转指令 2. 分支语句 2.1 分支语句—— if 2.1.1 语法: https://zh.cppreference.com/w/cpp/language/if 2.1.2 使用语句块表示复杂的分支逻辑 2.1.3 从 if 到 if-else 2.1.4 if V.S. constexpr if—— 运行期与编译期分支 2.1.5 带初始化语句的 if 2.2 分支语句—— switch 2.2.1 语法: https://zh.cppreference.com/w/cpp/language/switch 2.2.2 条件部分应当能够隐式转换为整形或枚举类型,可以包含初始化的语句 2.2.3 case/default 标签 2.2.4 [[fallthrough]] 属性 2.2.5 与 if 相比的优劣 3. 循环语句 3.1 循环语句——while 3.1.1 语法: https://zh.cppreference.com/w/cpp/language/while 3.1.2 处理逻辑 3.1.3 注意:在 while 的条件部分不包含额外的初始化内容 3.2 循环语句——do-while 3.2.1 语法: https://zh.cppreference.com/w/cpp/language/do 3.2.2 处理逻辑 3.2 循环语句——for 3.2.1 语法: https://zh.cppreference.com/w/cpp/language/for 3.2.2 处理逻辑 3.2.3 在初始化语句中声明多个名字 3.2.4 初始化语句、条件、迭代表达式可以为空 3.2.5 for 的更多示例 3.3 循环语句——基于范围的 for 循环 3.3.1 语法: https://zh.cppreference.com/w/cpp/language/range-for 3.3.2 本质:语法糖,编译器会转换为 for 循环的调用方式 3.3.3 转换形式的衍化: C++11 / C++17 / C++20 3.3.4 使用常量左值引用读元素;使用 万能引用( universal reference )”修改元素 3.4 循环语句——break / continue 3.4.1 含义(转自 cpp reference ) 3.4.2 注意这二者均不能用于多重嵌套循环,多重嵌套循环的跳转可考虑 goto 语句 4. 语句的综合应用——达夫设备 4.1 使用循环展开提升系统性能 4.2 处理无法整除的情形 4.2.1 额外增加一个循环语句 4.2.2 将 switch —— 与循环结合 达夫设备 1. 语句基础 1.1 语句的常见类别 1.1.1 表达式语句:表达式后加分号,对表达式求值后丢弃,可能产生副作用 1.1.2 空语句:仅包含一个分号的语句,可能与循环一起工作 1.1.3 复合语句(语句体):由大括号组成,无需在结尾加分号,形成独立的域(语句域) 1.2 顺序语句与非顺序语句 1.2.1 顺序语句 1.2.2 非顺序语句 1.2.2.1 最基本的非顺序语句: goto 1.2.2.2 goto 本质上对应了汇编语言中的跳转指令 2. 分支语句 2.1 分支语句—— if 2.1.1 语法: https://zh.cppreference.com/w/cpp/language/if 2.1.2 使用语句块表示复杂的分支逻辑 2.1.3 从 if 到 if-else 2.1.4 if V.S. constexpr if—— 运行期与编译期分支 2.1.5 带初始化语句的 if 2.2 分支语句—— switch 2.2.1 语法: https://zh.cppreference.com/w/cpp/language/switch 2.2.2 条件部分应当能够隐式转换为整形或枚举类型,可以包含初始化的语句 2.2.3 case/default 标签 2.2.4 [[fallthrough]] 属性 2.2.5 与 if 相比的优劣 3. 循环语句 3.1 循环语句——while 3.1.1 语法: https://zh.cppreference.com/w/cpp/language/while 3.1.2 处理逻辑 3.1.3 注意:在 while 的条件部分不包含额外的初始化内容 3.2 循环语句——do-while 3.2.1 语法: https://zh.cppreference.com/w/cpp/language/do 3.2.2 处理逻辑 3.2 循环语句——for 3.2.1 语法: https://zh.cppreference.com/w/cpp/language/for 3.2.2 处理逻辑 3.2.3 在初始化语句中声明多个名字 3.2.4 初始化语句、条件、迭代表达式可以为空 3.2.5 for 的更多示例 3.3 循环语句——基于范围的 for 循环 3.3.1 语法: https://zh.cppreference.com/w/cpp/language/range-for 3.3.2 本质:语法糖,编译器会转换为 for 循环的调用方式 3.3.3 转换形式的衍化: C++11 / C++17 / C++20 3.3.4 使用常量左值引用读元素;使用 万能引用( universal reference )”修改元素 3.4 循环语句——break / continue 3.4.1 含义(转自 cpp reference ) 3.4.2 注意这二者均不能用于多重嵌套循环,多重嵌套循环的跳转可考虑 goto 语句 4. 语句的综合应用——达夫设备 4.1 使用循环展开提升系统性能 4.2 处理无法整除的情形 4.2.1 额外增加一个循环语句 4.2.2 将 switch —— 与循环结合 达夫设备 上一篇:Qt标准颜色对话框英文改成中文显示不全的解决办法下一篇:Google Style Guides