控制台输入/输出

cincout,类似与C语言中的scanf()printf()

cin

>>结合使用,用于读入用户输入,以空白(包括空格,回车,Tab)为分隔符,下面是一串示例代码

1
2
3
4
5
6
7
8
9
//输入单个变量时,cin会将其分别赋值
char c1,c2;
cin>>c1;
cin>>c2;

//输入多个变量时,cin会将其逐个赋值
string s;
float f;
cin>>s>>f;

cout

<<结合使用,用于向控制台输出信息,可以将数据重定向输出到磁盘文件,下面是一串示例代码

1
2
3
4
5
6
7
8
9
10
11
//cout输出常量
cout<<10<<endl;
cout<<'a'<<endl;
cout<<"C++"<<endl;
//cout输出变量
int a=10;
cout<<a<<endl;//输出单个变量
int a=10;
char *str = "abc";
cout<<a<<","<<str<<endl;//输出多个变量
//其中<<会根据变量的数据类型自动匹配

如何输出一些指定格式的数据,C++提供了一个标志位和操作符控制格式的头文件iomanip,下面是一些常见的输出格式控制

1
2
3
4
5
6
7
8
int a=10;
cout<<"oct:"<<oct<<a<<endl;//以八进制输出a
cout<<"dec:"<<dec<<a<<endl;//以十进制输出a
cout<<"hex:"<<hex<<a<<endl;//以十六进制输出a

double f=3.1415926;
cout<<"默认输出:"<<f<<endl;
cout<<"精度控制"<<setprecision(7)<<setiosflags(ios::fixed)<<f<<endl;
1
2
3
4
5
6
7
8
9
10
11
#include <iostream>
#include <iomanip>
using namespace std;
int main()
{
cout<<setw(10)<<3.1415<<endl;
cout<<setw(10)<<setfill('0')<<3.1415<<endl;
cout<<setw(10)<<setfill('0')<<setiosflags(ios:left)<<3.1415<<endl;//向左靠拢对齐并在右边补充字符‘0’
cout<<setw(10)<<setfill('-')<<setiosflags(ios:left)<<3.1415<<endl;//向又靠拢对其并在左边补充字符‘-’
return 0;
}

典例

要求:输入一个整数,输出其8进制值、10进制值、16进制值。
8进制值加前缀0
16进制值加前缀0x

1
2
3
4
5
6
7
8
9
10
11
12
13
14
#include<iostream>
#include<iomanip>
using namespace std;

int main()
{
int x;
cin>>x;
cout<<showbase
<<oct<<x<<' '
<<dec<<x<<' '
<<hex<<x<<endl;
//showbase用于设置 str 流的 showbase 格式标志。 当设置了 showbase 格式标志时,插入输出流的数字整数值的前缀与 C++ 文字常量使用的前缀相同:0x 表示十六进制值(参见 hex),0 表示八进制值(参见 oct),没有前缀表示十进制- 基值(见 dec)
}

要求:输入5个小数,分别用左对齐,内部对齐,右对齐方式输出,宽度为10,保留2位小数,用””隔开。

样例输入 

12.234 -655.456 -45.5 -45 6

样例输出 

12.23 12.23 12.23
-655.46 - 655.46 -655.46
-45.50 - 45.50 -45.50
-45.00 - 45.00 -45.00
6.00 6.00 6.00

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
#include <iostream>
#include <iomanip>
using namespace std;
int main()
{
double x;
int c=5;
while(c--)
{
cin>>x;
cout << setprecision(2) << fixed;
cout << setw(10) << left << x <<""
<< setw(10) << internal << x <<""
<< setw(10)<< right << x << endl;
}
return 0;
}

控制台输入/输出
https://niaoluo.top/2023/05/03/学习相关/C++/控制台输入-输出/
作者
熙恩
发布于
2023年5月3日
许可协议