桂发祥总店地址:C语言字符串格式化显示

来源:百度文库 编辑:中财网 时间:2024/05/06 20:36:27

 符号                  作用 
────────────────────────── 
    %d              十进制有符号整数 
    %i              输入整数 ,可以是带前导0的八进制数或0x的十六进制数
    %u              十进制无符号整数 
    %f              浮点数 
    %s              字符串 
    %c              单个字符 
    %p              指针的值(内存地址) 
    %e              指数形式的浮点数 
    %x, %X          无符号以十六进制表示的整数 
    %0              无符号以八进制表示的整数 
    %g, %G          自动选择合适的表示法 
━━━━━━━━━━━━━━━━━━━━━━━━━━

格式字符串的一般形式为:

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

其中方括号[]中的项为可选项。各项的意义介绍如下:

  1.类型类型字符用以表示输出数据的类型,其格式符和意义下表所示:

        表示输出类型的格式字符 格式字符意义

        d 以十进制形式输出带符号整数(正数不输出符号)

        o 以八进制形式输出无符号整数(不输出前缀O)

        x 以十六进制形式输出无符号整数(不输出前缀OX)

        u 以十进制形式输出无符号整数

        f 以小数形式输出单、双精度实数

        e 以指数形式输出单、双精度实数

        g 以%f%e中较短的输出宽度输出单、双精度实数

        c 输出单个字符

        s 输出字符串  

  2.标志

  标志字符为-、+、#、空格四种,其意义下表所示:

标志格式字符 标 志 意 义

- 结果左对齐,右边填空格

+ 输出符号(正号或负号)空格输出值为正时冠以空格,为负时冠以负号

# 对c,s,d,u类无影响;对o类, 在输出时加前缀。对x类,在输出时加前缀0x;对e,g,f 类当结果有小数时才给出小数点    

  3.输出最小宽度

  用十进制整数来表示输出的最少位数。 若实际位数多于定义的宽度,则按实际位数输出, 若实际位数少于定义的宽度则补以空格或0。

  4.精度

  精度格式符以“.”开头,后跟十进制整数。本项的意义是:如果输出数字,则表示小数的位数;如果输出的是字符, 则表示输出字符的个数;若实际位数大于所定义的精度数,则截去超过的部分。

  5.长度

  长度格式符为h,l两种,h表示按短整型量输出,l表示按长整型量输出
说明:
(1)、可以在”%”和字母之间插进数字表示最大场宽。
例如: %3d 表示输出3位整型数, 不够3位右对齐。
%9.2f 表示输出场宽为9的浮点数, 其中小数位为2, 整数位为6,小数点占一位, 不够9位右对齐。
%8s 表示输出8个字符的字符串, 不够8个字符右对齐。
如果字符串的长度、或整型数位数超过说明的场宽, 将按其实际长度输出。
但对浮点数, 若整数部分位数超过了说明的整数位宽度, 将按实际整数位输出;若小数部分位数超过了说明的小数位宽度, 则按说明的宽度以四舍五入输出。
另外, 若想在输出值前加一些0, 就应在场宽项前加个0。
例如: %04d 表示在输出一个小于4位的数值时, 将在前面补0使其总宽度为4位。
如果用浮点数表示字符或整型量的输出格式, 小数点后的数字代表最大宽度,小数点前的数字代表最小宽度。
例如: %6.9s 表示显示一个长度不小于6且不大于9的字符串。若大于9, 则第9个字符以后的内容将被删除。
(2)、可以在”%”和字母之间加小写字母l, 表示输出的是长型数。
例如: %ld 表示输出long整数,%lf 表示输出double浮点数
(3)、可以控制输出左对齐或右对齐, 即在”%”和字母之间加入一个”-” 号可说明输出为左对齐, 否则为右对齐。
例如: %-7d 表示输出7位整数左对齐,%-10s 表示输出10个字符左对齐
(4)、可以在格式化字符和%之间加一个*号,用来跳过对应的输入数据。
例如:scanf("%d%*d%d",&a,&b);当输入10 20 30时,a和b的值分别是10与30.