第五章 摘录

5.1 简单语句

;  //空语句

类似python中的pass。在循环中有时就会用到。

别漏写分号,也别多写。一般来说多余的空语句是无害的,但是如果在if或者while条件后跟了一个额外的分号就可能改变程序员的初中部。

复合语句也被称作块,指用花括号扩起来的(可能为空的)语句和声明的序列。一个块就是一个作用域。如while或for循环的循环体必须是一条语句,{ }就是把可能的多条语句转变成一条复合语句(块)。

块也可为空,指内部没有任何语句的一对花括号。其作用等价于空语句。

5.2 语句作用域

5.3 条件语句

悬垂else:c++规定else与它最近的尚未匹配的if匹配。

switch的case必须为整型常量表达式。并且case如果匹配成功,将从该标签开始往后顺序执行所有case分支,除非程序显式中断这一过程。

例子: 

switch (ch)

{

    case 'a': case 'e': case 'i': case 'o': case 'u':  //只要是aeiou中任意一个都会执行

                ++vowelCnt;

                break;

}

一般来说不要省略case分支最后的break语句。

即使不准备在default标签下做任何工作,定义一个default标签也是有用的。目的在于告诉读者我们已经考虑到了默认的情况。

对于switch内部的变量定义部分,很有趣。

参考:https://blog.csdn.net/neuwyt/article/details/48968039

https://www.zhihu.com/question/23051685

另外,变量的声明与定义不是语句!!!

重点是:

初始化操作和定义变量对于编译器来说是两回事,

初始化操作是一个确确实实在运行时才会被调用的语句,是可以被case跳转屏蔽掉的语句;而定义是在编译时期就完成检查的。

------------

疑惑点:

switch(index){ case 1: int ix = 2; break; default: int ix = 3; break; }

为何这个报错?上述代码不存在定义,每次执行必然进入不同的case,ix只可能被初始化一次,仍然报错 error: redefinition of 'ix'

5.4 迭代语句

5.5 跳转语句

goto语句作用是从goto语句无条件跳转到同一函数内的另一条语句。

不要在程序中使用goto语句,因为它使得程序既难理解又难修改。

5.6 try语句块和异常处理

异常处理机制为程序中异常检测异常处理这两部分的协作提供支持。

throw表达式,异常检测部分使用throw表达式来表达它遇到了无法处理的问题,我们说throw引发了异常。

try语句块,异常处理部分使用try语句块。以关键字try开始,并以一个或多个catch子句结束。因为catch子句处理异常,所以也被称作异常处理代码。

一套异常类,用于在throw和catch之间传递异常的具体信息。

编写异常安全的代码非常困难,异常中断了程序的正常流程。那些在异常发生期间正确执行了“清理”工作的程序被称作异常安全的代码。然而经验表明,编写异常安全的代码非常困难。对于一些程序来说,当异常发生时只是简单终止程序,此时则不需要怎么担心异常安全。在google style guide里指明了不使用异常。

标准异常库<stdexcept>。

https://www.cnblogs.com/ronny/p/3656559.html

©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 199,636评论 5 468
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 83,890评论 2 376
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 146,680评论 0 330
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 53,766评论 1 271
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 62,665评论 5 359
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,045评论 1 276
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 37,515评论 3 390
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,182评论 0 254
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 40,334评论 1 294
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,274评论 2 317
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,319评论 1 329
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,002评论 3 315
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 38,599评论 3 303
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,675评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 30,917评论 1 255
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 42,309评论 2 345
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 41,885评论 2 341

推荐阅读更多精彩内容

  • 特别说明,为便于查阅,文章转自https://github.com/getify/You-Dont-Know-JS...
    杀破狼real阅读 453评论 0 0
  • 第2章 基本语法 2.1 概述 基本句法和变量 语句 JavaScript程序的执行单位为行(line),也就是一...
    悟名先生阅读 4,102评论 0 13
  • Java关键字的大致含义 关键字 含义 表明类或者成员方法具有抽象属性 abstract 用来进行程序调试 ass...
    残月雨纷纷阅读 363评论 0 0
  • 金雕玉饰成神笔, 舟载车装尽美文。 诗海遨游常夺冠, 才高泼墨技超群。
    艾思阅读 413评论 16 30
  • “卡兹卡兹……”对于淡而无味的味蕾来说 薯片真是一个不可多得的好东西 或许是最近感概太多 好兄弟心如死灰濒临分手 ...
    夏子君阅读 560评论 0 1