Chapter6 分支语句和逻辑运算符

Chapter6 分支语句和逻辑运算符

C++规定,||是一个顺序点(sequence point),也就是说,先修改左侧的值再对右侧的值进行判定(运算符左边的子表达式先于右边的子表达式)。

逻辑AND运算符的优先级高于逻辑OR运算符。

标识符and、or和not都是C++的保留字,这意味着不能将它们用作变量名。它们不是关键子,因为它们都是已有语言特性的另一种表示方法。(在c语言中包含头文件iso646.h,可以使用,c++无需包含该头文件)
image-20201014152709322

C++从C语言继承了一个与字符相关的、非常方便的函数软件包,它可以简化诸如确定字符是否为大写字母、数字、标点符号等工作,这些函数的原型是在头文件cctype(ctype.h)中定义的。
image-20201014152944233

条件运算符(?:)通用格式:

1
2
expression1 ? expression2 : expression3;
//expression1为true,则表达式的值为expression2的值;否则为expression3的值。

switch语句通用格式:

1
2
3
4
5
6
7
8
switch (integer-expression) //integer-expression必须是一个结果为整数值的表达式
{
case label1: statement(s) //每个标签都必须是整数常量表达式
case label2: statements(s)
...
default: statements(s)
//case标签只是行标签,而不是选项之间的界限,也就是说,程序跳到switch中特定代码行后,将依次执行之后的所有语句,除非有明确的其他指示。
}

switch语句将int值与枚举量标签进行比较时,将枚举量提升为int;在while循环测试条件中,也会将枚举量提升为int类型。

用cin读取用户输入数字时,如果类型不匹配,将发生4种情况:
(1) 存储输入的变量保持不变;
(2) 不匹配的输入将被留在输入队列中;
(3) cin对象中的一个错误标记被设置;
(4) 对cin方法的调用将返回false(如果被转换为bool类型)。
方法返回false意味着可以用非数字输入来结束读取数字的循环。非数字输入设置错误标记意味着必须重置该标记,程序才能继续读取输入。clear()方法重置错误输入标记,同时也重置文件尾(EOF)。

使用cin进行输入的时候,程序将输入视为一系列的字节,其中每个字节都被解释为字符编码。

打开已有文件接受输入时,默认将它的长度截断为零,因此原来的的内容将会丢失。

函数exit()的原型是在cstdlib中定义的,在该头文件中,还定义了一个用于同操作系统通信的参数值EXIT_FAILURE.函数exit()终止程序。