您的位置:

C++语言输出函数cout的使用方法

一、基本语法

cout是C++中的输出函数,在iostream头文件中定义。cout可以输出所有基本数据类型、字符串、以及自定义类型等信息。

cout的基本语法如下:

#include 
using namespace std;
int main()
{
    cout << "Hello World!" << endl;
    return 0;
}

  

上述代码会输出 "Hello World!" 的信息。其中,<< 表示数据流操作符,注意要用 << 将要输出的信息紧贴着 cout 一起写入。endl表示换行符,可以实现信息的换行输出。

除此之外,cout还支持对数据进行格式化输出。例如:

cout << "整数:" << 12 << endl;
cout << "小数:" << 3.1415926 << endl;
cout << "字符:" << 'A' << endl;
cout << "字符串:" << "Hello World!" << endl;

上述代码会按照相应格式输出不同类型的数据。

二、流控制方式

C++中的流控制方式有两种:操纵符方式和格式化控制方式。

1、操纵符方式

操纵符是用来控制输出流的标志,例如endl和setw()等。endl前面已经讲过,setw()用于控制输出整型、浮点型等宽度。

#include 
using namespace std;
int main()
{
    int a = 12;
    float b = 3.1415926;
    cout << setw(10) << a << endl;
    cout << setw(10) << b << endl;
    return 0;
}

  

上述代码中,setw(10)用于设置输出的宽度为10,如果输出的内容宽度不足10,会在左边补空格。

2、格式化控制方式

格式化控制方式是用于控制输出流中数据的显示格式的,例如fixed表示以小数形式输出,setprecision()表示控制浮点型输出的位数,width()表示输出字符宽度等。

#include 
using namespace std;
int main()
{
    double c = 3.1415926;
    cout << fixed << setprecision(2) << c << endl;
    cout.width(10);
    cout.fill('*');
    cout << c << endl;
    return 0;
}

  

上述代码中,fixed和setprecision(2)用于保留2位小数输出,width(10)用于输出宽度为10,fill('*')用于在输出内容不够宽度时,用 * 填充。

三、输出自定义类型

可以使用cout输出自定义类型的内容,但需要定义输出运算符 "<<"。例如:

#include 
using namespace std;
class Complex {
public:
    Complex(double r = 0, double i = 0): real(r), imag(i) {}
    friend ostream &operator<<(ostream &os, Complex &c);
private:
    double real;   // 实部
    double imag;   // 虚部
};
ostream &operator<<(ostream &os, Complex &c)
{
    os << c.real << "+" << c.imag << "i";
    return os;
}
int main()
{
    Complex c(3.0,4.0);
    cout << c << endl;  // 输出 3+4i
    return 0;
}

  

Complex类中定义了输出运算符 "<<",使得cout能够正确输出该类的对象。