一、printf基础语法
printf 是一个常用的函数,用来向标准输出流(stdout)或者文件中输出格式化的内容。其基本语法为:printf(format, arguments);
其中,format 是字符串,包含两种类型的对象:普通字符和转义序列。转义序列是以 '%' 开头的特殊字符,用来表示实际输出的内容。这些转义字符可以是一个或多个,但必须以一个字母结束。例如:%s 表示一个字符串,%d 表示整数,%c 表示一个字符,%f 表示浮点数等。 arguments 是要输出的变量或常量,用逗号分隔。 下面是一个简单的例子,输出一个字符串和一个整数:#include <stdio.h>
int main(){
char str[20] = "hello world";
int num = 12345;
printf("%s, %d\n", str, num);
return 0;
}
输出结果:hello world, 12345
二、printf中的转义字符
1、%d 和 %i
% d 和 %i 都表示输出一个有符号的十进制整数。但是它们在某些特定的情况下还是有区别的。具体区别需要从历史上来看,% d 是英文单词“decimal”的缩写,而 % i 是英文单词“integer”的缩写。也就是说,% d 用来表示十进制整数,而 % i 则可以表示八进制、十进制或者十六进制整数。 以下是一个例子:#include <stdio.h>
int main(){
int a = 123, b = 0123, c = 0x123;
printf("%d, %i\n", a, a);
printf("%d, %i\n", b, b);
printf("%d, %i\n", c, c);
return 0;
}
输出结果:123, 123
83, 83
291, 291
2、%c
%c 用来输出一个字符,该字符由 ASCII 码值来确定。例如:#include <stdio.h>
int main(){
char c = 'a';
printf("%c\n", c);
return 0;
}
输出结果:a
3、%s
%s 用来输出一个字符串,该字符串可以是一个字符数组或者指针。例如:#include <stdio.h>
int main(){
char str[] = "hello world";
printf("%s\n", str);
return 0;
}
输出结果:hello world
4、%f
%f 用来输出一个浮点数,通常情况下它会输出小数点后6位。例如:#include <stdio.h>
int main(){
float f = 3.14;
printf("%f\n", f);
return 0;
}
输出结果:3.140000
5、%e 和 %E
% e 和 % E 用来输出科学计数法表示的浮点数。% e 表示指数部分用小写字母 e 来表示;% E 表示指数部分用大写字母 E 来表示。例如:
#include <stdio.h>
int main(){
float f = 1.2345e-2;
printf("%e\n", f);
printf("%E\n", f);
return 0;
}
输出结果:1.234500e-02
1.234500E-02
三、printf中的格式控制
printf 中的格式控制可以通过在 % 后添加一些修饰符来实现。这些修饰符包括:- 宽度(width):指定输出字段的最小宽度。
- 精度(precision):对于浮点数,用来指定小数点后的位数。对于字符串,用来指定输出的字符数。
- 标志(flag):控制输出的格式,例如左对齐、右对齐、补零等。
#include <stdio.h>
int main(){
float f = 3.1415926;
printf("%8.3f\n", f);
printf("%-8.3f\n", f);
printf("%08.3f\n", f);
printf("%.2s\n", "hello world");
return 0;
}
输出结果: 3.142
3.142
003.142
he