Chinaunix首页 | 论坛 | 博客
  • 博客访问: 18673015
  • 博文数量: 7460
  • 博客积分: 10434
  • 博客等级: 上将
  • 技术积分: 78178
  • 用 户 组: 普通用户
  • 注册时间: 2008-03-02 22:54
文章分类

全部博文(7460)

文章存档

2011年(1)

2009年(669)

2008年(6790)

分类: C/C++

2008-03-20 10:02:44

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

一、printf函数调用的一般形式

printf
函数是一个标准库函数,它的函数原型在头文件“stdio.h”中。printf函数调用的一般形式为:printf(“格式控制字符串”,输出表列)其中格式控制字符串用于指定输出格式。 格式控制串可由格式字符串和非格式字符串两种组成。格式字符串是以%开头的字符串,在%后面跟有各种格式字符,以说明输出数据的类型、形式、长度、小数位 数等。如“%d”表示按十进制整型输出,“%ld”表示按十进制长整型输出,“%c”表示按字符型输出等。

非格式字符串在输出时原样照印,在显示中起提示作用。 输出表列中给出了各个输出项, 要求格式字符串和各输出项在数量和类型上应该一一对应。

二、格式字符串

格式字符串的一般形式为: [标志][输出最小宽度][.精度][长度]转换说明符 其中方括号[]中的项为可选项。各项的意义介绍如下:

1.
转换说明符用以表示输出数据的类型,其格式符和意义下表所示:

表示输出类型的格式字符 格式字符意义
c
输出单个字符,参数为该字符的ASCII码。

d以十进制形式输出带符号整数(正数不输出符号)

e/E以指数形式输出单、双精度实数,默认6位小数。

f以小数形式输出单、双精度实数,默认6位小数。

g/G%f%e中较短的输出宽度输出单、双精度实数,如果指数小于-4或大于等于精度(默认6),则使用e/E格式,否则用f格式,末尾多余的0将省略。

i以十进制形式输出带符号整数(正数不输出符号) ,同d

o以八进制形式输出无符号整数(不输出前缀O)

s输出字符串,参数为char指针,显示空字符之前的所有字符或指定数目的数字,不显示末尾的空字符。

u以十进制形式输出无符号整数
x/X
以十六进制形式输出无符号整数(不输出前缀OX) x输出小写,X输出大写。
  

2.长度

  长度格式符为h,l两种,h表示按短整型量输出,l表示按长整型量输出。

3.精度

精度格式符以“.”开头,后跟十进制整数。本项的意义是:如果输出数字,则表示小数的位数;如果输出的是字符,则表示输出字符的个数;若实际位数大于所定义的精度数,则截去超过的部分。
4.
输出最小宽度

用十进制整数来表示输出的最少位数。 若实际位数多于定义的宽度,则按实际位数输出, 若实际位数少于定义的宽度则补以空格或0。  

5.标志

标志字符为-+#、空格四种,其意义下表所示:

标志格式字符 标志意义
-
结果左对齐,右边填空格
+
结果右对齐,对于有符号数,在其左边加上+-
#
只能用于xXo,在前面加上0x0Xo

空格在正数前加空格

三、转义序列

序列含义

\a振铃

\b回退

\f走纸

\n换行

\r回车

\t水平制表符

\v垂直制表符

阅读(377) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~