1. 输入输出流
<< 和 >> 接受两个运算符。左侧 必须是某个iostream对象,右侧 是要打印的值。
a. 使用 iostrean 对象作为判别语句的判断条件时,其效果是检测 流 的状态,遇到文件结束符 或者 无效输入(输入值的类型与所需要的类型不符)。流的状态变为无效,其结果就是使得判断条件为假。
b. >> 或 << 返回左侧运算对象作为其运算结果。std::cin >> a >> b; <==> std::cin >> a ; std::cin >> b;
2. 求模和求余
a对b求余和求模:
当a b 符号相同时,两种运算的结果是相同的。
当ab 符号不同时:
先计算a/b的值,这个商(设为k)肯定是个负值(这里仅仅考虑k不为整数的情况,因为当k为整数时,两种运算的结果是一样的),取余运算与取模运算的区别就在怎么取这个商,简单说就是取余运算往右(靠近坐标零点的方向去取离k最近的整数),取 模运算往左(往负无穷大方向取离k最近的整数),然后在计算( a - b * k ),即为各自的值。
举例:unsigned char a = -1; // a 的值为多少呢
int a = -1 ; unsigned int b = 1; cout << a * b; // 结果是多少呢
3. const int &i = 0;
const 引用的初始化 可以是 (符合要求的)表达式、变量、字面值或常量。