C++ Primer 读书笔记 – 第六章
2015-05-13 18:36
288 查看
C++ Primer 读书笔记 – 第六章
分类: C++ pirmer 读书笔记2010-09-2011:10 56人阅读 评论(0) 收藏 举报
读书c++datenullfile
第6章 语句
㈠ 简单语句
⒈ 表达式语句(expression_r statement)
一个表达式加上结尾的分号,执行时导致该表达式被求值
⒉ 空语句(null statement)
只由一个单独的分号组成,当语法上需要一个语句但逻辑上并不需要时使用
⒊ 声明语句
用于声明或定义对象或类
㈡ 复合语句
⒈ 复合语句(compound statement)又被称为块(block),是用一对花括号{}括起的(可能为空的)语句序列
⒉ 通常用于语法规则要求使用单个语句但程序逻辑需要多个语句时
⒊ 块标示了一个作用域,在块中引入的名字只能在其内部访问
㈢ 控制流语句
注:作为语句控制结构的一部分定义的变量,仅在该语句内可见
⒈ 条件分支结构
⑴ if 语句
关于 else-if 匹配的二义性问题: else 匹配给最后出现尚未匹配的 if
⑵ switch 语句
① switch 在计算表达式的值后跳转到匹配的标号处(无匹配则跳转至 default),并从该点开始一直执行下去,
直至 switch 语句结束或遇到 break 语句
② switch 求解表达式的结果须为整型,每个 case 标号的值也须为各不相同的整型常量表达式
③ switch 内部的变量定义
· 可以在 switch 求解的表达式中定义和初始化变量
· 为防止跳过变量定义,只允许在最后一个标号后定义变量
· 也可以引入块语句,在其中定义变量
⒉ 循环
⑴ while 语句
注:循环条件中定义的变量在每次循环时都要经历创建和撤销的过程
⑵ for 循环语句
注:语句头中的初始化语句、循环条件和表达式三者都可以省略
循环条件省略表示永远为 true
⑶ do while 语句
注:不能在循环条件中定义变量
⒊ break 语句
用于结束最近的外围 while, do while, for 或 switch 语句,并在该语句后继续执行
⒋ continue 语句
导致最近的外围循环语句(for, while, do while)正在进行的这次迭代提前结束
⒌ goto 语句
⑴ goto 语句提供了函数内部的无条件跳转,实现从 goto 语句跳转到同一函数内某个带标号的语句
除非有足够理由,应避免使用 goto 语句
⑵ 在任何语句前提供一个标识符和冒号,就得到一个带标号的语句(labeled statement)
标识符: 语句
使用 goto 语句跳转到该语句: goto 标识符;
由于这里的标识符只能用作 goto 的目标,因此可以与其它类型的标识符(如变量名)同名
⑶ goto 语句不能跨越变量的定义语句向前跳转
若确实需在 goto 和跳转目标位置间定义变量,则须定义在块中
⒍ try, catch 语句和 throw 表达式
用于异常处理
⒎ return 语句
用于结束当前函数,返回函数被调用处继续执行
⒍⒕ 使用预处理器进行调试
⒈ 使用 NDEBUG 预处理变量实现有条件的调试代码(类似头文件保护符)
#ifndef NDEBUG
#define NDEBUG
// 调试代码
#endif
如果定义了 NDEBUG 就不执行调试代码
⒉ 使用 NDEBUG 预处理变量以及 assert 预处理宏
定义在头文件cassert中,常用来检查不可能发生的状况,形式为
assert(表达式)
如果表达式结果为 false, assert 输出信息并终止程序
如果定义了 NDEBUG 预处理变量,assert 将被忽略,不会产生任何运行时代价
⒊ 预处理器定义了四种在调试时有用的常量
__FILE__ 文件名
__LINE__ 当前行号
__TIME__ 编译时间
__DATE__ 编译日期
相关文章推荐
- 《C++ Primer》读书笔记第六章-3-特殊特性 And 函数匹配 And 函数指针
- 《C++ Primer》读书笔记-第六章 04 函数重载
- C++ Primer 读书笔记 – 第六章
- 《C++ Primer》读书笔记-第六章 05 特殊用途语言特性
- 《C++ Primer》读书笔记-第六章 06 函数匹配
- C++ Primer 读书笔记 - 第六章
- C++ Primer 读书笔记 – 第六章
- 《C++ Primer》读书笔记-第六章 01 函数基础
- 《C++ Primer》读书笔记-第六章 02参数传递
- 《C++ Primer》读书笔记第六章-1-函数基础 And 参数传递
- 《C++ Primer》读书笔记——第六章
- 《C++ Primer》读书笔记-第六章 03 返回类型和return语句
- 《C++ Primer》读书笔记第六章-2-返回类型 And 函数重载
- 《Head first HTML与CSS 第二版》读书笔记 第六章 HTML标准
- C++ Primer 读书笔记 - 第八章
- 《C++ Primer》读书笔记 第4章:表达式
- c++ primer 读书笔记 之第七章类
- c++模板与泛型编程(一)模板定义 ——《c++ primer》读书笔记
- 《C++ Primer》读书笔记——第七章
- 读书笔记 - js高级程序设计 - 第六章 面向对象的程序设计