您的位置:

c++ printf函数用法详解

一、printf用法

printf函数是C语言的标准库函数,主要用于输出字符或者字符串。在C++中,printf仍然可以使用,但是最好使用C++的流式输出语句cout,因为cout更加类型安全、可读性更强。

printf函数的一般语法如下:

    int printf(const char *format, ...)

其中,第一个参数format是一个字符串,用于给出待输出的格式。后面的参数则是一个变长参数列表,用于依次填充format字符串中的格式符。

常用的格式符如下:

  • %d:输出整型数据
  • %f:输出单精度浮点型数据
  • %s:输出字符串
  • %c:输出一个字符
  • %%:输出一个百分号

以下代码是一个简单的printf用法示例:

    int number = 10;
    printf("The number is %d", number);

以上代码执行的结果是:The number is 10

二、cprintf用法

cprintf函数是Turbo C/C++中的一个特有函数,它与printf的功能相同,但是支持颜色控制。

语法如下:

    void cprintf(const char *format, ...)

其中,format和可变参数列表的含义与printf相同。cprintf支持使用控制字符来控制输出的颜色,常用的控制字符如下:

  • \e[1m:高亮显示
  • \e[0m:关闭所有属性
  • \e[31m:红色前景色
  • \e[32m:绿色前景色
  • \e[33m:黄色前景色
  • \e[34m:蓝色前景色
  • \e[35m:洋红前景色
  • \e[36m:青色前景色
  • \e[37m:白色前景色
  • \e[41m:红色背景色
  • \e[42m:绿色背景色
  • \e[43m:黄色背景色
  • \e[44m:蓝色背景色
  • \e[45m:洋红背景色
  • \e[46m:青色背景色
  • \e[47m:白色背景色

以下是一个cprintf用法的示例代码:

    cprintf("\e[31mThis text is in red color!\e[0m");

以上代码执行结果是:This text is in red color!

三、printf用法举例

下面我们来看一些printf用法的实际例子:

1. 输出整型数据

以下代码输出了一个整型变量num的值:

    int num = 100;
    printf("The value of num is %d", num);

以上代码执行结果是:The value of num is 100

2. 输出单精度浮点型数据

以下代码输出了一个单精度浮点型变量f的值:

    float f = 1.23f;
    printf("The value of f is %f", f);

以上代码执行结果是:The value of f is 1.230000

3. 输出字符串

以下代码输出了一个字符串hello world:

    printf("hello world");

以上代码执行结果是:hello world

4. 输出一个字符

以下代码输出了字符'A':

    printf("%c", 'A');

以上代码执行结果是:A

5. 输出一个百分号

以下代码输出了一个百分号:

    printf("%%");

以上代码执行结果是:%

四、c++ printf用法

在C++中,使用printf并不是最优的选择。C++11中引入了一种新的流式输出语句cout,既可以输出基本数据类型,也可以输出字符串等复杂类型的数据。

以下是一个cout的示例代码:
    #include 
    using namespace std;
    
    int main() {
        int num = 100;
        cout << "The value of num is " << num << endl;
        return 0;
    }

  

以上代码执行结果是:The value of num is 100

五、c语言printf用法例子

下面我们再看一些实际的printf用法例子:

1. 格式化输出

以下代码使用了格式化输出的方法,将整型变量num的值输出到控制台:

    int num = 50;
    printf("The value of num is %d", num);  

输出结果为:The value of num is 50

2. 输出浮点数

以下代码输出了一个浮点型变量f的值:

    float f = 3.1415;
    printf("The value of f is %f", f);

输出结果为:The value of f is 3.141500

3. 控制输出精度

以下代码控制了浮点数的输出精度,只输出小数点后两位:

    float pi = 3.1415926f;
    printf("%.2f", pi);

输出结果为:3.14

六、printf函数的用法

在C++中,printf函数的用法和C语言是一样的,格式化字符串中的格式符取决于要输出的数据类型。

1. 输出无符号整型数据

以下代码输出了一个无符号整型变量的值:

    unsigned int x = 10;
    printf("The value of x is %u", x);

结果输出为:The value of x is 10

2. 输出十六进制数据

以下代码输出了一个十六进制数:

    int num = 0x12AF;
    printf("The value of num is %X", num);

结果输出为:The value of num is 12AF

3. 输出八进制数据

以下代码输出了一个八进制数:

    int num = 0173;
    printf("The value of num is %o", num);

结果输出为:The value of num is 173

七、c语言printf的用法

最后,我们来看一些c语言printf的用法举例。

1. 字符串拼接

以下代码将两个字符串拼接成一个字符串并输出:

    char str1[] = "hello";
    char str2[] = "world";
    printf("%s %s!", str1, str2);

输出结果为:hello world!

2. 输出指针地址

以下代码输出了指针变量p的地址:

    int x = 100;
    int *p = &x;
    printf("The address of x is %p", p);

输出结果为:The address of x is 004FFAB0(地址会因计算机而异)

3. 输出字符数组

以下代码输出了字符数组str的内容:

    char str[] = "hello world";
    printf("%s", str);

输出结果为:hello world

八、scanf与printf用法详解

scanf和printf是C语言和C++中最常用的输入输出函数,下面简单介绍一下它们的用法。

1. scanf用法

scanf用于从标准输入流stdin中读取数据。

    int age;
    scanf("%d", &age);

以上代码将读取用户输入的整数,并将其存储到整型变量age中。

2. printf用法

printf用于向标准输出流stdout中输出数据。

    int num = 100;
    printf("The value of num is %d", num);

以上代码将输出:The value of num is 100。

3. scanf与printf结合使用

以下代码演示了如何使用scanf和printf结合完成输入输出操作:

    int age;
    printf("Please enter your age: ");
    scanf("%d", &age);
    printf("Your age is: %d", age);

以上代码将提示用户输入年龄,然后将用户输入的年龄打印输出。

总结

本文介绍了C++中printf函数的用法,包括常见的格式符、控制字符等方法,以及C++中更加类型安全的流式输出语句cout。同时,还介绍了C语言中常用的格式化输出和控制输出精度等方法,以及printf结合scanf用法举例。