学习C++.Primer.Plus 6 分支语句和逻辑操作符
- ||、 &&操作符是一个顺序点
- < 操作符从左向右结合
int age = 24; if(17 < age < 20)//17<age为true, = 1,肯定 < 27。所以为整个条件为true { ... }
- C++ 对逻辑表达式从左向右计算,并在知道答案后立即停止计算。
- 字符函数库:
在ctype函数库中(#include(cctype))
isalnum() 字母数字
isalpha() 字母
isblank() 空格或水平制表符
isdijit() 数字
islower() 小写字母
ispunct() punctuation标点符号
isspace() 空格、进纸、换行、回车、水平/垂直制表符
isupper() 大写字母
isxdijit() 16进制数字
tolower() 返回小写形式
toupper()
等等等等等等
- cin无法识别枚举变量。当switch语句将int 和 枚举比较时,会自动提升为int 类型。
- switch语句中每个case必须为 整数(或char)的常量。
- cin>>n数字出错时:n值保持不变;错误输入被留存队列中;设置一个错误标记;返回cin 或 false。
- 简单文件输入/输出:
- cin>>某一类型时:cin不断读取,直到遇到不属于该类型的字符时为止,并将其丢回输入流。
- cin.getline(arr, 50),直到遇到换行符,最后会将换行符丢弃。
- 包含头文件fstream。文件输入输出的ostream/fstream。
#include <fstream> #include <stdlib> ... ... ofstream outFile; outFile.open("C:\***.txt");//如果不存在,则会新建。如果存在,则会截断和重写 if(!outFile.is_open())//判断是否打开成功 { exit(EXIT_FAILURE); } outFile.precision(2); outFile.setf(ios_base::showpoint); ... outFile << dblPrice; ... outFile.close();//关闭文件
- outFile.open("...")关联文件,outFile.is_open()判断是否打开成功,outFile.close()关闭文件
- 终止程序的exit()函数 和 EXIT_FAILURE 在头文件 stdlib 中定义的。
- inFile.good()方法读取时没发生任何错误;inFile.eof()方法读取到EOF时返回true;inFile.fail()读取到EOF或类型错误返回true;inFile.bad()预期外的问题时返回true:
while(inFile.good()) { ... } if(inFile.eof())//正常读完文件后跳出 { ... } else if(inFile.fail())//类型不匹配跳出 { ... } else//未知原因跳出 { ... }
- inFile>>value返回inFile,在需要bool的地方转换为bool,类似cin。