您的位置:首页 > 编程语言 > C语言/C++

2012/1/14 《C++ Primer Plus》第六章:分支语句和逻辑操作符 学习笔记

2012-01-14 20:33 561 查看
《C++ Primer Plus》第六章学习笔记

69:Cout << ‘a’ + 1 //得到的结果为98

70:C++规定,||操作符是一个顺序点(sequence point)。也就是说,先修改左侧的值,然后再对右侧的值进行判定。例如:i++ < 6 || i == j ,假设i原来是10,则i和j比较时,i的值将为11。另外,如果左侧的值为true,则C++将不会去判定右侧表达式的值。(冒号和逗号操作符也是顺序点)

71:&&操作符也是一个顺序点。如果左侧为false,则不会再判定右侧表达式。

72:数学表达式10<x<20在C++中合法,但达不到想要的效果,< 操作符从左向右结合,等同于(10<x)<20, (10<x)要么为true(1),要么为false(0),不管哪种,都比20小,所以表达式的值恒为true。

73:!操作符的优先级高于所有的关系操作符和算术操作符。&&操作符优先级高于||操作符。推荐在无论何时都加括号,容易阅读,避免读者查看不常用的规则,减少出错可能。

74:用switch语句注意加break。

75:和C语言一样,C++也有goto语句。在大多数情况下,使用goto语句不好,而应该使用结构化控制语句(如if else、switch、continue等)来控制程序的流程。

76:fstream类中的成员函数open()只接受C风格字符串,若想将string对象作为参数,则需使用string类的c_str()返回一个指针。

77:exit(int)函数用于终止程序,在cstdlib库中。

78:inFile >> value的返回值为inFile,而在需要一个bool值得情况下,inFile的结果为inFile.good(),即true或false。

书中的错误:

P149 倒数第四行tota漏了个l;

P157 程序说明第二行的”<=”应为”>=”;

P160第八行多了个isdigit()多了个s;

P172 6.8.2第7行,” >> ” 应改为” << ”;

P174 6.8.3第6行,”<<”应改为”>>” (这两个都是明显的错误,为什么翻译的时候不改掉呢);

P177最后一段漏了一个d;
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: