C++Primer Plus(第六版)第六章学习笔记

6.1 if语句

if(test-condition)
  statement;

6.1.1 if else 语句

if(test-condition)
  statement
else
  statement

当需要三个分支选择的时候则用if else if else

6.2 逻辑表达式

与(and):&&
或(or) : ||
非(not) : !

逻辑运算符的优先级低于关系运算符。除了非门以外

然后逻辑and高于逻辑or

6.3 字符函数库 cctype

详见表6.4(p179)

6.4 ?:运算符

用于代替if else语句的运算符

expression1 ? expression2 : expression3

6.5 switch 语句

switch(integer-expression)
{
case label1 : statements
...
default        : statements
}

6.6 break 和 continue

*1.break 跳出循环
2.continue直接进入下一次循环 *

6.7 读取数字的循环

int n;
cin >> n;

当用户输入一个单词而不是一个数字的时候,会发生如下四种情况

  • n的值保持不变
  • cin对象中的错误标记被设置(表示必须重置标记)
  • 单词继续保留在输入队列中
  • cin方法的调用将返回false(意味着可以用非数字输入结束数字循环)
    Tips:
cin << fish[i]

以上为一个cin的方法函数调用,此函数的返回值是cin对象。当此语句处于判断条件中时,则自动转化为bool类型。当输入成功则返回true,失败则返回false。所以可以用该语句来为循环充当test-expression。

6.8 简单文件输入输出

文件输出步骤

  1. 包含头文件fstream
  2. 创建一个ofstream对象
  3. 将ofstream对象用open()方法与文件关联
  4. 如cout一般使用ofstream对象

程序清单6.15 知识点

cout << fixed //使用小数计数法进行输出,否则double类型会自动使用科学技术法计数
cout.precision(val);//小数后精确到几位
cout.setf(ios_base::showpoint);//当不使用此函数前,小数末尾的零是不会输出的。只有加上showpoint才会将末尾零输出

另外的注意点,如果不适用fixed,直接用precision,就是输出相应的有效位数,而不是保留小数。

读取文件部分与输出大同小异

细节点:
1.判断文件是否打开使用is_open()方法,打开则返回true,失败则返回false;

2.判断文件末尾的方法与cin相同,不过把cin换成ifstream对象名。其中对象名.good()方法可以判断是否到eof。对象名.eof()方法也可判断是否到达eof。

你可能感兴趣的:(学习笔记)