<<C++ Primer>> 第 5 章 语句
术语表
第 5 章 语句
块(block): 包围在花括号内的由 0 条或多条语句组成的序列。块也是一条语句,所以只要是能使用语句的地方,就可以使用块。
break语句(break statement):终止理他最近的循环或switch语句。控制权转移到循环或switch之后的第一条语句。
case 标签(case label): 在switch语句中紧跟在 case 关键字之后的常量表达式(参见2.4.4节,第58页)。在同一个switch语句中任意两个case标签的值不能相同。
catch 子句(catch clause):由三部分组成:catch关键字,括号里的异常声明以及一个语句块。catch子句的代码赋值处理异常声明中定义的异常。
复合语句(compound statement): 和块是同义词。
continue 语句(continue statement): 终止离它最近的循环的当前迭代。控制权转移到while或do wihle语句的条件部分,或者范围for循环的下一次迭代,或者传统for循环头部的表达式。
悬垂else(dangling else): 是一个俗语,指的是如何处理嵌套 if 语句中 if 分钟多于 else 分支的情况。 C++语言规定,else应该与前一个未匹配的 if 匹配在一起。使用花括号可以把位于内层的 if 语句隐藏起来,这样程序员就能更好地控制 else 该与那个 if 匹配。
default 标签(default label): 是一种特殊的case标签,当switch表达式的值与所有case标签都无法匹配时,程序执行default标签下的内容。
do while语句(do while statement): 与while语句类似,区别是do while 语句先执行循环体,在判断条件。循环体代码至少会执行一次。
异常类(exception class): 是标准库定义的一组类,用于表示程序发生的错误。表5.1(第176页)列出了不同用途的异常类。
异常声明(exception declaration): 位于catch子句中的声明,指定了该catch子句能处理的异常类型。
异常处理代码(exception handler): 程序某处引发异常后,用于处理该异常的另一处代码。和catch子句是同义词。
异常安全(exception safe): 是一个术语,表示的含义是当抛出异常后,程序能执行正确的行为。
表达式语句(expression statement): 即一条表达式后面跟上一个分号,令表达式执行求值的过程。
控制流(flow of control): 程序的执行路径。
for 语句(for statement): 提供迭代执行的迭代语句。常常用于遍历一个容器或重复计算若干次。
goto 语句(goto statement): 令控制器无条件转移到同一个函数中一个指定的带标签语句。goto语句容易造成程序的控制流混乱,应禁止使用。
if else 语句(if else statement): 判断条件,根据其结果分别执行if分支或else分支的语句。
if 语句(if statement): 判断条件,根据其结果有选择地执行语句。如果条件为真,执行if分支地代码;如果条件为假,控制权转移到if结构之后的第一条语句。
带标签语句(labeled statement): 前面带有标签的语句。所谓标签是指一个标识符以及紧跟着的一个冒号。对于同一个标识符来说,用作标签的同数还能用于其他目的,互不干扰。
空语句(null statement): 只含有一个分号的语句。
引发(raise):含义类似于 throw。在C++语句中既可以说抛出异常,也可以说引发异常。
范围for语句(range for statement):在一个序列中进行迭代的语句。
switch语句(switch statement): 一种条件语句,首先求switch关键字后面表达式的值,如果某个 case 标签的值与表达式的值相等,程序直接跨过之前的代码从这个case标签开始执行,如果有defalut标签,从default标签继续执行;如果没有,结束switch语句。
terminate: 是一个标准库函数,当异常没有被捕捉到时调用。terminate终止程序的执行。
throw 表达式(throw expression): 一种中断当前执行路径的表达式。throw表达式抛出一个异常并把控制权转移到能处理该异常的最近的catch子句。
try 语句块(try block): 跟在try 关键字后面的块,以及一个或多个catch子句。如果try语句块的代码引发异常并且其中一个catch子句匹配该异常类型,则异常被该catch子句处理。否则,异常将有外围try语句块处理,或者程序终止。
while 语句(while statement): 只要指定的条件为真,就一直迭代执行目标语句,随着条件真值的不同,循环可能执行多次,也可能一次也不执行。
<<C++ Primer>> 第 5 章 语句的更多相关文章
- C++ Primer 第3章 字符串、向量和数组
C++ Primer 第3章 字符串.向量和数组 C Primer 第3章 字符串向量和数组 1 命名空间的using声明 2 标准库类型string 3 标准库类型vector 4 迭代器介绍 5 ...
- C++ Primer 第2章 变量和基本类型
C++ Primer 第2章 变量和基本类型 C Primer 第2章 变量和基本类型 1 基本内置类型 算数类型 类型转换 字面值常量 2 变量 变量定义 3 复合类型 引用d左引用 指针d 4 c ...
- 逆向基础 C++ Primer Plus 第二章 开始学习C++
C++ Primer Plus 第二章 开始学习C++ 知识点梳理 本章从一个简单的C++例子出发,主要介绍了创建C++程序的步骤,以及其所包含的预处理器编译指令.函数头.编译指令.函数体.注释等组成 ...
- Javascript权威指南——第二章词法结构,第三章类型、值和变量,第四章表达式和运算符,第五章语句
第二章 词法结构 一.HTML并不区分大小写(尽管XHTML区分大小写),而javascript区分大小写:在HTML中,这些标签和属性名可以使用大写也可以使用小写,而在javascript中必须小写 ...
- C++ Primer Plus 第一章 预备知识
C++ Primer Plus 第一章 预备知识 知识点梳理 本章主要讲述了C++的由来,讨论了面向过程语言与面向对象语言的区别,介绍了ANSI/ISO制定的C++标准,阐述了在Windows.Mac ...
- 《C++primer》v5 第5章 语句 读书笔记 习题答案
5.1 空语句只有一个";".如果什么也不想做可以使用空语句. 5.2 用花括号{}括起来的叫块,也叫复合语句.有多条语句作用在同一个作用域时,需要用花括号括起来. 5.3 降低了 ...
- C++ Primer 5th 第5章 语句
和大多数语言一样,C++提供了条件执行语句.重复执行相同代码的循环语句和由于中断当前控制流的跳转语句,表达式语句和声明语句等. 语句有简单语句和复合语句之分.简单语句但多数以分号结束,最简单的语句就是 ...
- 《C++ Primer》笔记 第5章 语句
空块的作用等价于空语句. case标签必须是整型常量表达式,default也是一种特殊的case标签. 标签不应该孤零零地出现,它后面必须跟上一条语句或者另外一个case标签. 如果在某处一个带有初值 ...
- 《C++ Primer 4th》读书笔记 第6章-语句
原创文章,转载请注明出处: http://www.cnblogs.com/DayByDay/p/3912407.html
随机推荐
- 51 Nod 最大子矩阵和
1051 最大子矩阵和 基准时间限制:2 秒 空间限制:131072 KB 分值: 40 难度:4级算法题 收藏 关注 一个M*N的矩阵,找到此矩阵的一个子矩阵,并且这个子矩阵的元素的和是最大的 ...
- mysql bit 和 tinyint 的区别及使用场景?
bit类型语法:bit[(M)] : 位字段类型.M表示每个值的位数,范围从1到64.如果M被忽略,默认为1. tinyint是数字类型,存储小数, 一般对应编辑语言里的小字典或枚举类型. 节省空间的 ...
- AcWing 107. 超快速排序(归并排序 + 逆序对 or 树状数组)
在这个问题中,您必须分析特定的排序算法----超快速排序. 该算法通过交换两个相邻的序列元素来处理n个不同整数的序列,直到序列按升序排序. 对于输入序列9 1 0 5 4,超快速排序生成输出0 1 4 ...
- springCloud 搭建eureka服务之天坑
这里我是采用gradle来管理jar包的. 1.使用idea创建一个gradle项目. 2.编辑settings.gradle文件 rootProject.name = 'jtm' //include ...
- Hadoop监控指标项
配置 修改$HADOOP_HOME/etc/hadoop/hadoop-env.sh # 在配置namenode和datanode时都会有用到JMX_OPTS的代码,是为了减少重复提取出的公共代码 e ...
- JSP中解决session超时跳转到登陆页面并跳出iframe框架或局部区域的方法
当session会话超时,页面请求被重新定位到了登陆界面.但登录界面在iframe中的解决方案:在登录页面中加入下面的js代码: <script type="text/javascri ...
- Authing新功能——小程序扫码登录
近期,Authing 发布了新功能--小程序扫码登录. 小程序扫码登录指使用Authing小程序身份管家在网页端或其它客户端执行微信登录,目前的SDK仅支持客户端JavaScript.其它语言若想使用 ...
- 选题 Scrum立会报告+燃尽图 02
此作业要求参见[https://edu.cnblogs.com/campus/nenu/2019fall/homework/8683] 一.小组介绍 组长:贺敬文 组员:彭思雨 王志文 位军营 杨萍 ...
- StringUtils.isBlank()检验String 类型的变量是否为空
在校验一个String类型的变量是否为空时,通常存在3中情况 是否为 null 是否为 "" 是否为空字符串(引号中间有空格) 如: " ". Str ...
- [Java]算术表达式求值之一(中序表达式转后序表达式方案)
第二版请见:https://www.cnblogs.com/xiandedanteng/p/11451359.html 入口类,这个类的主要用途是粗筛用户输入的算术表达式: package com.h ...