关于C++基础知识,你必须知道这些专业术语(5)

道阻且长,行则将至。埋头苦干,不鸣则已,一鸣惊人!加油,骚年!

1 前言

  根据《C++ Primer 中文版 (第 5 版)》,第五章《语句》总结而来;

  提示:善于利用 Ctrl + F 快捷键,快速搜索相关内容哦!


2 小结

  C++ 语言仅提供了有限的语句类型,它们中的大多数会影响程序的控制流程:

  • while 、for 和 do while 语句,执行选代操作。
  • if 和 switch 语句,提供条件分支结构。
  • continue 语句,终止循环的当前一次迭代。
  • break 语句,退出循环或者 switch 语句。
  • goto 语句,将控制权转移到一条带标签的语句。
  • try 和 catch ,将一段可能抛出异常的语句序列括在花括号里构成 try 语句块。 catch 子句负责处理代码抛出的异常。
  • throw 表达式语句,存在于代码块中,将控制权转移到相关的 catch 子句。
  • return 语句,终止函数的执行。我们将在第 6 章介绍 return 语句。

  除此之外还有表达式语句和声明语句。表达式语句用于求解表达式,关于变量的声明和定义在第 2 章已经介绍过了。


3 术语表

  • 块(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 while 语句的条件部分、或者范围 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 标签开始执行。当所有 case 标签都无法匹配时,如果有 default 标签,从 default 标签继续执行;如果没有,结束 switch 语句。

  • terminate

  是一个标准库函数,当异常没有被捕捉到时调用。 terminate 终止当前程序的执行。

  • throw 表达式(throw expression)

  一种中断当前执行路径的表达式。 throw 表达式抛出一个异常并把控制权转移到能处理该异常的最近的 catch 子句。

  • try 语句块(try block)

  跟在 try 关键字后面的块,以及一个或多个 catch 子句。如果 try 语句块的代码引发异常并且其中一个 catch 子句匹配该异常类型,则异常被该 catch 子句处理。否则,异常将由外围 try 语句块处理,或者程序终止。

  • while 语句(while statement)

  只要指定的条件为真,就一直迭代执行目标语句。随着条件真值的不同,循环可能执行多次,也可能一次也不执行。

如果文章内容有误,麻烦评论/私信多多指教!如果觉得文章内容还不错,记得一键四连哦(点赞、收藏、留言、关注),如果您能点个关注,那就是对我最大的鼓励,也将是我创作的动力,谢谢您嘞!

猜你喜欢

转载自blog.csdn.net/fighting_boom/article/details/109018233