首页 > 编程笔记 > C语言笔记

C语言printf左对齐和右对齐(附带实例)

在C语言编程中,格式化输出是一项常见且重要的任务。printf 函数作为C语言中最常用的输出函数之一,不仅能够简单地打印文本和变量,还能够通过各种格式说明符来精确控制输出的格式。

printf 函数的基本用法

printf 函数的基本语法如下:

printf("格式化字符串", 参数列表);

格式化字符串中可以包含普通字符和格式说明符。格式说明符以百分号%开头,后面跟着各种控制字符,用于指定如何格式化和输出相应的参数。

右对齐(默认对齐方式)

默认情况下,printf 函数输出数据时采用右对齐方式,这意味着如果指定的宽度大于实际输出的字符数,输出会在左侧填充空格。以下是一个简单的例子:

#include <stdio.h>

int main() {
    int num = 42;
    printf("[%5d]\n", num);
    return 0;
}

输出结果:

[   42]

在这个例子中,%5d 指定了一个宽度为 5 的字段来输出整数。由于数字 42 只占用两个字符,所以在左侧填充了三个空格,实现了右对齐。

左对齐

要实现左对齐,我们需要在宽度说明符前添加一个负号-,这将使输出在左侧对齐,并在右侧填充空格。让我们修改上面的例子:

#include <stdio.h>

int main() {
    int num = 42;
    printf("[%-5d]\n", num);
    return 0;
}

输出结果:

[42   ]

现在,数字 42 位于字段的左侧,右侧填充了三个空格,实现了左对齐。

同时使用左对齐和右对齐

在实际应用中,我们经常需要在同一个 printf 语句中同时使用左对齐和右对齐,这在创建表格式输出或对齐多列数据时特别有用。以下是一个更复杂的例子:

#include <stdio.h>

int main() {
    printf("%-10s %10s %10s\n", "Name", "Age", "Height");
    printf("%-10s %10d %10.2f\n", "Alice", 25, 165.5);
    printf("%-10s %10d %10.2f\n", "Bob", 30, 180.0);
    printf("%-10s %10d %10.2f\n", "Charlie", 22, 170.75);
    return 0;
}

输出结果:

Name            Age     Height
Alice            25     165.50
Bob              30     180.00
Charlie          22     170.75

在这个例子中,我们使用 %-10s 左对齐名字,%10d 和 %10.2f 分别右对齐年龄和身高,这样就创建了一个整齐的表格,其中名字左对齐,数字右对齐,非常易于阅读。

精度控制

除了对齐控制,printf 还允许我们精确控制小数点后的位数。在上面的例子中,我们使用 %.2f 来指定显示两位小数,我们可以根据需要调整这个数字。例如:

#include <stdio.h>

int main() {
    double pi = 3.14159265359;
    printf("Pi with 2 decimal places: %.2f\n", pi);
    printf("Pi with 4 decimal places: %.4f\n", pi);
    printf("Pi with 6 decimal places: %.6f\n", pi);
    return 0;
}

输出结果:

Pi with 2 decimal places: 3.14
Pi with 4 decimal places: 3.1416
Pi with 6 decimal places: 3.141593

总结

掌握 printf 函数的左对齐和右对齐技巧可以大大提高您的输出格式控制能力。通过合理使用这些格式说明符,您可以创建出清晰、美观的输出结果,使您的程序更加专业和用户友好。记住,-符号用于左对齐,默认为右对齐;同时,不要忘记利用精度控制来处理浮点数输出。


声明:《C语言系列教程》为本站“54笨鸟”官方原创,由国家机构和地方版权局所签发的权威证书所保护。