一、基本输出
C++中,用于将输出打印到标准输出的语句是cout
,其在iostream
头文件中定义。以下是一个简单的例子:
#include <iostream> using namespace std; int main() { int num = 123; cout << num << endl; return 0; }
此程序将输出123,并加上一个换行符endl
。其中,小于小于符号<<
用于输出。
除了整型外,cout
还支持输出各种数据类型,如字符型、实型和字符串。例如:
char ch = 'a'; cout << ch << endl; double pi = 3.14159; cout << pi << endl; string str = "Hello, world!"; cout << str << endl;
上述程序分别会输出a、3.14159和Hello, world!。需要注意的是,在输出字符串时,需要使用string
类型。
二、格式控制
在输出数据时,有时需要对数字进行格式控制,例如指定宽度、小数点位数、对齐方式等。C++标准库中提供了一些控制输出格式的函数。以下是常用的一些函数:
setw(int n)
:设置下次输出的宽度为n
,宽度不足时自动补齐空格。setprecision(int n)
:设置输出实数的小数位数为n
,四舍五入。setiosflags(ios::left/right/internal/showpos/noshowpos)
:设置输出左对齐/右对齐/内部对齐/在正数前显示+号/不在正数前显示+号。
以下是一个使用格式控制函数的例子:
#include <iomanip> using namespace std; int main() { double pi = 3.14159; cout << setw(10) << setprecision(3) << fixed << pi << endl; // 输出宽度为10,小数点后保留3位,对齐方式为左对齐,固定小数点位数 cout << setw(10) << setiosflags(ios::right) << 123 << endl; // 输出宽度为10,对齐方式为右对齐 return 0; }
此程序将输出以下内容:
3.142 123
三、自定义格式化输出
在上述方法无法满足需求时,可以通过自定义格式化输出来实现更精确的控制。自定义格式化输出的基本思路是:
- 定义一个自定义类型,重载输出运算符
<<
- 在输出运算符中实现自定义的输出格式
以下是自定义格式化输出的一个例子:
#include <iostream> using namespace std; class Square { public: Square(int side) : m_side(side) {} friend ostream& operator<<(ostream& os, const Square& square) { int i, j; for (i = 1; i <= square.m_side; i++) { for (j = 1; j <= square.m_side; j++) { os << "# "; } os << endl; } return os; } private: int m_side; }; int main() { Square square(5); cout << square << endl; return 0; }
此程序将输出以下内容:
# # # # # # # # # # # # # # # # # # # # # # # # #
其中,Square
类定义了一个参数为正方形边长的构造函数。在输出运算符中,使用两层循环打印#
字符。在main
函数中,创建了一个边长为5的正方形对象,并输出了其内容。
四、总结
本文介绍了C++标准中用于输出的cout
语句,以及对其输出格式进行控制的方法。此外,还介绍了自定义格式化输出的方法。在实际开发中,根据需求选择合适的输出方式可以提高程序的可读性和运行效率。