文档详情

C语言printf函数详解.doc

发布:2017-06-05约2.46千字共3页下载文档
文本预览下载声明
功 能: 产生格式化输出的函数。 用 法: printf(格式控制字符串,参数1,参数2,… ,参数n); 格式控制字符串定义为: %[flags][width][.perc][F|N|h|l]type   type   d????? 有符号10进制整数   i????? 有符号10进制整数   o????? 无符号8进制整数   u????? 无符号10进制整数   x????? 无符号的16进制数字,并以小写abcdef表示   X????? 无符号的16进制数字,并以大写ABCDEF表示   f????? 浮点数   E/e??? 用科学记数法表示浮点数   g? ? ? 用%f和%e表示中,总的位数最短的来表示浮点数。G同g格式,但表示为指数   c????? 单个字符   s????? 字符串   S????? wchar_t字符(宽字符)类型字符串   %????? 显示百分号本身   p????? 显示一个指针,near指针表示为:XXXX,far指针表示为:XXXX:YYYY   n????? 相连参量应是一个指针,其中存放已写字符的个数    ??? flags:规定输出格式   无 ? ? 右对齐,左边填充0和空格   -????? 左对齐,右边填充空格   +????? 在数字前增加符号+或-   0 ? ?? 将输出的前面补上0,直到占满指定列宽为止(不可以搭配使用-)   空格 ? 输出值为正时冠以空格,为负时冠以负号   #????? 当type=c,s,d,i,u时没有影响;当type=o,x,X时,分别在数值前增加0,0x,0X; ?????????? 当type=e,E,f时,总是使用小数点;当type=g,G时,除了数值为0外总是显示小数点。   width:用于控制显示数值的宽度   n(n=1,2,3...)?? 宽度至少为n位,不够以空格填充   0n(n=1,2,3...)? 宽度至少为n位,不够左边以0填充   *?????????????? 格式列表中,下一个参数还是width   prec:用于控制小数点后面的位数   无????????????? 按缺省精度显示   0?????????????? 当type=d,i,o,u,x时,没有影响;当type=e,E,f时,不显示小数点   n(n=1,2,3...)?? 当type=e,E,f时,表示的最大小数位数   type=其他?????? 表示显示的最大宽度   .*????????????? 格式列表中,下一个参数还是width   F|N|h|l   F????? 远指针   n????? 近指针   h????? 短整数或单精度浮点数   l????? 长整数或双精度浮点数 函数返回值: printf函数的一般形式为:   int printf(const char *format,[argument]); ??? 说明printf函数类型为整型,其返回值是整型值。其值实际为printf控制输出的字符数。   例如:   int a,b;   a=printf(gelin\n); //a的值为6   b=printf(the value of printf is:%d,a); //b的值为24   printf(\n%d\n,b);   以上程序将会输出: ? 程序举例: 例一   #define C gelin   int main(void)   {   int a=12345;   float b=5   char e,d,f;   scanf(%c%c%c,e,d,f);   //分别演示:%d、%4d、%.4d、%d%*d%d   printf(int is:%d\n,a);   //分别演示:%d、%9d、%.9d、%8.4d、%-8.4d、%+8.4d   printf(float is:%f\n,b);   //分别演示:%f、%8f、%.4f、%8.4f、%-8.4f   printf(char is:%s\n,C);   //分别演示:%s、%8s、%.4s、%8.4s、%-8.4s   return 0;   } 例二   printf也可以这样用:   printf(123\n456\n789\n);   输出:   123   456   789   注意:   printf(123\n 456\n 789\n);的输出结果与printf(123\n);printf(456\n);printf(789\n);相同。   因此输出多行时,也并不需要每行调用一
显示全部
相似文档