精华内容
下载资源
问答
  • C语言格式控制

    2019-09-06 17:03:30
  • c语言格式控制参数

    2020-03-12 23:27:57
    c语言格式控制参数 一、整数的格式控制参数 (1)%d 十进制有符号整数(int) (2)%md 与%d相比用m限制了输出的数据位数。当数据的位数小于m时前面补空格 当位数大于m时,数据按原数输出。 例: (2)%ld 十进制有符号...

    一、整数的格式控制参数

    (1) %d

    %d	  十进制有符号整数(int)
    

    (2) %md

    %md
    与%d相比用m限制了输出的数据位数。当数据的位数小于m时前面补空格
    当位数大于m时,数据按原数输出。
    

    在这里插入图片描述

    (3) %ld

    %ld    十进制有符号长整数(long intlong)
    

    (4) %u

    %u       十进制无符号整数(unsigned int)
    

    (5) %mu

    %mu
    与%u相比用m限制了输出的数据位数。当数据的位数小于m时前面补空格
    当位数大于m时,数据按原数输出。
    

    (6) %lu

    %lu   十进制无符号长整数(unsigned long intunsigned long)
    

    (7) %o(这是英文字母o)

    %o(这是英文字母o)   以八进制输出
    

    (8) %#o

    %#o(这是英文字母o) 输出时显示八进制前缀
    

    (9) %0x(这里是零)和%x 和%X %0X

    %0x(这里是零)   以十六进制数输出          小写
    %x              以十六进制数输出          小写
    %X              以十六进制数输出    字母是大写的
    %0X             以十六进制数输出    字母是大写的
    

    在这里插入图片描述

    (10) %#0x

    %#0x(这里是零)  输出时显示十六进制前缀
    

    在这里插入图片描述

    (11) %lld

    %lld    输出 long  long (int)

    (12)%llu

    %llu  输出 unsigned long  long (int)

    二、浮点数(实数)格式控制参数

    (1) %f

    %f   输出(十进制)单精度浮点数或者双精度浮点数,整数部分全部输出小数部分为6位。
    

    (2) %lf

    %lf   输出(十进制)双精度浮点数,整数部分全部输出小数部分为6位。
    

    在这里插入图片描述
    在这里插入图片描述

    可以看出用%f输出双精度浮点数效果和用%lf一样,不会失真。
    用%lf输出单精度浮点数效果和%f一样,并不会出错。
       
    而 scanf 输入情况下 double 必须用 %lf,float %f 和%lf可以混用。
    

    在这里插入图片描述
    在这里插入图片描述

    可以看出在scanf()double 只能用%lf,而float可以用%f和%lf。
    注意: 我们可以发现输出的小数位数最后一位会自动的四舍五入。
    

    (3) %m.nf 和 %-m.nf

    %m.nf 和 %-m.nf  以固定的格式输出浮点数。
    m指的是 包括小数点 在内的位数,n是指小数点后的位数。
    当总的数据位数小于m时,数据左端补零。如果大于m则原样输出整数,小数位跟n参数的大小 来定。
    
    n参数来控制小数点后的位数,最后一位四舍五入。当小数点后的位数大于n时截取
    到小数点后的第n位且第n位四舍五入。当n大于6这时输出的数据最后几位会失真,
    这是因为浮点数的精度为小数点后后六位。
    

    在这里插入图片描述
    如果是%m.0f则不输出小数部分,包括小数点。
    在这里插入图片描述

    %-m.nf  和   %m.nf的功能一样,不过加了一个数据左对齐,右端补空格。
    

    在这里插入图片描述

    (4) %e

    %e     以科学计数法输出浮点数
    
    这里补充一下浮点数变科学计数的规则:E或e的前面必须有数,
    E或e的后面必须是整数。这里的E或e值的是10

    在这里插入图片描述

    (5) %le

    %le    %le意思是用科学计数法输出的double数据。
    其中%l表示双精度数据double,e表示科学计数法,也就是指数形式。
    

    (6) %g

    %g   用来输出浮点数,它根据数值的大小自动选f格式(一般的小数格式)或e格式(科学计数法格式)。
    它的选择标准为输出时占宽度较小的一种。且%g不输出无意义的0。
    如果%g没有指定精度(单纯的%g),采用默认值,输出六位有效。
    

    在这里插入图片描述
    == 可以看出默认的有效数字是6位。==
    在这里插入图片描述
    可以看出%g不会输出无意义的0。

    三、字符的格式控制参数

    %c

    %c          输出单个字符
    

    %s

    %s   输出字符串
    

    %m.ns 和 %-m.ns

    %m.ns   输出m位的字符从字符串的左端开始截取n位的字符,如果字符的个数大于m则输出全部字符;
    

    在这里插入图片描述
    如果n位小于m位,则左端补空格。
    在这里插入图片描述
    == 如果说n大于m则从字符串的左端开始截取n位的字符。==
    在这里插入图片描述
    == %-m.ns与%m.ns相比是右端补空格。==

    四、其他

    %%

    %%     输出%

    %n

    %n用于接受一个uint,代表到%n为止所输入的字符数,其本身不消耗字符
    用于 scanf()

    在这里插入图片描述

    如上图:   1234 共四个字符  将4赋值给b
    目前 %n  不经常使用
    

    %0

    %0格式控制符,输出数值时指定左面不使用的空位置自动填0

    在这里插入图片描述

    展开全文
  • c语言格式控制.doc

    2020-04-05 11:32:20
    用在输入输出函数scanf( )和printf( )中的格式控制部分,即第一个逗号前的双引号内,用来对输出的数据(标识符或表达式)进行格式说明,包括数据类型、长度、对齐方式、小数位数等。
  • C语言格式控制

    2019-10-04 13:56:01
    %d 整型格式控制符 %f 浮点型(单精度)格式控制符 %i 整型格式控制符,和%d完全一样 %u 无符号整型格式控制符 %c 字符格式控制符 %s 字符串格式控制符 %lf 双精度格式控制符 %e 指数形式输出格式控制符 %o ...
    1. %d     整型格式控制符
    2. %f      浮点型(单精度)格式控制符
    3. %i       整型格式控制符,和%d完全一样
    4. %u      无符号整型格式控制符
    5. %c      字符格式控制符
    6. %s      字符串格式控制符
    7. %lf      双精度格式控制符
    8. %e      指数形式输出格式控制符
    9. %o     无符号八进制数格式控制符
    10. %x     无符号十六进制格式控制符,如:1f
    11. %X     无符号十六进制格式控制符,如:1F
    12. %g     自动选f格式或e格式中较短的一种,不输出无意义的零
    说明:
    1,%-5.2f  表示输出数据长度为5的数,且保留2位小数,向左对齐
    2,%5.2f 表示输出数据长度为5的数,且保留2位小数,向右对齐
    3,-  表示数向左对齐。+ 表示数向右对齐。一般 + 省略不写
    4,%m.nf 中m表示整个数据的整体长度(包括小数点),n表示小数点后面的数的长度

    转载于:https://www.cnblogs.com/dzqdzq/archive/2013/04/07/3003282.html

    展开全文
  • c语言格式控制

    2019-10-07 07:44:16
    printf的格式控制的完整格式:% - 0 m.n l或h 格式字符下面对组成格式说明的各项加以说明...

    http://zhidao.baidu.com/link?url=-YJjz3U0fd_eSW9eLa8ankGo_QbyOOOaKYWyAY9g4mKWQj0DN6l12OSLJz24U8jCwo18MiBCzwpkFLoDM02yv_

     

    printf的格式控制的完整格式:
    %     -     0     m.n     l或h     格式字符
    下面对组成格式说明的各项加以说明:
    ①%:表示格式说明的起始符号,不可缺少。
    ②-:有-表示左对齐输出,如省略表示右对齐输出。
    ③0:有0表示指定空位填0,如省略表示指定空位不填。
    ④m.n:m指域宽,即对应的输出项在输出设备上所占的字符数。N指精度。用于说明输出的实型数的小数位数。为指定n时,隐含的精度为n=6位。
    ⑤l或h:l对整型指long型,对实型指double型。h用于将整型的格式字符修正为short型。

    ---------------------------------------
    格式字符
    格式字符用以指定输出项的数据类型和输出格式。
    ①d格式:用来输出十进制整数。有以下几种用法:
    %d:按整型数据的实际长度输出。
    %md:m为指定的输出字段的宽度。如果数据的位数小于m,则左端补以空格,若大于m,则按实际位数输出。
    %ld:输出长整型数据。
    ②o格式:以无符号八进制形式输出整数。对长整型可以用"%lo"格式输出。同样也可以指定字段宽度用“%mo”格式输出。
    例:
          main()
          { int a = -1;
            printf("%d, %o", a, a);
          }
         运行结果:-1,177777
         程序解析:-1在内存单元中(以补码形式存放)为(1111111111111111)2,转换为八进制数为(177777)8。
    ③x格式:以无符号十六进制形式输出整数。对长整型可以用"%lx"格式输出。同样也可以指定字段宽度用"%mx"格式输出。
    ④u格式:以无符号十进制形式输出整数。对长整型可以用"%lu"格式输出。同样也可以指定字段宽度用“%mu”格式输出。
    ⑤c格式:输出一个字符。
    ⑥s格式:用来输出一个串。有几中用法
    %s:例如:printf("%s", "CHINA")输出"CHINA"字符串(不包括双引号)。
    %ms:输出的字符串占m列,如字符串本身长度大于m,则突破获m的限制,将字符串全部输出。若串长小于m,则左补空格。
    %-ms:如果串长小于m,则在m列范围内,字符串向左靠,右补空格。
    %m.ns:输出占m列,但只取字符串中左端n个字符。这n个字符输出在m列的右侧,左补空格。
    %-m.ns:其中m、n含义同上,n个字符输出在m列范围的左侧,右补空格。如果n>m,则自动取n值,即保证n个字符正常输出。
    ⑦f格式:用来输出实数(包括单、双精度),以小数形式输出。有以下几种用法:
    %f:不指定宽度,整数部分全部输出并输出6位小数。
    %m.nf:输出共占m列,其中有n位小数,如数值宽度小于m左端补空格。 
    %-m.nf:输出共占n列,其中有n位小数,如数值宽度小于m右端补空格。
    ⑧e格式:以指数形式输出实数。可用以下形式:
    %e:数字部分(又称尾数)输出6位小数,指数部分占5位或4位。
    %m.ne和%-m.ne:m、n和”-”字符含义与前相同。此处n指数据的数字部分的小数位数,m表示整个输出数据所占的宽度。
    ⑨g格式:自动选f格式或e格式中较短的一种输出,且不输出无意义的零。

    ---------------------------------------
    关于printf函数的进一步说明:
    如果想输出字符"%",则应该在“格式控制”字符串中用连续两个%表示,如:
    printf("%f%%", 1.0/3);
    输出0.333333%。

    ---------------------------------------
    对于单精度数,使用%f格式符输出时,仅前7位是有效数字,小数6位.
    对于双精度数,使用%lf格式符输出时,前16位是有效数字,小数6位.


    对于m.n的格式还可以用如下方法表示(例)
    char ch[20];
    printf("%*.*s\n",m,n,ch);
    前边的*定义的是总的宽度,后边的定义的是输出的个数。分别对应外面的参数m和n 。我想这种方法的好处是可以在语句之外对参数m和n赋值,从而控制输出格式

    我自己敲过格式符的代码,给你看看吧:

    转载于:https://www.cnblogs.com/Billy-rao/p/3914451.html

    展开全文

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 2,672
精华内容 1,068
关键字:

c语言格式控制

c语言 订阅