zoukankan      html  css  js  c++  java
  • C 语言学习——printf()输出格式

    转载自:http://www.cnblogs.com/tureno/articles/3630689.html

    1、转换说明符

      %a [ %A ]          浮点数,十六进制数和 p- [ P- ] 记数法 [ C99 ]

      %c                     字符

      %d                     有符号十进制整数

      %f                      浮点数,包括 float 和 double

      %e [ %E ]          浮点数指数输出[ e- / E- 记数法 ]

      %g [ %G ]          浮点数不显示无意义的零

      %i                      有符号十进制整数( 与 %d 相同 )

      %u                     无符号十进制整数

      %o                     八进制整数

      %x [ %X ]          十六进制整数

      %P                    指针

      %s                    字符串

      %%                   “%”

    2、标志

      左对齐: “ - ” , “%-20s”

      右对齐: “ + ” , “%+20s”

      空格:若符号为正,则显示空格,负则显示"-"   e.g.   "% "      

      #:对c,s,d,u类无影响;对o类,在输出时加前缀o;对x类,在输出时加前缀0x;

               对e,g,f 类当结果有小数时才给出小数点。

    3、格式字符串

      [ 标志 ] [ 输出最少宽度 ] [ .精度 ] [ 长度 ] 类型

      "%-md":左对齐,若m比实际少时,按实际输出。

      “%m.ns”:输出m位,取字符串(左起)n 位,左补空格,当n > m or m 省略时 m = n;

        eg:"%7.2s" 输入 CHINA  ---> 输出 “     CH”

      “%m.nf”:输出浮点数,m 为宽度,n 为小数点右边数位。

        eg: "%" 输入 3852.99  --->输出 3553.0

      

      printf 的格式控制的完整格式:

      %-.n l 或 h 格式字符

      下面对组成格式说明的各项加以说明:

    1. % :表示格式说明的起始符号,不可缺少。
    2.  -  :有 - 表示左对齐输出,如省略表示右对齐输出。
    3.  0 :有0表示指定空位位填0,如省略表示指定空位不填。
    4.  m.n:m 值域宽,即对应的输出项在输出设备上所占的字符数。N 指精度。用于说明输出的实型数的小数位数。指定n时,隐含的精度为 n = 6 位。
    5. l 或 h :l 对整型指long型,对实型指double型。h 用于将整型的格式字符修正为short型。

    注意:一个 h 表示 short ,即 short int,两个 h 表示 short short,即 char

        “%hhx” 用于输出 char

        “%hx”   用于输出 short int

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

    格式字符

    格式字符用以指定输出项的数据类型和输出格式

    1、d 格式:用来输出十进制整数

    • %d :按照整型数据的实际长度输出。
    • %md : m为指定的输出字段的宽度。如果数据的位数小于m,则左端补以空格,若大于m,则按实际位数输出。
    • %ld : 输出长整型数据    

    2、o 格式:以无符号八进制形式输出整数。

    • “ %lo ”  对长整型格式输出。
    • “%mo”  指定字段宽度格式输出。

    3、x 格式:以无符号十六进制形式输出整数。

    • “%lx” 长整型格式输出。
    • “%mx” 指定字段宽度格式输出

    4、u 格式:以无符号十进制形式输出整数。

    • “%lu” 长整型格式输出
    • “%mu” 指定字段宽度格式输出

    5、c 格式:输出一个字符。

    6、s 格式:用来输出一个字符串。

    • "%s" :例printf("%s", "CHINA") 输出CHINA
    • "%ms" :输出的字符串占 m 列,如字符串本身长度大于 m ,则突破 m 的限制,将字符串全部输出。若字符串小于 m ,则左补空格。
    • "%-ms":如果字符串小于 m ,则在 m 列范围内, 字符串向左靠,右补空格。
    • "%-m.ns":其中m、n含义同上,n个字符输出在m列范围的左侧,右补空格。如果n>m,则自动取n值,即保证n个字符正常输出。

    7、f 格式:用来输出实数(包括单,双精度),以小数形式输出。

    • "%f":不指定宽度,整数部分全部输出并输出6位小数。
    • “%m.nf”:输出共占 m 列,其中有 n 为小数,如数值宽度小于 m 左端补空格
    • "%-m.nf":输出共占 n 列,其中有 n 位小数,如数值宽度小于 m 右端补空格

    8、e 格式:以指数形式输出实数。

    • "%e":数字部分(又称尾数)输出6位小数,指数部分占5位或4位。
    • "%m.ne" 和 "%-m.ne":m、n 和 “-” 字符含义与前面相同。此处 n 指数据的数字部分的小数位数, m 表示整个输出数据所占的宽度。 

    9、g 格式:自动选 f 格式或 e 格式中较短的一种输出,且不输出无意义的零。

  • 相关阅读:
    jumpserver安装教程
    正则表达式基础->
    Awk基础
    shell脚本练习题->1
    idea开发工具下载安装教程
    shell 数组基础->
    动荡的国庆前后
    Linux命令之查找
    2013年9月游戏测试总结-文档习惯
    将C#程序做成服务后服务自动停止的问题
  • 原文地址:https://www.cnblogs.com/xushuhai/p/9554159.html
Copyright © 2011-2022 走看看