预定义的插入符cout和提取符cin

一、插入符 << 与 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 流操纵符。

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注