分支语句和逻辑语句
if else 被认为是一个语句。
|| 逻辑OR运算符
&& 逻辑AND运算符
两个运算符都是顺序点,当左侧判断完后,如果结果确定,则不对右侧进行判断。
逻辑NOT运算符:比关系运算符和算术运算符都高。
逻辑AND运算符优先级高于逻辑OR运算符的优先级
C++中可以直接使用 and,or,not.
字符函数库:cctype可以对字符进行直接判断:
isalpha(ch)判断是否是字母.
ispunct(ch)判断是否是标点
toupper(ch) 小写转大写
tolower(ch) 大写转小写。不改变ch的值,返回值是小写字母
?:条件运算符。最后得到的是一个表达式。
int choice;
cin >> choice;
switch(choice)
{
case 1 : break;
case 2 : break;
default :
}
switch 和 while使用枚举的时候,会自动的将枚举量转化为int。
switch要求
- case当中的必须是常量
- 输入必须是整形
少时用if多时用switch
continue跳过循环体继续循环。对于for循环不会跳过更新操作。
break跳出循环,执行循环后的语句。
数字输入:cin >> n; 此时用户输入字符。
- n没有值
- cin返回false
- 设置错误位
- 字符停留在输入流当中
cin.clear()可以清除标记,继续输入。
- 当利用字符停止输入的时候:注意用恢复输入以及有时不需要恢复输入的情况(比如已经达到输入个数要求的停止)
- 对于用户的多个字符输入,要从输入流中清除。
文本文件输入和输出操作:
#include<fstream> // 文件输入输出的头文件
/*
所有操作和cout和cin基本相同:区别只有两个:
1.需要自己创建对象 ifstream inFile; ofstream outFile;
2.需要创建和文件之间的连接 inFile.open("") 创建后需要关闭 inFile.close()
*/
判断文件是否成功打开
inFile.is_open() // true是成功打开,否则是没有
从文件中读入,是否成功:
inFile.good() 或者 inFile自动转换成bool// 判断所有错误
// 具体错误
if (inFile.eof())
else if (infile.fail())
else
// eof优先判断,然后再判断fail因为eof是true也会导致fail是true