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

  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. Types方法之isCastable-isConvertible

    5. Conversions and Promotions 5.1. Kinds of Conversion 5.1.1. Identity Conversion 5.1.2. Widening Pr ...

  2. python四种简单排序

    #!/usr/bin/python #排序方法 #冒泡排序 def buble(l): for i in range(len(l)): for j in range(len(l)-i-1): if l ...

  3. 群晖MyDS账号注册--实现使用QuickConnect外网访问

    最近公司拿了个NAS给我,让我把它配置好,之前没有接触过这个东西,上网一查,发现就是和去年很火的玩客云和斐讯天天链N1的功能一样,可以实现文件储存和文件共享. 设备型号:群晖DS214SE 系统版本: ...

  4. InnoDB的视图

    视图(View)是一个命名的虚表,它由一个查询来定义,可以当做表使用.与持久表(permanent table)不同的是,视图中的数据没有物理表现形式. 视图的作用 视图在数据库中发挥着重要的作用.视 ...

  5. 话说C语言的关键字volatile

    最近搞NVMe驱动需求分析,对volatile这个单词实在是再熟悉不过了. 而在C语言中,有一个关键字就叫做volatile, 其字面意思是"挥发性的, 不稳定的,可改变的". 那 ...

  6. Delphi下OpenGL2d绘图(06)-画图(多窗口、多视图、多个DC)

    一.前言 在学习OpenGL的过程中,发现很多函数都是全局的.前面几章中都是在一个窗口DC中画图,那么要在多个窗口画图,需要怎么处理呢?网上方法有多种,这里采用其中一种,利用wglMakeCurren ...

  7. bootstrap table demo

    js 代码 //搜索 function searchTable(){ var searchInfo = $("#searchForm").serializeJsonObject() ...

  8. [转]Android Studio SQLite Database Example

    本文转自:http://instinctcoder.com/android-studio-sqlite-database-example/ BY TAN WOON HOW · PUBLISHED AP ...

  9. 使用MUI框架,模拟手机端的下拉刷新,上拉加载操作。

    套用mui官方文档的一句话:“开发者只需关心业务逻辑,实现加载更多数据即可”.真的是不错的框架. 想更多的了解这个框架:http://dev.dcloud.net.cn/mui/ 那么如何实现下拉刷新 ...

  10. Java新人拿到一台新的电脑需要装配什么

    适用对象:新手 装备:win10 一.IDEA 插件等 说明 其他 TranslationPlugin 翻译插件 GitHub地址 MyBatis-Generator 自动生成Mybatis文件 Al ...