📜  C++ 程序的输出 |设置 40(1)

📅  最后修改于: 2023-12-03 15:14:01.332000             🧑  作者: Mango

C++ 程序的输出 |设置 40

在 C++ 中,我们经常需要控制程序的输出,在不同的情况下,需要输出不同的信息以及不同的格式。在这篇文章中,我们将介绍如何通过 C++ 的输出流控制程序的输出,以及如何设置输出的格式。

控制输出流

在 C++ 中,标准输出流被定义为 std::cout,它是一个对象,用于输出数据到屏幕上。我们可以通过一些方法来调整输出的格式:

  • std::endl:输出换行符,并刷新缓冲区。
  • std::setw():用于设置字段的宽度,例如 std::cout << std::setw(6) << 42; 将输出 __42(共 6 个字符,首位用下划线填充)。
  • std::setprecision():用于设置操作数的精度,例如 std::cout << std::setprecision(3) << 3.1415926; 将输出 3.14
  • std::fixed:用于表示浮点数输出时按照定点数位输出,例如:std::cout << std::fixed << 100.123;,输出结果为:100.123000
  • std::scientific:用于表示浮点数输出时按照科学计数法输出,例如:std::cout << std::scientific << 100.123;,输出结果为:1.001230e+02
设置输出宽度

使用 std::setw() 函数可以设置输出的字段宽度。例如:

std::cout << std::setw(10) << "Hello";
std::cout << std::setw(10) << "Bingchun";

输出结果:

     Hello
  Bingchun

在上述代码中,我们首先使用 std::setw(10) 函数设置输出宽度为 10 个字符。这样输出时,如果当前输出内容的长度小于 10,那么就会在前面填充空格,直至输出内容的长度为 10。

设置浮点数精度

使用 std::setprecision() 函数可以设置输出浮点数的精度。例如:

std::cout << std::setprecision(3) << 3.1415926;

输出结果:

3.14

在上述代码中,我们设置输出的浮点数精度为 3,因此输出时只显示浮点数的前三位小数。

设置输出格式

使用 std::fixedstd::scientific 函数可以设置浮点数的输出格式。

如果使用 std::fixed 函数,那么浮点数会按照定点数位输出。例如:

std::cout << std::fixed << 100.123;

输出结果:

100.123000

如果使用 std::scientific 函数,那么浮点数会按照科学计数法输出。例如:

std::cout << std::scientific << 100.123;

输出结果:

1.001230e+02

在上述代码中,我们首先设置了浮点数的输出格式为 std::fixed,然后输出了一个浮点数。接着,我们又设置了浮点数的输出格式为 std::scientific,然后再次输出了同样的浮点数。可以看到,两次输出的结果是不同的:第一次输出时按照定点数位输出,第二次输出时按照科学计数法输出。