
3.2.1 格式输出函数printf()
扫一扫 看视频

【例3.2】已知圆的半径r=1.5,求圆的周长length=2πr。
程序代码如下:

程序的运行结果为:
r=1.50,length=9.42
说明:程序中,用格式化输出函数printf()输出了半径和周长的值,以十进制小数输出,数据输出长度占7位(长度可以自己规定),并保留小数点后面两位,第三位自动四舍五入。提示信息r=和length=原样输出。本例的程序流程图和N-S图如图3-6所示。

图3-6 例3.2程序的流程图和N-S图
相关知识2
格式输出函数printf()的一般形式如下:
printf(格式控制,输出项列表);
该函数将输出项按指定的格式输出到标准输出终端。其中,格式控制是用双引号括起来并以字符串的形式描述的。
格式控制可以是下列两种形式的组合:
①格式说明:用于规定对应输出项内容的输出格式。它由%和格式字符组成。printf()函数的常用格式字符如表3-1所示。
表3-1 printf()函数的常用格式字符

续表

注意:格式字符与其对应的输出项的类型要一致。例如,不要用%f去输出整数。%f不能写为%F。
在格式说明中,在%和上述格式字符间可以插入附加格式字符(又称修饰符)。printf()函数的附加格式字符如表3-2所示。
表3-2 printf()函数的附加格式字符

注意:m和n分别代表一个正整数。
其完整的格式如下:

②普通字符:指需要原样输出的字符,如逗号、空格等。例如:
a=2,b=3.5;
printf("a=%d,b=%f",a,b);
输出结果为:
a=2,b=3.500000
上面的语句中,%d说明输出的变量a是十进制整数,%f说明输出一个实数对应b变量,其他格式控制中的字符串原样输出。
【例3.3】多种类型数据的输出。
程序代码如下:

程序的运行结果为:
a=10,b=3.333333
说明:程序中的实型数输出,默认保留小数点后6位,第7位自动四舍五入。
利用printf()函数可以输出整型、实型和字符型数据。而对于比较大的或比较小的实数,既可以用%f格式输出,也可以用%e格式以标准指数格式出现。
无符号形式%u是指无论正数还是负数,系统一律当作无符号整数来输出。