常见格式化控制符(具体示例)
C语言格式化控制符是一种用于在输出时控制数据格式的特殊指令。
这些控制符可以用来指定输出的数据类型、宽度、精度、对齐方式等等。以下是一些常见的C语言格式化控制符:
(“%”与字母之间可以插入数字表示场宽,如%2d表示输出2位整型数,不够2位右对齐;%-2d则表示左对齐)
-
%d:输出十进制整数 , 通常用来输出int型。
int x = 42; printf("x = %d\n", x); x=42
-
%o:以八进制数形式输出整数。
int x = 42; printf("x = %o\n", x); x=52
-
%x:以十六进制数形式输出整数。
int x = 255; printf("x = %x\n", x); x=ff
-
%f:输出浮点数,用来输出小数,默认情况下保留小数点6位,如1.000000,通常用来输出float型%.2f用来输出小数,保留两位小数,如1.00( (
"x = %2f\n", x)
表示将变量x的值以浮点数的形式输出,并使用格式化字符串"x = %2f\n"
指定输出的格式。其中,%2f
表示输出宽度为2位,如果输出的浮点数宽度不足2位,则在左侧用空格进行填充)float x = 3; printf("x = %f\n", x); printf("x = %2f\n",x); x=3.000000 x=3.00
-
%s:输出字符串,通常用来输出char型。
char str[] = "Hello, World!"; printf("字符串为: %s\n", str); 字符串为:Hello, World!
-
%c:输出字符,char型。
char ch = 'A'; printf("字符为: %c\n", ch); 字符为: A
-
%p:输出指针地址,打印指针地址。
int *ptr = &x; printf("指针地址为: %p\n", ptr); 指针地址为: 0x12345678
-
%e:以指数形式输出实数。
double num1 = 12345.6789; printf("科学计数法表示:%e\n", num1); 科学计数法表示:1.234568e+04
-
%ld:表示输出长整型数,通常用来输出长整型数据。
long int num2 = 123456789; printf("长整型表示:%ld\n", num2); 长整型表示:123456789
-
%lf:表示输出双精度浮点型数,通常用来输出双精度浮点型数据。
double num1 = 12345.6789; printf("双精度浮点数表示:%lf\n", num1); 双精度浮点数表示:12345.678900000000
-
%u:以十进制数输出unsigned型数据(无符号数)。
unsigned int num = 12345; printf("Number: %u\n", num); return 0; Number:12345
-
%g:根据大小自动选f格式或e格式,且不输出无意义的零。( 对于数值较小的num2,%g格式控制符自动选择了e格式进行输出,省略了多余的零,并保留了有效数字的精度。而对于数值较大的num1,%g则选择了f格式进行输出,保留了小数点后的位数。)
double num1 = 0.00123; double num2 = 0.00000123; printf("num1: %g\n", num1); printf("num2: %g\n", num2); num1: 0.00123 num2: 1.23e-05
-
%ld长整型输出,通常用来输出long型。
long int num1 = 12345; long int num2 = -67890; printf("num1: %ld\n", num1); printf("num2: %ld\n", num2); num1: 12345 num2: -67890
-
%sizeof:输出一个类型或变量的大小(以字节为单位)。
int num = 123; float fnum = 3.14; double dnum = 12345.6789; printf("整数大小:%d\n", sizeof(int)); printf("浮点数大小:%d\n", sizeof(float)); printf("双精度浮点数大小:%d\n", sizeof(double)); printf("变量num的大小:%d\n", sizeof(num)); printf("变量fnum的大小:%d\n", sizeof(fnum)); printf("变量dnum的大小:%d\n", sizeof(dnum)); 整数大小:4 浮点数大小:4 双精度浮点数大小:8 变量num的大小:4 变量fnum的大小:4 变量dnum的大小:8
除了这些常见的控制符,C语言还提供了一些更高级的控制符,例如控制对齐方式的控制符(如%,-,<,^等),控制精度和宽度的控制符(如.,#,0,'等),以及控制填充字符的控制符(如,逗号等)。
使用格式化控制符可以让我们更灵活地控制输出的数据格式,使其更易于阅读和理解。