C++ 分支语句和逻辑运算符(五)下

1.switch语句

举几个例子来说明switch的结构

C++ 分支语句和逻辑运算符(五)下
C++ 分支语句和逻辑运算符(五)下
上面是因为case 1 后面没有break语句,因此程序接着执行下一行-case 2后面的语句

2.将枚举量用作标签

C++ 分支语句和逻辑运算符(五)下
3.switch和if else

⭐switch中case的值必须是整数(包括char),因此switch无法处理浮点数,如果是涉及取值范围、浮点测试或两个变量的比较,则应使用if else语句。

⭐如果所有的选项都可以使用整数常量来标识,则可以优先使用switch语句
,因为如果选项超过两个,则就代码长度和执行速度而言,switch语句的效率更高

4.break和continue语句

continue:可以理解为跳过循环体余下的代码

C++ 分支语句和逻辑运算符(五)下
break:结束循环

C++ 分支语句和逻辑运算符(五)下
与C语言一样 C++还可以有goto语句

C++ 分支语句和逻辑运算符(五)下
5.读取数字的循环

一般在对int类型读取时读入字符时,应采取3个步骤。
1.重置cin以接受新的输入
2.删除错误输入
3.提示用户再输入

C++ 分支语句和逻辑运算符(五)下
引用cin.clear();从这里开始重置输入,重置哪呢?内部while可以看出cin.get()!=’\n’重置行尾之前的所有输入,就是删除这一行的错误输入。最后程序告诉用户,应该输入一个数字。

6.简单文件输入/输出

C++使得将读取键盘输入和在屏幕上显示输出(统称为控制台输入/输出)的技巧用于文件输入/输出(文件I/O)非常简单
⭐写入到文本文件中
使用文件输出的主要步骤:
1.包含头文件fstream
2.创建一个ofstream对象
3.将该ofstream对象同一个文件关联起来,通过open()方法
4.就像使用cout那样使用该ofstream对象
5.使用完文件后,应使用方法close()将其关闭

C++ 分支语句和逻辑运算符(五)下
在这里,该程序运行之前,文件zhoumouren.txt并不存在。在这种情况下,方法open()将新建一个名为zhoumouren.txt的文件。如果再次运行该程序,文件zhoumouren.txt将存在,此时情况将如何?默认情况下,open()将新首先截断该文件,即将其长度截断该文件,即将其长度截短到零,丢其原有的内容,然后将新的输入加入到该文件中。

⭐读取文本文件
1.包含头文件fstream
2.创建ifstream对象
3.需要将ifstream对象与文件夹关联起来,通过open()方法
4.可以结合使用ifstream对象和运算符>>来读取各种类型的数据
5.使用完文件后,应使用close()方法将其关闭

C++ 分支语句和逻辑运算符(五)下
读取字符串还可以用另外一种方式

C++ 分支语句和逻辑运算符(五)下
C++提供检查文件是否被成功打开的方法is_open(),如果成功的话,inFile.is_open()将为true,如果失败的话,!inFile.is_open().函数exit()为终止程序,这个函数原型是在头文件cstdlib中定义的

事实上还有很多很有用的函数
inFile.eof():判断是否到达EOF
inFile.fail():可以用于检查EOF和类型不匹配
如图所示,这样如果能到达else if且fail()为true时,那么可以说明导致循环终止的原因是类型不匹配
C++ 分支语句和逻辑运算符(五)下

inFile.good():指出最后一次读取输入的操作是否成功