C语言控制printf函数输出是通过格式化参数来实现的。
一、printf函数调用的一般形式
printf函数是一个标准库函数,它的函数原型在头文件“stdio.h”中。但作为一个特例,不要求在使用 printf 函数之前必须包含stdio.h文件。printf函数调用的一般形式为:
printf(“格式控制字符串”, 输出表列)
其中格式控制字符串用于指定输出格式。格式控制串可由格式字符串和非格式字符串两种组成。格式字符串是以%开头的字符串,在%后面跟有各种格式字符,以说明输出数据的类型、形式、长度、小数位数等。如:
“%d”表示按十进制整型输出;
“%ld”表示按十进制长整型输出;
“%c”表示按字符型输出等。
非格式字符串原样输出,在显示中起提示作用。输出表列中给出了各个输出项,要求格式字符串和各输出项在数量和类型上应该一一对应。
printf函数举例
#include
int main(void){
int a=88,b=89;
printf("%d %d\n",a,b);
printf("%d,%d\n",a,b);
printf("%c,%c\n",a,b);
printf("a=%d,b=%d",a,b);
return 0;
}
二、以下是对格式化字符串做一些说明
1) 类型
类型字符用以表示输出数据的类型,其格式符和意义如下表所示:
举例说明:
#include
int main(void){
int a=15;
long float b=123.1234567;
// 原来b的定义为 float b=123.1234567;
// 经读者@邓小良反馈,笔者发现会溢出,在前面加了long
double c=12345678.1234567;
char d='p';
printf("a=%d\n", a);
printf("a(%%d)=%d, a(%%5d)=%5d, a(%%o)=%o, a(%%x)=%x\n\n",a,a,a,a); // %% 可以输出 %
printf("a=%f\n", b);
printf("b(%%f)=%f, b(%%lf)=%lf, b(%%5.4lf)=%5.4lf, b(%%e)=%e\n\n",b,b,b,b);
printf("c=%f\n", c);
printf("c(%%lf)=%lf, c(%%f)=%f, c(%%8.4lf)=%8.4lf\n\n",c,c,c);
printf("d=%c\n", d);
printf("d(%%c)=%c, d(%%8c)=%8c\n",d,d);
return 0;
运行结果:
printf()函数是格式化输出函数, 一般用于向标准输出设备按规定格式输出信息。
printf()函数的调用格式为: printf("<格式化字符串>", <参量表>)。
格式输出,它是c语言中产生格式化输出的函数(在 stdio.h 中定义)。用于向终端(显示器、控制台等)输出字符。格式控制由要输出的文字和数据格式说明组成。要输出的的文字除了可以使用字母、数字、空格和一些数字符号以外,还可以使用一些转义字符表示特殊的含义。
例如:
int a=1;
float b=1.0;
char str[12]="Hello World";
printf("This is an example of printf:\n");
printf("a is %d,b is %f,and a+b=%f",a,b,a+b);
printf("I want to say,%s",str);