📜  C |输入和输出|问题13(1)

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

C语言 | 输入和输出 | 问题13

在C语言中,我们通常使用scanf()printf()函数来进行输入和输出操作。但是有时候我们需要更加复杂的输出格式,如在输出时需要按照一定的宽度和对齐方式来显示数据。这时候,我们可以使用printf()函数的格式化输出来实现。

格式化输出说明符

在使用printf()函数输出时,需要使用格式化输出说明符来指定输出的格式。格式化输出说明符以%字符开头,后面跟一个或多个格式化控制字符。下表列出了常用的格式化控制字符:

| 控制字符 | 含义 | | -------- | -------- | | %c | 字符 | | %d/%i | 十进制整数 | | %u | 无符号十进制整数 | | %f | 浮点数 | | %s | 字符串 | | %x/%X | 十六进制整数 | | %o | 八进制整数 |

对齐方式

在输出时,我们还可以选择对齐方式。对齐方式通过在控制字符前添加-+0和空格来指明。其中,-表示左对齐,+表示右对齐,0表示用0填充左边的空白,空格表示在正数前面添加一个空格,用于与负数对齐。

示例

以下是一些示例代码,展示如何使用格式化输出控制符和对齐方式。

#include <stdio.h>

int main()
{
    int i = 123;
    float x = 3.1415926;
    char c = 'A';
    char s[] = "Hello, world!";

    printf("%d\n", i);              // 123
    printf("%3d\n", i);             // 123,右对齐,宽度为3
    printf("%-3d\n", i);            // 123,左对齐,宽度为3
    printf("%05d\n", i);            // 00123,用0填充左边空白,宽度为5
    printf("%+d\n", i);             // +123,在正数前添加一个+号
    printf("% d\n", -123);          // -123,正数前添加一个空格,用于与负数对齐
    printf("%f\n", x);              // 3.141593
    printf("%.2f\n", x);            // 3.14
    printf("%.5s\n", s);            // Hello,输出字符串的前5个字符
    printf("%-10s\n", s);           // Hello, world!
    printf("%-10.5s\n", s);         // Hello
    printf("%c\n", c);              // A
    return 0;
}
总结

在C语言中,使用printf()函数进行格式化输出可以实现更加复杂的输出格式。掌握格式化输出控制符和对齐方式可以让我们更加灵活地控制输出。