利用printf()输出
阅读(208)

    printf()是C语言标准库函数,用于将格式化后的字符串输出到标准输出。标准输出,即标准输出文件,对应终端的屏幕。printf()申明于头文件cstdio。

---------------------

    函数原型:int printf ( const char * format, ... );
    返回值: 
正确返回输出的字符总数,错误返回负值。与此同时,输入输出流错误标志将被置值,可由指示器函数ferror(FILE *stream)来检查输入输出流的错误标志,如果ferror()返回一个非零值,表示出错。
    调用格式: printf()函数的调用格式为:printf("格式化字符串",输出表列)。

    格式化字符串包含三种对象,分别为: 
    (1)字符串常量; 
    (2)格式控制字符串; 
    (3)转义字符。 
    字符串常量原样输出,在显示中起提示作用。输出表列中给出了各个输出项,要求格式控制字符串和各输出项在数量和类型上应该一一对应。其中格式控制字符串是以%开头的字符串,在%后面跟有各种格式控制符,以说明输出数据的类型、宽度、精度等。

举例:

printf("%5d\n",1000);               //默认右对齐,共占5个字符,左边补空格
printf("%-5d\n",1000);              //左对齐,共占5个字符,右边补空格,-表示左对齐
printf("%+d %+d\n",1000,-1000);     //输出正负号  +表示输出符号(正号或负号)
printf("% d % d\n",1000,-1000);     //正号用空格替代,负号输出,空格表示输出值为正时加上空格,为负时加上负号

---------------------

//当%后跟着o、x、X时,增加前缀0、0x、0X。是a、A、e、E、f、g、G时,一定使用小数点。默认的,如果使用.0控制不输出小数部分,则不输出小数点。是g、G时,尾部的0保留。
printf("%x %#x\n",1000,1000);       //输出0x
printf("%.0f %#.0f\n",1000.0,1000.0)//当小数点后不输出值时依然输出小数点
printf("%g %#g\n",1000.0,1000.0);   //保留小数点后后的0
printf("%05d\n",1000);              //前面补0
---------------------
当%后跟着“.”和十进制整数时,表示精度控制

(1)对于整型(d,i,o,u,x,X),precision表示输出的最小的数字个数,不足补前导零,超过不截断。

(2)对于浮点型(a, A, e, E, f ),precision表示小数点后数值位数,默认为六位,不足补后置0,超过则截断。

(3)对于类型说明符g或G,表示可输出的最大有效数字。

(4)对于字符串(s),precision表示最大可输出字符数,不足正常输出,超过则截断。precision不显示指定,则默认为0


printf("%.8d\n",1000);          //不足指定宽度补前导0,效果等同于%06d
printf("%.8f\n",1000.123456789);//超过精度,截断
printf("%.8f\n",1000.123456);   //不足精度,补后置0
printf("%.8g\n",1000.123456);   //最大有效数字为8位
printf("%.8s\n",“abcdefghij”);  //超过指定长度截断


输出结果:
00001000
1000.12345679
1000.12345600
1000.1235
abcdefgh
---------------------

共有0份作业   我来完成作业