在C语言中,通过使用printf函数来格式化输出字符串。格式化字符串的语法如下:
printf("format string", argument1, argument2, ...);
其中,format string是格式化字符串, argument1, argument2, … 是要输出的参数。
格式化字符串的语法规则如下:
%[flags][width][.precision][length]specifier
其中,各部分的含义如下:
-
flags:标志位,可以有零个或多个。
-
:表示左对齐输出。+
:表示右对齐输出,符号位总是显示。0
:表示用0来填充空白。#
:表示使用“备用形式”输出,例如八进制数前加“0”。空格
:表示在整数前加上空格。
-
width:输出宽度,是一个非负整数,表示输出的最小宽度。
-
precision:输出精度,是一个非负整数,表示小数部分的位数。
-
length:长度修饰符,可以有零个或一个。
hh
:表示将参数按带符号或不带符号的 char 类型输出。h
:表示将参数按带符号或不带符号的 short 类型输出。l
:表示将参数按带符号或不带符号的 long 类型输出。ll
:表示将参数按带符号或不带符号的 long long 类型输出。L
:表示将参数按 long double 类型输出。
-
specifier:转换说明符,必须有,表示输出的类型。
%
:表示输出一个%字符。c
:表示输出一个字符。s
:表示输出一个字符串。d
或i
:表示输出一个十进制整数。o
:表示输出一个八进制整数。x
或X
:表示输出一个十六进制整数,字母可以是小写或大写。u
:表示输出一个无符号十进制整数。e
或E
:表示用科学计数法输出一个双精度实数,字母可以是小写或大写。f
或F
:表示输出一个双精度实数。g
或G
:表示根据实际情况选择用%e或%f输出一个双精度实数,字母可以是小写或大写。p
:表示输出一个指针地址。
在C语言中,使用printf函数进行输出时,可以在输出字符串中加入一些格式控制符,从而实现对输出格式的控制。常见的格式控制符如下:
- %d: 整型输出(十进制)
- %f: 浮点型输出
- %s: 字符串输出
- %c: 字符输出
- %o: 整型输出(八进制)
- %x或%X: 整型输出(十六进制)
下面是一个简单的示例代码:
#include <stdio.h>int main()
{int num = 10;float pi = 3.14159;char letter = 'A';char name[] = "John";printf("num = %d\n", num); // 整型格式化输出printf("pi = %f\n", pi); // 浮点型格式化输出printf("letter = %c\n", letter); // 字符类型格式化输出printf("name = %s\n", name); // 字符串格式化输出return 0;
}
运行结果:
num = 10
pi = 3.141590
letter = A
name = John