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

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

C程序的输出|设置 19

在C语言中,输出是一种非常常见的操作,对于程序员来说,熟练掌握输出操作,是必不可少的。在C语言中,输出是通过标准库函数printf()实现的。printf()函数是C语言中的一个非常强大的输出函数,可以输出各种格式的数据。在本文中,我们将会深入探讨printf()函数以及如何使用它来进行格式化输出。

1. printf()函数的语法

printf()函数的语法如下所示:

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

printf()函数接受两个参数:第一个参数是格式字符串,第二个参数是可变参数,也就是要输出的数据。格式字符串是一个包含格式说明符和普通字符的字符串,格式说明符用来指定输出数据的格式,普通字符用来表示其它字符串。可变参数是要输出到标准输出流(通常是显示器)的数据,可以是一个或多个。

2. 常见的格式说明符

在格式字符串中,格式说明符以百分号(%)开头。常见的格式说明符如下所示:

| 格式说明符 | 描述 | | ---------- | ------------------------------------------------------------ | | %d | 以十进制形式输出带符号整数(%i与%d相同) | | %hd | 以短整型十进制形式输出带符号整数 | | %ld | 以长整型十进制形式输出带符号整数(%li与%ld相同) | | %u | 以十进制形式输出无符号整数 | | %o | 以八进制形式输出无符号整数 | | %x | 以十六进制形式输出无符号整数,并使用小写字母a-f | | %X | 以十六进制形式输出无符号整数,并使用大写字母A-F | | %f | 以小数形式输出单、双精度实数(%lf与%f相同) | | %e | 以指数形式输出单、双精度实数,使用小写字母e表示指数 | | %E | 以指数形式输出单、双精度实数,使用大写字母E表示指数 | | %g | 根据实际情况选择使用%f或%e格式输出单、双精度实数 | | %c | 输出字符 | | %s | 输出字符串 | | %p | 输出指针(地址) |

3. printf()函数的使用示例
#include <stdio.h>

int main()
{
    int i = 123;
    float f = 3.14;
    char c = 'A';
    char s[] = "Hello, world!";
    
    printf("i = %d\n", i);
    printf("f = %f\n", f);
    printf("c = %c\n", c);
    printf("s = %s\n", s);

    return 0;
}

输出结果如下:

i = 123
f = 3.140000
c = A
s = Hello, world!

在这个例子中,我们定义了一个整型变量i、一个浮点型变量f、一个字符型变量c和一个字符串数组s,然后使用printf()`函数对它们进行了格式化输出。

4. 控制输出宽度和精度

printf()函数除了可以输出不同类型的数据之外,还可以控制输出的宽度和精度。在格式说明符中可以使用数字来控制输出宽度和精度。例如,下面的代码可以输出一个宽度为10的整型数:

printf("%10d", 123);

输出结果为:

       123

注意,在这个例子中,我们在%d之间加上了数字10,表示输出的宽度为10个字符。如果实际输出值的位数小于10,则在输出值前补上空格;如果实际输出值的位数大于10,则按照实际位数输出。

除了控制输出宽度之外,还可以使用小数点后的数字来控制输出的精度。例如,下面的代码可以输出一个精度为2的浮点数:

printf("%.2f", 3.1415926);

输出结果为:

3.14

在这个例子中,我们在%f之间加上了.2,表示输出的精度为2个小数位。

5. 总结

printf()是C语言中最常用、最强大的输出函数之一。它可以输出各种格式的数据,并且可以控制输出的宽度和精度,非常灵活。在实际编程中,我们需要经常使用printf()函数来输出调试信息、输出运算结果等。掌握printf()函数的用法,是C语言程序员必备的基本技能之一。