首页 理论教育输出函数-printf格式字符串表及示例

输出函数-printf格式字符串表及示例

【摘要】:表1.5printf()格式字符串表1.6所示为输出数据的形式、长度、小数位数等附加格式说明符。表1.6printf()附加格式说明符非格式字符串在输出时原样输出,在显示中起提示作用。例1.6输出函数格式字符串。请看下面两个例子:例1.7格式化输出函数示例1。运行结果:8788-8-8例1.8格式化输出函数示例2。

1.格式化输出函数printf()

Printf()函数称为格式输出函数,其关键字最末一个字母f即为“格式”(format)之意。其功能是按用户指定的格式,把指定的数据显示到显示器屏幕上。

(1)用法1:

printf(“字符串”);

在显示器上输出指定的字符串。

例:printf(“Good morning!\n”);/*在显示器上输出字符串Good morning!*/

(2)用法2:

printf函数调用的一般形式为:

printf(“格式控制字符串”,输出列表);

其中,格式控制字符串用于指定输出格式。格式控制串可由格式字符串和非格式字符串两种组成。格式字符串是以%开头的字符串,在%后面跟有各种格式字符,以说明输出数据的类型,如表1.5所示。

表1.5 printf()格式字符串

表1.6所示为输出数据的形式、长度、小数位数等附加格式说明符。

表1.6 printf()附加格式说明符

非格式字符串在输出时原样输出,在显示中起提示作用。

说明:

(1)格式字符与输出项个数应相同,按先后顺序一一对应。

(2)如果格式字符与输出项类型不一致,则自动按指定格式输出。

例1.6 输出函数格式字符串。

运行结果:

a=123,a= 123,a=123 ,a=00123

b= 123.46

123,173,7b,123

注意:使用printf()函数时还要注意一个问题,那就是输出列表中的求值顺序。不同的编译系统的求值顺序不一定相同,可以从左到右,也可从右到左。例如,Turbo C就是按从右到左进行的。请看下面两个例子:

例1.7 格式化输出函数示例1。

运行结果:

8

7

8

8(www.chuimin.cn)

-8

-8

例1.8 格式化输出函数示例2。

运行结果:

9

8

8

9

-8

-9

这两个程序的区别只是使用一个printf() 语句和多个printf() 语句输出,但是输出结果的是不同的。为什么结果会不同呢?因为printf() 函数对输出表中各变量求值的顺序是自右至左进行的。在例1.7中,程序先对最后一项“-i--”求值,结果为-8,然后i自减1后为7;再对“-i++”项求值得-7,然后i自增1后为8;再对“i--”项求值得8,然后i再自减1后为7;再求“i++”项得7,然后i再自增1后为8;再求“--i”项,i先自减1后输出,输出值为7;最后才求输出表列中的第一项“++i”,此时i自增1后输出8。

但是必须注意,虽然求值顺序是自右至左,但是输出顺序还是从左至右,因此得到的结果是上述输出结果。

2.字符输出函数putchar()

putchar() 函数是字符输出函数,其功能是在显示器上输出单个字符。

其一般形式为:

putchar(字符变量);

例如:

putchar(’A’); /*输出大写字母A*/

putchar(x); /*输出字符变量x的值*/

putchar(’\101’); /*是输出字符A*/

putchar('\n'); /*换行*/

对控制字符,putchar()函数则执行控制功能,不在屏幕上显示相应字符。

使用getchar()和putchar()函数前必须要用文件包含命令:

#include<stdio.h>

#include“stdio.h”

例1.9 输出单个字符。

#include<stdio.h>

main()