【三支火把】---一份程序看懂C程序printf()的几种常用用法

时间:2022-10-13 19:03:34

    闲来继续巩固我的学习之路,今天略微整理了一下,C程序中Printf()的一些常用用法,虽然自己以前好像会,但是不够系统,今天大致整理了一些,先贴上来看看,以后在看到其他,继续补充,希望能帮到一些像我一样的菜鸟…………话不多说,直接上代码,看的朋友可以直接copy一下,在自己的PC上运行一下,应该会理解的更透彻,注释我已经写的很清楚了。

# include "stdio.h"

int main(void)
{
    int a = 0; 
    printf("整数:%d\n",a);             //输出格式为%d,以10进制打印一个整数
    
    printf("无符号整数:%u\n",-37);     //这样输出的是一个不合适的结果,再次强调一下
    
    printf("%o\n",16);     //%o,以八进制输出数据
    
    printf("%x\n",46);     //%x,16进制(小写a……)打印 数据 
    printf("%X\n",46);     //%x,16进制(大写A……)打印 数据 
    
    printf("%g\n",1.0/3.0);   //%g,打印浮点数结果,保留6位有效值 
    printf("%e\n",1.0/3.0);   //%e,强制以指数形式打印浮点数结果,保留小数点后6位有效值 
    printf("%f\n",1.0/2.0);   //%g,强制以小数形式打印浮点数结果,保留小数点后6位有效值 

    //类型修饰符 
    /*.对于%d,%o,%x,%u dou 指定了打印数字的最少位数,不够前补0*/    
    printf("%.3d,%.3x\n",123,16);
    
    /*.对于%E,%e,%f 都指定了打印数字小数点后的最少位数,不够后补0*/    
    printf("%.3f,%.3e\n",1.0/3,1.0/3);
    
        
    //宽度修饰符 
    /*.对于%g, 指定了打印数值的有效位数*/    
    printf("%.3g,%.7g\n",1.0/3,1.0/3);
    
    /*.对于%s, 指定了打印字符串的字符个数*/
    char *s = "szhb";    
    printf("%.3s\n",s);
    
     
    /*标志符:-号,指定输出左对齐,仅在宽度修饰符存在时才有意义*/
    printf("%2d\n %2d\n %2d\n",12,1,123);
    printf("%-2d\n %-2d\n %-2d\n",12,1,123);
    
    /*标志符:+号,输出数据的同时输出符号*/
    printf("%+d\n %+2d\n",-12,1);
    /*标志符#*/
    printf("%#x %#X\n",16,16);   //输出%x,在输出前加上0x 
    printf("%f %.1f %g %#g\n",3.0,3.0,3.0,3.0); /*对于浮点数,
                                                第一是必须打印出小数点,第二是%g后面的0需打印出*/ 
}