cout是什么
1
cout是标准输出对象,对应stdout。
cout涉及到的头文件
2
: 将标准的输入输出封装到std命名空间里。
:定义了标准输入输出的控制方法,如控制精度等操作。
:定义标准输入输出的格式状态,如将标准输出格式化为 十六进制,对应的cout对象某个状态位被设置。
<< 符号
3
"<
实验
4
4.1 输出字符串和数字
#include
using namespace std;
int main(){
int val = 20;
cout <"hello word" <" " <endl;
return 0;
}
输出结果
4.2 十进制、十六进制、八进制输出
#include
using namespace std;
int main(){
int val = 20;
cout <endl;
cout <"0x" <endl;
cout <"0" <endl;
return 0;
}
输出结果
4.3 setfill和setw用法
setfill是填充字符c,怎么填充呢?看例子。
#include
#include
using namespace std;
int main(){
int val = 20;
cout <'x') <endl;
return 0;
}
实验结果
啥都没有输出....
仔细分析一下,它这个填充是填充空余的位置,而setfill只是告诉cout,有空出来的位置,就填上'x'。所以,接下来要做的事情是想办法空出一大段的空间出来。
setw函数可以干这事情。它是用来设置位宽。再看下列例子。
#include
#include
using namespace std;
int main(){
int val = 20;
cout <'x') <10) <endl;
return 0;
}
实验结果
设置的字宽是10,输出变量是val,val只占用了2位,而剩余的位宽给'x'填充。
4.4 setprecision(n)用法
设置浮点数的精度为n位。
#include
#include
using namespace std;
int main(){
double val = 20.1234567;
cout <5) <endl;
return 0;
}
实验结果
可以看出,它的精度不是从小数点算起,而是从左往右算起。
4.5 setiosflags()用法
设置输入输出流的状态。
参数:
▲ios::fixed:设置浮点数以固定的小数位数显示
▲ios::scientific:设置浮点数以科学记数法(即指数形式)显示
▲ios::left:输出数据左对齐
▲ios::right:输出数据右对齐
▲ios::skipws:忽略前导的空格
▲ios::uppercase:数据以十六进制形式输出时字母以大写表示
▲ios::lowercase:数据以十六进制形式输出时宇母以小写表示
▲ios::showpos:输出正数时给出“+”号
ios::fixed测试
#include
#include
using namespace std;
int main() {
double val = 20.123456;
cout < cout <5) <endl;
return 0;
}
输出结果:20.12346
表明ios::fixed设置后,精度是从小数点开始。
ios::scientific测试
double val = 20.123456;
cout <cout <endl;
输出结果:2.012346e+01
ios::left测试
double val = 20.123456;
cout <10) <'x');
cout <endl;
左对齐 + 10位字宽 + 填充'x'
输出结果:20.1235xxx
ios::uppercase
int val = 1000;
cout <cout <endl;
输出结果:3E8
4.6 取消设置的格式 unself
#include
#include
using namespace std;
int main() {
int val = 1000;
cout < cout <endl;
cout.unsetf(ios::uppercase);
cout <endl;
return 0;
}
数据以十六进制形式输出时字母以大写表示,再取消大写输出,回到默认状态。
输出结果:
3E8
3e8
最后
5
cout本质是将你的内容写入标准输入缓冲区,这个缓冲区的内容与控制台(小黑窗)或者其他文件关联。
cout常用在程序调试阶段。