第6章 分支语句和逻辑运算符
1. if语句
//if语句有两种格式
if (test-condition) //第一种,if
statement
if (test_condition) //第二种,if-else
statement1
else
statement2
2. 逻辑表达式
逻辑与&&、逻辑或||、逻辑非!,逻辑与和逻辑或优先级都低于关系运算符,逻辑与的优先级又高于逻辑或,逻辑非优先级高于所有算术运算符和逻辑运算符。
3. 字符函数库cctype
函数名称 | 返回值 |
---|---|
isalnum() | 如果参数是字母或者数字,函数返回true |
isalpha() | 如果参数是字母,函数返回true |
iscntrl() | 如果参数是控制字符,返回true |
isdigit() | 如果参数是数字,返回true |
islower() | 如果参数是小写字母,返回true |
isprint() | 如果参数是打印字符,返回true |
ispunct() | 如果参数是标点符号,返回true |
isspace() | 如果参数是标准空白字符,返回true |
isupper() | 如果参数是大写字母,返回true |
tolower() | 如果参数是大写字符,返回其小写,否则返回该参数 |
toupper() | 如果参数是小写字符,返回其大写,否则返回该参数 |
4. ?:运算符
条件运算符?:用于代替if-else语句的运算符。
expression1 ? expression2 : expression3
5. switch语句
switch语句用于在大型列表中进行选择。
switch (integer-expression) //intege-expression是一个结果为整数的表达式
{
case label1 : statement //匹配标签
case label2 : statement
....
default: statement //除开上面所有情况下才会执行
}
6. break和continue
break跳出循环
continue跳出本次循环,开始下一轮循环
7. 处理错误输入
输入错误和EOF都将导致cin返回false,可以使用clear()重置错误输入标记。
程序发现用户输入错误内容时,应当:
- 重置cin以接受新的输入
- 删除错误输入
- 提示用户再输入
8. 简单文件输入/输出
利用cin进行输入时,程序将输入视为一系列的字节,其中每个字节都被解释为字符编码。不管目标数据类型是什么,输入一开始都是字符数据——文本数据。然后cin对象负责将文本数据转换为其他类型。
对于cout输出,执行相反的转换,将其他类型(如整型浮点型)转换为相应的字符序列。
cout用于控制台输出的基本事实:
- 必须包含头文件iostream
- 头文件iostream定义了一个用于处理输出的ostream类
- 头文件iostream声明了一个名为cout的ostream对象
- 必须指明名称空间std
- 可以结合cout和运算符<<来显示各种类型的数据
文件输出与cout极其相似:
- 必须包含头文件fstream
- 头文件fstream定义了一个用于处理输出的ofstream类
- 需要声明一个或多个ofstream对象,并对其命名
- 必须指明名称空间
- 需要将ofstream对象与文件关联。方法之一是使用open()方法
- 使用完文件后,应使用方法close()将其关闭
- 可结合使用ofstream对象和运算符<<来输出各种类型数据
重要的是,声明一个ofstream对象并将其同文件关联起来后,便可以像使用cout那样使用它,所有可用于cout的操作和方法都可用于ofstream对象。
注意:打开已有文件接受输出时,默认将其长度截断为零,因此原先内容将丢失。
文件输入和cin极其相似:
- 必须包含头文件fstream
- 头文件fstream中定义了一个用于处理输入的ifstream类
- 需要声明一个或多个ifstream对象,并对其命名
- 必须指明名称空间
- 需要将ifstream对象与文件关联起来,方法之一是使用open()方法
- 使用完文件,应使用close()方法将其关闭
- 可结合使用ifstream对象和运算符>>读取各种类型数据
- 可以使用ifstream对象和get()方法读取一个字符,使用ifstream对象和getline()方法读取一行字符
- 可以结合使用ifstream和eof()、fail()方法来判断输入是否成功
- ifstream对象本身被用作测试条件时,如果最后一个读取成功,将被转换为布尔值true,否则为false
重要的是,声明一个ifstream对象并将其同文件关联起来后,便可以像使用cin那样使用它,所有可用于cin的操作和方法都可用于ifstream对象。
不能试图打开一个不存在的文件用于输入,检查文件是否成功打开的方法is_open(),如果成功打开返回true,否则返回false
exit()函数原型是在头文件cstdlib中定义的,用于终止程序,其中还定义了一个用于同操作系统通信的参数EXIT_FAILURE。
ifstream查找文件默认在可执行文件所属文件夹中查找,除非在输入的文件名中包含路径。
方法eof()检查EOF,方法fail()检查读取类型不匹配情况和EOF,方法bad()文件受损或硬件故障。方法good()在没有发生任何错误时返回true。