C语言格式输出函数,前面我们已经初步接触到格式输入与格式输出函数printf()
和scanf()
函数,它们是C语言标准I/O库函数中最简单、最常用的函数。
printf()函数我们在前面已经多次用到,printf()函数是格式控制输出函数,使用的一般格式为:
printf("格式控制字符",输出项列表);
printf()函数的作用是按照自右向左的顺序,依次计算“输出地址列表”中表达式的值,然后按照“控制格式字符”中规定的格式输出到显示器上。
printf()函数有两个参数“格式控制字符”和输出项列表,“格式控制字符”是由控制输出格式字符等字符组成的字符串。输出项列表是用逗号分隔的若干个表达式。
例如:
printf("a=%d,b=%f,c=%c\n",a,b,c);
其中,”a=%d,b=%f,c=%c\n”是格式的控制部分,a,b,c是输出项序列,是用逗号分隔开的三个变量。
printf()函数的格式控制字符
“格式控制字符”是用双引号括起的一串字符,包括格式说明、普通字符和转义字符三种。格式控制字符的功能是指定输出数据的格式和类型。例如:
printf("a=%d\n",a);
其中,“a=”是普通字符,“%d”是格式说明符,“\n”是转义字符,而a是输出项。
格式说明符由%
和格式字符组成。作用是转换输出数据的格式,表示对数据输出格式的控制,如%d
,%f
等。它与后面的数据输出项对应,即格式说明与数据输出项的数据个数、数据类型及数据排放次序相匹配。例如:
printf("%d,%f",a, x)
格式说明符“%d”与输出项“a”对应,表示将控制数据输出项“a”按格式说明“%d”规定的格式输出,即按十进制整数的形式输出。“%f”与输出项“x”对应,表示将控制数据输出项“x”按格式说明“%f”规定的格式输出,即按浮点型数据的形式输出。下面介绍几种常用的格式字符。
- d格式字符,输出十制整数。
例如:int a=122; printf("a=%d",a);
输出的结果为:a=122。
- x(或X)格式字符,输出十六进制整数。例如:
int a=122; printf("a=%x",a);
输出的结果为:a=7A。
- o(或O)格式字符,输出八进制整数。例如:
int a=122; printf("a=%x",a);
输出的结果为:a=172。
- U格式字符,输出不带符号的十进制整数。例如:
int a=122; printf("a=%d",a);
输出的结果为:a=122。
- c格式字符,输出单个字符。例如:
int a=98; printf("%c",a);
输出的结果为:b,为一个字符。
- s格式字符,输出字符串。
char s[]="hello!"
;printf("%s",s);
输出的结果为:hello!
- f格式字符,输出十进制单、双精度数。例如:
float a=314.1; printf("a=%f",a);
输出的结果为:a=314.100006
- e(或E)格式字符,输出指数形式的实数型数。例如:
float a=314.1; printf("a=%e",a);
输出的结果为:a=3.141000e+002
- g(或G)格式字符,输出指数形式的实数型数不带无效0的浮点数。例如:
float a=314.1; printf("a=%e",a);
输出的结果为:a=314.1
- %格式字符,输出一个百分号。例如:
float a=12.56; printf("a=%f%%",a);
输出的结果为:a=12.560000%
转义字符是以“\“开头和其他特殊字符组合而成的具有一定含义的字符。转义字符可以在printf()函数中使用,前面我们已经讲解了几种常用的转义字符,在这里不再赘述。
普通字符是指在“格式控制字符”部分,除了“格式说明符”和“转义字符”之外的其余字符均为普通字符,在输出时普通字符被原样输出。
例如:
int x=3, y=6, z=0;
printf("x=%d,y=%d,z=%d",x,y,z);
输出的结果为:x=3, y=6, z=0
“x=”、“ , ”、“ y=”、“ z=”这些都是普通字符,在输出时被原样输出。
printf()函数输出项列表
输出项列表是需要输出的一些数据。判断输出项列表有以下几点说明:
- 输出项列表的数据可以有一个或多个,也可以没有。printf()函数允许没有输出项列表部分,这表示输出一个字符串。例如:
printf("请输入一个正整数:");
输出的结果为:
请输入一个正整数:
上面的那行语句里面只有普通字符,因此在输出的时候只是原样输出。
-
输出项列表可以是多个输出项,各个输出项之间用逗号“,”分隔。例如:
printf("%d*%d+%d*%d=%d\n",x,x,y,y,1989);
- printf()函数中格式控制部分的“格式说明符”和“输出项列表”在个数和和类型上必须一一对应。例如:
printf("a=%d,b=%f\n",a,b);
a与`%d`对应,%d表示以十进制整数的形式输出,相对应的a是一个整型变量。b与%f对应,%f表示以浮点型数输出,相对应的b是一个浮点型变量。
- 输出项列表可以由变量、常量或表达式组成。如果是常量,直接用常量代替“格式控制字符”里面的“格式字符”;如果是变量,则用变量里面存储的值来取代“格式控制字符”里面的“格式字符”;如果是表达式,则先对表达式进行运算,然后用它的运算结果取代“格式控制字符”里面的“格式字符”。例如:
printf("%f",3.5+56%10+3.14);
输出的结果为:12.640000
示例:
#include <stdio.h>
void main()
{
printf(" *\n");
printf(" * *\n");
printf(" * * *\n");
printf("* * * *\n");
printf(" * * *\n");
printf(" * *\n");
printf(" *\n");
}
运行结果如下:
评论前必须登录!
注册