C++入门——60s从0到1
标准输入流
在C++中,标准输入流是用于从用户获取输入的一种输入输出方式。标准输入流使用标准库中的`iostream`头文件来实现,其中`cin`对象是标准输入流的一种,用于从键盘读取用户输入的数据。在这篇文章中,我们将详细讲解C++标准输入流的用法和技巧。
读取基本数据类型
在C++中,可以使用`cin`对象来读取各种基本数据类型的输入,如整数、浮点数、字符和布尔值等。下面是一些示例代码:
#include <iostream> using namespace std; int main() { // 读取整数 int x; cout << "请输入一个整数:" << endl; cin >> x; cout << "你输入的整数是:" << x << endl; // 读取浮点数 float y; cout << "请输入一个浮点数:" << endl; cin >> y; cout << "你输入的浮点数是:" << y << endl; // 读取字符 char z; cout << "请输入一个字符:" << endl; cin >> z; cout << "你输入的字符是:" << z << endl; // 读取布尔值 bool flag; cout << "请输入一个布尔值:" << endl; cin >> flag; cout << "你输入的布尔值是:" << boolalpha << flag << endl; return 0; }
在这个例子中,程序使用了`cin`对象来读取不同类型的用户输入。需要注意的是,在读取字符时,需要使用单引号将字符括起来。在读取布尔值时,使用了`boolalpha`流控制符来将布尔值以文字形式输出到屏幕上。
格式化输入
在实际应用中,我们通常需要对用户输入的内容进行格式化处理。在C++中,可以使用各种运算符和格式化字符串来实现格式化输入。下面是一些示例代码:
#include <iostream> using namespace std; int main() { // 读取带千分位分隔符的整数 int x; cout << "请输入一个带千分位分隔符的整数:" << endl; cin.width(7); // 设置宽度 cin >> setfill('0') >> x; // 使用setfill和setw设置填充字符和宽度 cout << "你输入的整数是:" << x << endl; // 读取固定小数点宽度的浮点数 float y; cout << "请输入一个固定小数点宽度的浮点数:" << endl; cin.precision(2); // 设置精度 cin >> fixed >> y; // 使用fixed和setprecision设置固定小数点宽度和精度 cout << "你输入的浮点数是:" << y << endl; // 读取对齐的多个数据项 int a, b, c; cout << "请依次输入三个整数:" << endl; cin.width(10); // 设置宽度 cin >> a >> b >> c; // 从左到右依次读取三个数据项 cout << a << " " << b << " " << c << endl; // 使用空格进行对齐输出 return 0; }
在这个例子中,程序使用了各种运算符和格式化字符串来实现不同的格式化输入效果。需要注意的是,在使用`width`和`precision`设置宽度和精度时,需要同时使用它们才能生效。在使用左对齐和其他对齐方式时,需要使用`left`、`right`等流控制符来指定对齐方式。