赞
踩
printf是一个库函数,它来自标准库stdio.h 头文件中,它的使用方法有很多种,其作用是向标准输出设备(一般指计算机屏幕)输出信息,print字面意思就是打印,f则是format,名为格式,合起来便是格式化打印,如下所示。
#include<stdio.h>
int main()
{
printf("hello world");
printf("hello c");
printf("11,12,13,14");
printf("3.4,1.2,45.3");
printf("a,b,c");
return 0;
}
这种写法比较死板
我们知道printf函数打印完之后光标会停留在本行,不会自动跳转到下一行可以使用字符\n进行换行,如下所示。
#include<stdio.h>
int main()
{
printf("hello world\n");
printf("hello\nworld");
printf("hello");
printf("\n");
printf("world");
return 0;
}
#include<stdio.h> int main() { printf("%d\n", 4); printf("%c", 'a'); printf("%f\n", 3.14f); //3.14f是单精度浮点数,默认是双精度浮点数。 printf("%lf\n", 2.6); //双精度浮点数 printf("%s", "hello world\n"); printf("%zd %u\n", 5, 10); //打印无符号整型 //也可以打印变量 int a = 4; int b = 5; float c = 3.14f; double d = 2.4; char e = 'a'; printf("%d\n", a); printf("%d,%d\n", a,b); printf("%f\n", c); printf("%lf\n", d); printf("%f,%lf\n", c, d); printf("%d\n", e); //字符型也可以使用%d打印,结果是该字符的ASCll码值。 printf("%c\n", e); return 0; }
printf函数可以限定占位符的最小宽度
#include<stdio.h>
int main()
{
int a = 25;
printf("%3d\n", a); // 输出" 25"
printf("%5d\n", a); // 输出" 25"
return 0;
}
上面的实例中,3d和5d分别表示最小宽度至少是3位和5位,如果不足,默认在数字前面补空格,差几位补几位,默认输出的值是右对齐,如果希望左对齐,在数值后面补空格,在%后面加一个-号就可以了,如下所示。
#include<stdio.h>
int main()
{
int a = 25;
printf("%-3d\n", a); // 输出"25 "
printf("%-5d\n", a); // 输出"25 "
return 0;
}
对于小数而言也可以限制最小宽度,如下所示。
#include<stdio.h>
int main()
{
double d = 5.25;
printf("%12lf\n", d); //输出" 5.250000" 限制最小宽度为12位,小数点后默认保留6位,.和5为两位,再补4位空格,总共12位。
return 0;
}
单精度浮点型和双精度浮点型默认小数点后保留6位,可以使用占位符来限制小数的位数,如下所示。
#include<stdio.h>
int main()
{
float f = 3.14f;
double d = 2.5;
printf("%f\n",f); //输出"3.140000"
printf("%.2f\n", f); //输出"3.14"
printf("%lf\n", d); //输出"2.500000"
printf("%.2lf\n", d); //输出"2.50"
return 0;
}
默认情况下,printf函数只显示-号,而不显示+号,想要显示+号,可以在%后面加一个+号,如下所示。
#include<stdio.h>
int main()
{
printf("%d\n", 5);
printf("%+d\n", 5);
return 0;
}
最小宽度和小数位数都可以通过*号来代替,在printf函数内传入参数,如下所示。
#include<stdio.h>
int main()
{
double d = 5.2;
printf("%*.*lf\n", 6, 2, d);
return 0;
}
%s是用来输出字符串,默认是输出全部字符串,如果想要输出开头的部分,可以使用%.*s来指定输出的长度,*代表一个数字,表述要输出的长度,如下所示。
#include<stdio.h>
int main()
{
printf("%s", "hello world\n");
printf("%.*s\n",5, "hello,world");
return 0;
}
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。