程序需要和用户交流。最基础的交流方式就是输出(output)信息,以及从键盘读取输入(input)。
cout
cout 用于向屏幕输出文本或变量值;需要换行时,在输出表达式末尾接 << endl。
有些字符在程序中有特殊意义,需要使用转义字符(escape character)输出。
\\:反斜杠\':单引号\":双引号\n:换行\t:制表符
cout << "\"Hello" << endl;
cout << "World\"" << endl;运行结果:
"Hello
World"知识测验
题目
哪一项可以结束当前输出行并换行?
格式化输出
使用 fixed 和 setprecision() 可以控制浮点数的小数位数,再用 cout 依次拼接文本与变量。
fixed:使用固定小数格式setprecision(2):保留两位小数<<:按顺序拼接文本与变量
cout << fixed << setprecision(2)
<< "面积:" << length << " * " << width << " = " << area << endl;运行结果:
面积:10 * 5 = 50.00fixed << setprecision(2) 表示使用固定小数格式并保留两位小数。
#include <iomanip>
#include <iostream>
using namespace std;
int main() {
int length = 10;
int width = 5;
double area = length * width;
cout << fixed << setprecision(2) << "面积:" << length << " * " << width << " = " << area << endl;
return 0;
}知识测验
题目
如果 area = 50,哪条语句会显示两位小数?
控制输出结尾
cout 本身不会自动换行,因此可以连续拼接输出;需要结束当前行时再接 << endl。
int num1 = 1;
int num2 = 2;
int num3 = 4;
int num4 = 8;
cout << num1 << ", ";
cout << num2 << ", ";
cout << num3 << ", ";
cout << num4 << "..." << endl;运行结果:
1, 2, 4, 8...cin 输入
cin 使用提取运算符 >> 从标准输入读取值,目标变量的类型决定解析方式。
cin >> word 可把一个文本记号保存到 string;读取整型或浮点数时,把目标变量声明为 int 或 double。
#include <cmath>
#include <iomanip>
#include <iostream>
using namespace std;
int main() {
cout << "半径:" << endl;
double r;
cin >> r;
double area = 3.141592653589793 * pow(r, 2);
cout << fixed << setprecision(2) << "面积:" << area << endl;
return 0;
}一次可能的运行过程:
半径:5
面积:78.54这里 cin 直接读取 double 值;3.141592653589793 是示例中直接写出的圆周率近似值。
知识测验
题目
cin >> word 中,word 声明为什么类型可保存一个文本记号?
互动实验
输出实验台
访问权限免费
依次点击三张代码卡,观察每条语句如何改变终端输出。
动手练习
计算两点之间的距离
读取两个坐标点,输出平面距离。
- 分别读取 x1、y1、x2、y2 四个浮点数。
- 按照距离公式计算两点距离。
- 把结果保留两位小数后输出。
动手练习
制作一个温度记录卡
读取一个摄氏温度,把它保存到语义清晰的变量里,计算华氏温度后再输出一份简洁报告。
- 用 cin 读取一个摄氏温度。
- 把华氏温度保存到变量 fahrenheit 中。
- 再创建一个字符串变量 reportTitle,并把标题与换算结果一起输出。