一、基本输出
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语句,以及对其输出格式进行控制的方法。此外,还介绍了自定义格式化输出的方法。在实际开发中,根据需求选择合适的输出方式可以提高程序的可读性和运行效率。
原创文章,作者:小蓝,如若转载,请注明出处:https://www.506064.com/n/286116.html
 
 微信扫一扫
微信扫一扫  支付宝扫一扫
支付宝扫一扫 