一、插入符 << 与 cout
<< 是预定义的插入运算符,作用在流类对象 cout 上,用于实现标准屏幕输出。
基本格式:
cout << 表达式1 << 表达式2 << … ;
可以串联多个插入运算符,一次输出多个数据项。插入运算符后面可以写任意复杂的表达式,系统会先计算表达式的值,再将结果输出。
示例:
cout << "hello!\n";
cout << "a+b=" << a + b;Code language: JavaScript (javascript)
多个数据项可以串联输出:
int a = 456;
cout << "www.xxxxxxx.cn\n" << 123 << "\n" << a << a + 13;
cout << "\n";
float b = 14.4;
cout << "a + b = " << a + b;Code language: JavaScript (javascript)
分析:上述代码中,字符串、整数常量、变量、算术表达式混合串联输出,cout 会按从左到右的顺序依次计算并输出每个表达式的值。
二、提取符 >> 与 cin
是预定义的提取运算符,作用在流类对象 cin 上,用于实现标准键盘输入。
基本格式:
cin >> 表达式1 >> 表达式2 >> … ;
在输入语句中,提取符可以连续写多个,每个后面跟着一个用于存放输入值的变量。
示例:
int a, b;
cin >> a >> b;
要求从键盘输入两个 int 型整数,两个数之间以空格、Tab 或回车分隔,回车表示输入结束。
输入完成后,可以将结果输出:
cout << a << "\n" << b;Code language: JavaScript (javascript)
三、代码示例
以下代码演示了 cout 和 cin 的综合使用:
#include <iostream>
using namespace std;
int main()
{
// cout 输出字符串和表达式
cout << "hello!\n";
int a = 456;
cout << "www.xxxxxxx.cn\n" << 123 << "\n" << a << a + 13;
cout << "\n";
float b = 14.4;
cout << "a + b = " << a + b << endl;
// cin 输入多个数据
int x, y;
cout << "Please enter two integers: ";
cin >> x >> y;
cout << "x = " << x << "\n" << "y = " << y << endl;
// 连续输入并输出
int m, n;
cin >> m >> n;
cout << m << "\n" << n;
return 0;
}Code language: PHP (php)
四、注意事项
- cout 的 << 运算符可以串联任意多个表达式,每个表达式可以是常量、变量、算术表达式、字符串等。
- cin 的 >> 运算符后面必须跟变量,不能跟常量或表达式。
- 输入多个数据时,数据之间用空白字符(空格、Tab、回车)分隔。
- cin 遇到非法输入(如类型不匹配)时,会设置 fail 状态,后续输入将失败,需使用 cin.clear() 恢复。
- cout 输出 bool 类型时,默认输出 1(true)或 0(false),可通过 boolalpha 操纵符改为输出 true/false。
- 字符串输出时,\n 和 endl 都可以换行,但 endl 会额外刷新缓冲区。
五、小结
- << 是插入运算符,作用于 cout 实现屏幕输出,可串联多个表达式。
- 是提取运算符,作用于 cin 实现键盘输入,可连续读取多个变量。
- cout 先求值后输出,cin 从键盘读取数据存入变量。
- 输入数据之间用空白分隔,回车结束输入。
- 后续章节将介绍格式化输出和更多 I/O 流操纵符。
Previous: 数据的输入与输出
Next: if语句实现选择结构