Chapter6 分支语句和逻辑运算符
C++规定,||是一个顺序点(sequence point),也就是说,先修改左侧的值再对右侧的值进行判定(运算符左边的子表达式先于右边的子表达式)。
逻辑AND运算符的优先级高于逻辑OR运算符。
标识符and、or和not都是C++的保留字,这意味着不能将它们用作变量名。它们不是关键子,因为它们都是已有语言特性的另一种表示方法。(在c语言中包含头文件iso646.h,可以使用,c++无需包含该头文件)
C++从C语言继承了一个与字符相关的、非常方便的函数软件包,它可以简化诸如确定字符是否为大写字母、数字、标点符号等工作,这些函数的原型是在头文件cctype(ctype.h)中定义的。
条件运算符(?:)通用格式:
1 | expression1 ? expression2 : expression3; |
switch语句通用格式:
1 | switch (integer-expression) //integer-expression必须是一个结果为整数值的表达式 |
switch语句将int值与枚举量标签进行比较时,将枚举量提升为int;在while循环测试条件中,也会将枚举量提升为int类型。
用cin读取用户输入数字时,如果类型不匹配,将发生4种情况:
(1) 存储输入的变量保持不变;
(2) 不匹配的输入将被留在输入队列中;
(3) cin对象中的一个错误标记被设置;
(4) 对cin方法的调用将返回false(如果被转换为bool类型)。
方法返回false意味着可以用非数字输入来结束读取数字的循环。非数字输入设置错误标记意味着必须重置该标记,程序才能继续读取输入。clear()方法重置错误输入标记,同时也重置文件尾(EOF)。
使用cin进行输入的时候,程序将输入视为一系列的字节,其中每个字节都被解释为字符编码。
打开已有文件接受输入时,默认将它的长度截断为零,因此原来的的内容将会丢失。
函数exit()的原型是在cstdlib中定义的,在该头文件中,还定义了一个用于同操作系统通信的参数值EXIT_FAILURE.函数exit()终止程序。