长安的花

当学问走过漫漫古道
凿刻入千窟,心也从愚昧中苏醒

0%

c++学习02-cout用法小结(持续更新)

对cout进行一些小结

cout.precision()

计算一个数开根号后,精确到几位数

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
#include <iostream>
#include <math.h>

using namespace std;

int main()
{
double result = sqrt(3.0);

cout << "sqrt 3 keep the last num: \n" << endl;

for( int i=0; i <= 9; i++ )
{
cout.precision(i);
cout << result << endl;
}

cout << "the acc is: " << cout.precision() << endl;

return 0;
}

sqrt 3 keep the last num:

2
2
1.7
1.73
1.732
1.7321
1.73205
1.732051
1.7320508
1.73205081
the acc is: 9

cout.width()

a、控制符int width()将用来调整字段的宽度,因为width是成员函数,所以要通过对象来调用,比如cout.width()将显示当前的字段宽度,默认为0,而cout.width(3)将把字段宽度设定为3。
注意C++容纳字段的方式为给字段分配刚好合适的宽度来容纳字段,所以C++中默认的字段宽度为0,以适合于所有的字段。
b、width的默认对齐方式为右对齐,即如果cout.width(12)如果字段没有这么宽,则将在字段的左边填以空格来达到12个字段的宽度。
c、还要注意的是width只影响他设置后的下一个输出,再下一个字段输出后,后继的字段被恢复为默认值,比如cout.width(12); cout<<2<<3;则输出2时会以12字段的宽度显示,但显示3时就会以默认的方式显示了。
d、int width()调用他时将会反回上一次的字段宽度的值。

cout.fill():

成员函数fill()可以用来改变填充的字符,比如cout.fill(‘‘),使用填充空白部分。

但是千万要注意:fill函数在设置后将一直有效,除非被重新设定。这一点与width()十分不同。width只影响他设置后的下一个输出,再下一个字段输出后,后继的字段被恢复为默认值0.

而且cout.fill(‘‘)会返回设置’‘之前的fill字符’ ‘ 所以如果用cout<<cout.fill(‘*’)就会输出这个空格

所以下面这个程序的输出结果是:

123456789
* 123 //(注意星号和数字之间还有一个空格)

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
#include <iostream>

using namespace std;

void main()

{

cout<<"123456789"<<endl;

cout.width(8);

cout<<cout.fill('*')<<123<<endl;

}
如果觉得我的文章对您有用,请随意打赏。您的支持将鼓励我继续创作!

欢迎关注我的其它发布渠道