zoukankan      html  css  js  c++  java
  • C语言的格式符

    转至:http://blog.csdn.net/zhanzheng520/article/details/10434791
     
    一、格式符含义
    1、d格式符:按十进制格式输出。
    %d         输出数字长度为变量数值的实际长度
    %md        输出m位(不足补空格,大于m位时按实际长度输出)
    %ld,%mld  l(小写字母L)表示输出“长整型”数据
    %0md,%0mld 0(数字0)表示位数不足m时补0
    注:%后面的m(位数控制)、0(位数不足补0)对于其他格式符也适用。    
    例:(□表示空格)
    int i=123; 
    long j=123456; 
    printf("%d□5d□05d,□ld□8ld□08ld",i,i,i,j,j,j); 
    输出:123□□□123□00123,□123456□□□123456□00123456 
    2、o(字母)格式符:按八进制格式输出。(不会出现负数格式)
    3、x格式符:按十六进制格式输出。(不会出现负数格式)
    4、u格式符:用于输出unsigned类型数据。
    例:main() 

      unsigned int a=65535; 
      int b=-2; 
      printf("a=%d,%o,%x,%u ",a,a,a,a); 
      printf("a=%d,%o,%x,%u ",b,b,b,b);
    }   
    输出:a=-1,177777,ffff,65535
         b=-2,177776,fffe,65534
    5、c格式符:以字符形式输出。
    6、s格式符:以字符串格式输出。
    例:printf("%s","CHINA"); 
    %ms    m指定宽度(不足时左补空格,大于时按实际宽度输出)
    %-ms   左对齐,不足m时右补空格
    %m.ns  输出占m个字符位置,其中字符数最多n个,左补空格
    %-m.ns 同上,右补空格
    7、f格式符:按实数格式输出。
    %f       按实数格式输出,整数部分按实际位数输出,6位小数 
    %m.nf    总位数m(含小数点),其中n位小数 
    %-m.nf   同上,左对齐 
    例:main() 
    { float x, y; 
      x=111111.111; y=222222.222; 
      printf("%f", x+y);  
    }   
    程序输出: 333333.328152(实数运算中误差不可避免) 
    例:main() 
    { double x,y; double x2,y2; 
      x=1111111111111.111111111; y=2222222222222.222222222; 
      x2=1111111111111.111; y2=2222222222222.222; 
      printf("%f %f", x+y, x2+y2);       /* 13位整数,9位小数 */   
    }   
    程序输出: 3333333333333.333010 3333333333333.333010(相同) 
    注意
        从以上两例可以看出,实数运算中误差不可避免,double比float精度高。
        float实数(单精度)的有效位数是7位,double实数(双精度)的有效位数是16位,超过有效位数的输出和输入均无意义。
    例:
    main() 
    {  float f=123.456; 
      printf("%f□□%10f□□%10.2f□□%.2f□□%-10.2f",f,f,f,f,f);  

    }   
    输出结果: 
      123.455994□□123.455994□□□□□□123.46□□123.46□□123.46 
    8、e格式符:以指数形式输出实数。%e 输出13位,其中:1位整数,1位小数点,6位小数,5位指数(含字符e和指数的符号) 
    9、g格式符:根据数值大小,自动选择f或e格式输出。
    二、使用注意
    1、%是printf()的格式说明符,若要直接输出字符%,在格式控制中使用两个连续的%。
    例:printf("%f%%", 1.0/3)     输出: 0.333333%。
    2、通常在有格式字符o和x按八进制和十六进制形式输出整数时,在数值前不出现0和0x,可在%和格式字符间插入#来实现。
    例:printf(“%o,%#o,%x,%#x ”,10,10,10,10);
    输出:12,012,a,0xa
    3、指定输出宽度的同时指定左对齐可在宽度前插入“—”来实现

  • 相关阅读:
    Eclipse Clojure 开发插件
    leiningen安装记录
    XX-NET史上最详细完整教程
    使用Chrome浏览器设置XX-net的方法
    Sublime text 3搭建Python开发环境及常用插件安装
    python集合(set)类型的操作
    python编码问题在此终结
    新版的 selenium已经放弃PhantomJS改用Chorme headless
    python爬虫积累(一)--------selenium+python+PhantomJS的使用(转)
    Pyinstaller打包selenium去除chromedriver黑框问题解决!!!
  • 原文地址:https://www.cnblogs.com/sjxbg/p/5467721.html
Copyright © 2011-2022 走看看