第六章 分支语句和逻辑操作符

  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》读书笔记之四—分支语句和逻辑操作符的更多相关文章

  1. 学习C++.Primer.Plus 6 分支语句和逻辑操作符

    ||. &&操作符是一个顺序点 < 操作符从左向右结合 ; < age < )//17<age为true, = 1,肯定 < 27.所以为整个条件为tru ...

  2. C++ primer plus读书笔记——第6章 分支语句和逻辑运算符

    第6章 分支语句和逻辑运算符 1. 逻辑运算符的优先级比关系运算符的优先级低. 2. &&的优先级高于||. 3. cctype中的函数P179. 4. switch(integer- ...

  3. 《C++ Primer》读书笔记 第一章

    读<C++ Primer>才知道,自己对C++知之甚少... 写个博客记录下自己C++的成长,只是读书笔记,不是对<C++ Primer>知识点的总结,而是对自己在书上看到的以 ...

  4. 《C#图解教程》读书笔记之四:类和继承

    本篇已收录至<C#图解教程>读书笔记目录贴,点击访问该目录可获取更多内容. 一.万物之宗:Object (1)除了特殊的Object类,其他所有类都是派生类,即使他们没有显示基类定义. ( ...

  5. C++ Primer Plus读书笔记(六)分支语句和逻辑运算符

    1. 以上均包含在cctype中 1 #include<cctype> 2 //#include<ctype.h> 2.文件操作 (1)头文件 1 #include<fs ...

  6. C primer plus 读书笔记第六章和第七章

    这两章的标题是C控制语句:循环以及C控制语句:分支和跳转.之所以一起讲,是因为这两章内容都是讲控制语句. 第六章的第一段示例代码 /* summing.c --对用户输入的整数求和 */ #inclu ...

  7. C primer plus 读书笔记第一章

    写在前面: 算法和数据结构是计算机学习的基础,而大部分书籍是用C/C++编写.所以有了把C语言重新学一遍的想法.这个系列主要是记录看C primer plus的一些笔记和部分课后习题的答案,不会总结的 ...

  8. 《C++ Primer》读书笔记—第二章 变量和基本类型

    声明: 文中内容收集整理自<C++ Primer 中文版 (第5版)>,版权归原书所有. 学习一门程序设计语言最好的方法就是练习编程. 1.8比特的char类型计算机表示的实际范围是-12 ...

  9. C++ Primer Plus读书笔记

    第五章 循环和关系表达式 1. 2.类别别名: (1)   #define FLOAT_POINTER float * FLOAT_POINTER pa, pb; 预处理器置换将该声明转换成  flo ...

随机推荐

  1. JavaScript设计模式-3.原型模式

    <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title> ...

  2. linux mint 19 pyenv 安装 python 3.7.0 问题解决

    Python3: ImportError: No module named '_ctypes' 解决 sudo apt-get install libffi-dev WARNING: The Pyth ...

  3. unity 优化之overdraw查看

    scene视图里面能直接看,打开左上角那个下拉选项,选择overdraw就行 转载篇在game视图下查看overdraw:       https://blog.csdn.net/complicate ...

  4. 在ubuntu下使用visual studio code编写python

    感觉有了visual studio code之后,不管编写什么语言的代码都可以,简单安装对应的语言插件即可. 这不轮到了最近比较热的python语言,蹭着AI的热度,python语言成为了工程师们又一 ...

  5. [javaSE] IO流(递归查找指定文件)

    递归方法,实现查找目录中以.java为后缀的文件路径,并存入文本文件中 定义一个静态方法fileToLine(),传入参数:File对象目录,List集合对象(List<File> 这样做 ...

  6. WPF中ScrollViewer嵌套引发滚动失灵的Bug

    事情起因 测试报告说存在滚动条不能拖动的情况,我们几个开发人员多次测试都未重现该问题.后面发现是操作系统的问题,在XP和部分Win7上会存在该问题.而在我们开发人员的机器上,包括Win7 SP1,Wi ...

  7. 基于.Net下整合RestSharp,实现REST服务客户端

    一. 准备工作 1. 点击此访问 RestSharp 官网,可作参考 2. VS2012 中安装支持.Net4.0的最新版 RestSharp 插件 工具---NuGet程序包管理器---程序包管理器 ...

  8. java设计模式-----9、观察者模式

    Observer模式是行为模式之一,它的作用是当一个对象的状态发生变化时,能够自动通知其他关联对象,自动刷新对象状态. Observer模式提供给关联对象一种同步通信的手段,使某个对象与依赖它的其他对 ...

  9. java工厂模式个人体会

    上一边文章主要对单例模式做了一个总结,这篇文章主要对工厂模式也写一写个人的体会. 工厂模式是设计模式的一种,它主要是把实现产品对象的过程封装起来,然后提供给客户端相应的接口.工厂模式也是有3种,分别为 ...

  10. MyEclipse打包带源码的jar包

    平时开发中,我们喜欢将一些类打包成jar包,然后在别的项目中继续使用,不过由于看不到jar包里面的类的源码了,所以也就无法调试,要想调试,那么就只能通过关联源代码的形式,这样或多或少也有一些不方便,今 ...