C语言之printf函数

一  基本用法

       格式化控制符:%d %c %ld %lf

       意思是:相当于在要输出的语句里面挖了一个坑,也就是在内存中开辟空间,然后再那个坑的位置(也就是开辟好的空间),填上你想要显示的值

 

 printf("%d\n",age);

 printf("%c\n",ch);

 printf("%f\n",f);

 printf("%ld\n",lNum);

 printf("%lf\n",d);

 

 %d:代表挖一个int类型的坑,然后你需要给我填入一个int类型的数据

 %c:代表挖一个char类型的坑,然后你需要给我一个char类型的数据

 %f:代表挖一个float类型的坑,然后你需要给我一个float类型的数据

 %ld:代表挖一个long类型的坑,然后你需要给我一个long类型的数据

 %lf: 代表挖一个double类型的坑,然后你需要给我一个double类型的数据

 

二 详解

 %d:输出int类型

 %md:m代表这个整数占多少位,但是还是输出int 不足部分以空格补齐

 

     如果m是负数,那么空格在后面补齐

     如果实际的位数>=m,那么按原样输出

 %0md:(可能会用,重点)

       m代表这个整数占多少位,而且输出的还是int不足部分以0补齐

 如果实际位数 >= m ,那么还是按原样输出

     前面不能加负号

 %.nf:(重点)

       n代表输出几位小数,但是还是输出float

       代表保留小数点后几位,然后保留的最后一位会根据它的下一位做四舍五入

 例: 10.3333

     如果用%.2f输出,会输出 10.33

 

 10.3352

 如果用%.2f输出,会输出 10.34

 %m.nf:(非重点,了解有这回事)

     m代表这个小数一共占用几列,n代表保留几位小数,不足部分以空格补齐

 

       如果实际位数或者保留小数点后几位的位数 大于或者等于m,那么以实际位数或者保留小数后几位的位数输出

tips: 代码例子如下

 

#include <stdio.h>

 

int main(int argc, const char * argv[]) {

   

    //prinrf基本用法

   

    //%d

    int age = 14;

    printf("你好,今年我%d岁\n",age);

   

    //%c

    char ch = 'a';

    printf("%c\n",ch);

   

    //%f  默认输出小数点后6位

    float f = 10.3333f;

    printf("%f\n",f);

   

    //%ld

    long lNum = 20000l;

    printf("lNum = %ld\n",lNum);

   

    //%lf

    double d = 32103.32312;

    printf("%lf\n",d);

   

   

   

    //printf函数的详解

   

    //%md的情况

    /*

     //因为要占两位,所以打印空格3

     printf("%d\n",3);//打印3

     printf("%2d\n",3);//打印 3

     printf("%5d\n",3);//打印    3

    

     printf("%-2d\n",3);//打印3空格

     printf("%3d\n",324);//那就是3位,324

     printf("%3d\n",1234);//原样输出 1234

     */

   

    //%0md的情况

    /*

     printf("%02d\n",3);//打印03

     printf("%05d\n",3);//打印00003

    

    

     printf("%02d\n",3);//打印30

     printf("%05d\n",3);//打印00003

    

    

     printf("%03d\n",345);//打印345

     printf("%03d\n",12345);//打印12345

     */

   

    //%.mf的情况

    /*

     float lf = 103.3333f;

     printf("%.2f\n",lf);//打印103.33

    

     float f2 = 10.3355667;

     printf("%.2f\n",f2);//打印10.34

     */

   

    //%m.nf的情况

    /*

     float f1 = 103.33;

    

     printf("%10.2f\n",f1);//一共占用10列,4个空格所以是输出的    103.33

    

     printf("%5.2f\n",f1);//输出103.33

    

     float f2 = 103.335678;

     printf("%2.2f\n",f2);//输出103.34

     */

   

   

    return 0;

}

 

posted @ 2016-10-21 21:25  zero的小纸条  阅读(1195)  评论(0编辑  收藏  举报