数据的输入和输出

I/O流

在C++,将数据从一个对象到另一个对象的流动抽象为“流”。cin和cout是预定义的流类对象,cin用来处理标准输入,即键盘输入,cout用来处理标准输出,即屏幕输出。


预定义的插入符和提取符

“<<”是预定义的插入符,作用在流类对象cout上便可以实现最一般的屏幕输出。

“>>”是提取符,作用在流类对象cin上便可以实现最一般的键盘输入。


常用的I/O流类库操纵符

操纵符名 含义
dec 数值数据采用十进制表示
hex 数值数据采用十六进制表示
oct 数值数据采用八进制表示
ws 提取空白符
endl 插入换行符,并且更新流
setsprecision(int) 设置浮点数的小数位数(包括小数点)
setw(int) 设置域宽

if-else语句

首先是else的配对方式是与向上找同层的if配对.
例如:

1
2
3
4
5
6
if()
if()
else()
else
if()
else()

这样是可行的因为else都有配对的,但是缩进并不能代表结构,严格来说应该用{}来区分不同的嵌套。仅供区分不同的结构


反例

1
2
3
if()
if()
else

这样的话else和带有缩进的if配对。


typedef声明

typedef 已有类型名 新类型名表

例如:

1
2
3
4
5
typedef double Area,Volume;
typedef int Natural;
Natural i1,i2;
Area a;
Volume v;

除typedef外另一种自定义类型using

using 新类型名 = 已有类型名

例如:

1
2
using Area = double;
using Volume = double;

auto类型和decltype类型

auto:编译器通过初始值自动判断变量的类型
decltype:定义一个变量与某一表达式的类型相同,但并不用该表达式初始化变量
例如:decltype(i) j = 2;让j和i有同样的类型,但是并不用2来初始化j。