《C++ Primer Plus》读书笔记之四—分支语句和逻辑操作符
第六章 分支语句和逻辑操作符
1、&&的优先级低于关系操作符。
2、取值范围:取值范围的每一部分都使用AND操作符将两个完整的关系表达式组合起来:
if(age>17&&age<35) // OK
if(17<age<35) // don't do this!!
3、!操作符的优先级高于所有的关系操作符和算术运算符。即!>关系操作符>AND>OR。
4、虽然C++操作符的优先级规则常可能不使用括号便可以编写复合比较的语句,但最简单的方法还是用括号将测试进行分组,而不管是否需要括号!
5、switch语句中的每一个case标签都必须是一个单独的值,另外,这个值必须是整数(包括char),因此switch无法处理浮点测试。另外case标签值还必须是常量。
6、使用cin进行输入时,程序将输入视为一系列的字节,其中每个字节都被解释为字符编码。不管目标数据类型是什么,输入一开始都是字符数据——文本数据。然后,cin对象负责将文本数据转为其他类型。
7、写入到文本文件中的必须步骤:
#include<fstream> // 里面定义了一个用于处理输出的ofstream类。
ofstream outFile;// 声明一个ofstream类对象。
outFile.open("fish.txt"); // 将对象与特定的文件关联起来。若打开已有文件,以接受输出时,默认将其长度截短为 0,因此原来的内容将丢失
或者 char filename[50]; cin>>filename; outFile.open(filename);
double wt=125.8;
outFile<<wt; // write a number to fish.txt
char line[81]="gfdsygfiuewgfhuidshfuids";
outFile<<line<<endl; // write a line to fish.txt
outFile.close() // 使用完文件后,应使用close将其关闭
注:所有可用于cout的操作和方法(如<<、endl和setf())都可用于ofstream对象;创建好ofstream对象后,便可以像使用cout那样使用它了。
8、读取文本文件的必须步骤:
#include<fstream> // 里面定义了一个用于处理输出的ifstream类。
ifstream inFile;// 声明一个ifstream类对象。
inFile.open("bowling.txt"); // 将对象与特定的文件关联起来。
或者 char filename[50]; cin>>filename; inFile.open(filename);
double wt;
inFil>>wt; // read a number from bowling.txt
char line[81];
inFile.getline(line,81); // read a line of text
inFile.close() // 使用完文件后,应使用close将其关闭
注:所有可用于cin的操作和方法都可用于ifstream对象;
9、检查文件是否被成功打开的方法:is_open()或者good():
inFile.open("bowling.txt");
if(!inFile.is_open())=if(!inFile.good())
{
exit(EXIT_FAILURE);
}
exit()的原型是在头文件cstdlib中定义的,在该头文件中还定义了一个用于操作系统通信的参数值EXIT_FAILURE。函数exit()终止程序。
10、读取文件的检查:如果遇到EOF,方法eof()将返回true;类型如果不匹配或者遇到EOF,方法fail()将返回true;如果某些预期外的东西可能出现问题,例如文件受损或硬件故障,方法bad()将返回true。不要分别检查这些情况,一种更简单的方法是用good()方法,该方法在没有发生任何错误时返回true。
《C++ Primer Plus》读书笔记之四—分支语句和逻辑操作符的更多相关文章
- 学习C++.Primer.Plus 6 分支语句和逻辑操作符
||. &&操作符是一个顺序点 < 操作符从左向右结合 ; < age < )//17<age为true, = 1,肯定 < 27.所以为整个条件为tru ...
- C++ primer plus读书笔记——第6章 分支语句和逻辑运算符
第6章 分支语句和逻辑运算符 1. 逻辑运算符的优先级比关系运算符的优先级低. 2. &&的优先级高于||. 3. cctype中的函数P179. 4. switch(integer- ...
- 《C++ Primer》读书笔记 第一章
读<C++ Primer>才知道,自己对C++知之甚少... 写个博客记录下自己C++的成长,只是读书笔记,不是对<C++ Primer>知识点的总结,而是对自己在书上看到的以 ...
- 《C#图解教程》读书笔记之四:类和继承
本篇已收录至<C#图解教程>读书笔记目录贴,点击访问该目录可获取更多内容. 一.万物之宗:Object (1)除了特殊的Object类,其他所有类都是派生类,即使他们没有显示基类定义. ( ...
- C++ Primer Plus读书笔记(六)分支语句和逻辑运算符
1. 以上均包含在cctype中 1 #include<cctype> 2 //#include<ctype.h> 2.文件操作 (1)头文件 1 #include<fs ...
- C primer plus 读书笔记第六章和第七章
这两章的标题是C控制语句:循环以及C控制语句:分支和跳转.之所以一起讲,是因为这两章内容都是讲控制语句. 第六章的第一段示例代码 /* summing.c --对用户输入的整数求和 */ #inclu ...
- C primer plus 读书笔记第一章
写在前面: 算法和数据结构是计算机学习的基础,而大部分书籍是用C/C++编写.所以有了把C语言重新学一遍的想法.这个系列主要是记录看C primer plus的一些笔记和部分课后习题的答案,不会总结的 ...
- 《C++ Primer》读书笔记—第二章 变量和基本类型
声明: 文中内容收集整理自<C++ Primer 中文版 (第5版)>,版权归原书所有. 学习一门程序设计语言最好的方法就是练习编程. 1.8比特的char类型计算机表示的实际范围是-12 ...
- C++ Primer Plus读书笔记
第五章 循环和关系表达式 1. 2.类别别名: (1) #define FLOAT_POINTER float * FLOAT_POINTER pa, pb; 预处理器置换将该声明转换成 flo ...
随机推荐
- Determining IP information for eth0...failed
事故现场 eth0 Link encap:Ethernet HWaddr :0C::B6:D2:5A inet6 addr: fe80::20c:29ff:feb6:d25a/ Scope:Link ...
- AngularJS 的常用特性(三)
6.表达式 在模板中使用表达式是为了以充分的灵活性在模板.业务逻辑和数据之间建立联系,同时又能避免让业务逻辑渗透到模板中. <div ng-controller="SomeContr ...
- JS常用时间处理方法
这里会扩展一些JS常用时间处理方法,内置时间对象的方法不再赘述 -- 传送门:http://www.w3school.com.cn/js/jsref_obj_date.asp 时间格式化 -- 转换为 ...
- 基于struts2注解@action的@Result跳转问题——跳转到另一个action
初学ssh 基于注解的方式简单灵活,但是做一个例子的时候,添加用户AddUser 完成后 想页面跳转到 ListUser 这个action, 然后action 成功后 会跳转到list.jsp 显示 ...
- Winform学习之随笔一:Log4net
前提题要:因为我最近负责的Winform项目,好多都用到了这个log4net的日志功能,开发程序对数据一般都要求做到雁过留痕,所以日志对于我们程序员是不可或缺.因此我把对log4net的使用做一个记录 ...
- golang学习之slice基本操作
slice的增删改查: //删除 func remove(slice []interface{}, i int) []interface{} { // copy(slice[i:], slice[i+ ...
- [javaEE] Servlet中Session的使用
Session是一个域 作用范围:当前会话范围 生命周期:当程序第一次调用request.getSession()创建出客户端的session对象,30分钟没有操作认为超时,这个可以在web.xml中 ...
- [javaSE] GUI(打开文件对话框)
使用FileDialog可以打开文件对话框,根据模式不同,可以分为打开文件和保存文件对话框 获取FileDialog对象,new出来,参数:所属Frame对象,String的标题,FileDialog ...
- POJ 1611(并查集+知识)
并查集主要是两个过程,一个是并,一个是查 原理是用一个数组p[i]保存每个i的根节点,如果根节点一样则在同一个集合里,所以只有根节点p[i]=i; 查: int find(int x){return ...
- jquery each遍历判断返回false方法
在jquery each中遍历返回false失效,解决办法,用变量解决: var num = 0; $(".box").find("input[type='text']& ...