cin和cout是C++中最基本的输入输出工具,让我们能够与用户进行交互。

简单来说:cout用于输出信息到屏幕,cin用于从键盘获取输入。

1. 基础概念

cin - 输入

作用: 从键盘读取用户输入

方向: 从键盘 → 程序变量

符号: >> (流向变量)

示例: cin >> age;

cout - 输出

作用: 向屏幕显示信息

方向: 程序 → 屏幕

符号: << (流向屏幕)

示例: cout << "Hello";

记忆技巧

把数据流动想象成水流:

cout << - 数据从程序"流"向屏幕

cin >> - 数据从键盘"流"向程序

2. 基本用法

cout 输出示例

#include<iostream>
using namespace std;
int main() {
// 输出字符串
cout << "欢迎学习C++!";
// 输出变量
int score = 95;
cout << "你的分数是:" << score;
// 换行输出
cout << "第一行" << endl;
cout << "第二行";
return 0;
}
运行结果:

欢迎学习C++!你的分数是:95第一行

第二行

cin 输入示例

#include<iostream>
using namespace std;
int main() {
int age;
string name;
// 获取用户输入
cout << "请输入你的名字: ";
cin >> name;
cout << "请输入你的年龄: ";
cin >> age;
// 输出结果
cout << "你好, " << name << "! 你今年" << age << "岁。" << endl;
return 0;
}
运行示例:

请输入你的名字: 小明

请输入你的年龄: 16

你好, 小明! 你今年16岁。

3. 重要技巧

endl 和换行符

两者都可以用来换行,但有细微差别:

cout << "使用endl换行" << endl;
cout << "使用换行符\n换行";
区别:

endl - 换行并刷新输出缓冲区(立即显示)

\n - 只换行,不刷新缓冲区

对于初学者来说,效果基本相同,可以按喜好使用。

连续输入输出

可以连续使用 << 或 >>:

// 连续输出
cout << "姓名: " << name << ", 年龄: " << age << endl;
// 连续输入
cin >> name >> age;

4. 常见问题

问题1:cin遇到空格怎么办?

cin使用空格、制表符或换行符作为分隔符。如果要输入包含空格的字符串(如完整姓名),请使用 getline(cin, 变量名)

问题2:需要包含什么头文件?

使用cin和cout需要包含 <iostream> 头文件,并使用 using namespace std; 或使用 std::cin 和 std::cout。

问题3:箭头方向总是搞反?

记住这个口诀:"数据流向尖尖指的方向"

cout << - 数据流向屏幕(尖尖指向屏幕)

cin >> - 数据流向程序(尖尖指向程序)

动手练习

尝试编写一个程序,要求用户输入姓名、年龄和喜欢的颜色,然后输出完整的自我介绍。

示例:

输入:张三 18 蓝色

输出:你好,我叫张三,今年18岁,我最喜欢的颜色是蓝色!

题目 对/错/率 难度 记录 通过
姓名 分数 提交时间 操作