printf("hello \nworld\n"):将hello word打印到屏幕上,在使用printf函数时可以多次使用换行符\n,想在哪里加都可以
int main()
{
printf("hello \nworld\n");
return 0;
}
占位符:在printf中,占位符可以被指定的数值替换
int main()
{
printf("there are 3 apples\n"); //1
printf("there are %d apples\n", 3); //2
printf("there are %d apples\n", 6); //3
printf("%s will come to tonight\n", "李四"); //4
printf("%s says it is %d O'clock\n", "lisi", 21); //5
return 0;
}
1和2、3的区别是1这一代码的数字3是不能改变的,而且2/3语句中因为使用了占位符%d,所以是可以改变相应数字的,只需要将后面的数字更改为定义的变量就可以
4这句代码中,%s代表字符占位符,可以输入相应的字符,注意字符要用双引号
5这句代码中混合使用了字符占位符和整型占位符,可以输入相应的内容,注意后面输入的内容的顺序和前面的占位符的顺序要相同
常用的占位符
%s | 字符串类型 |
%d | 十进制整数 |
%f | float和double |
%c | 字符类型 |
%o | 八进制整数 |
%x | 十六进制整数 |
%b | 二进制类型 |
%u | unsigned int |
%p | 指针类型 |
%lld | long long(是两个小写L,不是1哦) |
限定宽度
int main()
{
printf("%5d\n", 123);
printf("%-5d\n", 123);
printf("%12f\n", 123.45);
printf("%12f\n", 123.45);
return 0;
}
printf("%5d\n", 123);printf("%-5d\n", 123):以十进制的方式打印,让输出的值有5位宽,但现在只有3位宽,那么就默认在前面加2个空格以达到最小5位,那么在将5变为-5意思是将空格补到右边如结果图所示
printf("%12f\n", 123.45):用十进制的方式打印,限定12位宽,现在有6位宽了(小数点也算一位)又因为小数默认有6位,所以系统会在前面加上2位空格已达到最小12位宽
%2d,%-2d,%.2d,%02d
int main()
{
int a = 1;
printf("%d\n",a);
printf("%2d\n",a);
printf("%.2d\n", a);
printf("%-2d\n",a);
printf("%02d\n",a);
return 0;
}
2表示至少输出的宽度,当大于输出宽度时,数据按原数据输出。当小于输出宽度2时,默认前补空格。如果有-号表示后补空格,.2d与02d相同,都表示不足宽度2时前补0。
printf("%s, %5.3s\n", "COMPUTER", "COMPUTER");
printf("%2d\n", 1234);
输出为1234
其他的一些例子
限定小数位
限定小数位:因为小数默认显示6位,但我们是可以进行限定小数后面的位数的
int main()
{
printf("%f\n", 123.45);
printf("%.2f\n",123.45);
printf("%6.2f\n", 0.5);
printf("%*.*f\n",6,2,0.5);
return 0;
}
printf("%.2f\n",123.45):以浮点数的形式打印123.45,在%和f中间加上一个 . 就是表示限定小数后面的位数了,想要几位就在 .后面输入数字就行,比如现在是.2表示显示2位小数
printf("%6.2f\n", 0.5):以浮点数的形式打印0.5,那么6.2中的6表示总共6位宽,小数点后有2位
printf("%*.*f\n",6,2,0.5):以浮点数的形式打印0.5,,*.*表示总位宽和小数位宽由后面输入的值确定,也就是后面的6和2
输出部分字符串
%s占位符用来输出字符串,默认是全部输出。如果如果只想输出开头的部分,可以用%.[n]s指定输出的长度,其中[n]代表⼀个数字,表示所要输出位宽
int main()
{
printf("%.5s\n", "hello world");
return 0;
}
以字符串的形式打印hello world,.5表示只要5位宽,故最终结果就只有 hello
参考C语言中printf打印形式(%02X, %2X, %-2X, %.nf, %m.nf, %e, %m.ne, %2d, %-2d, %02d, %.2d)_printf %.2x-CSDN博客