美文网首页
有效的使用C的输入和输出

有效的使用C的输入和输出

作者: Sivin | 来源:发表于2016-09-05 14:37 被阅读43次

    数据输出

    例:

    有两个变量:
    int i;float x;
    i=40; x = 839.21f
    
    • %d表示的是十进制整数
    • %x表示的十六进制整数
    • %o表示的是八进制整数
    • %u表示的无符号整数
    • %p表示输出数据的内存地址
    • %f表示的定点十进制显示float

    什么是定点?什么是浮点?

    定点就是小数点的位置是固定的,
    浮点就是小数点的位置是不固定的,通常是以(指数形式或者又叫科学计数法的形式)


    %d----以十进制显示变量i,并且占用的空间最少
    %5d----以十进制显示变量i,同时至少占用5个字符的空间,默认是右对齐,不够的补零。
    %-5d----以十进制显示变量i,通知至少占用5个字符的空间,左对齐方式,不够的右边补零。
    %5.3d---以定点十进制显示变量i,至少占用5个字符的空间,默认右对齐方式,至少有3位有效数字,因此前面补零来保证有效数字的位数。
    %-5.3d----以定点十进制显示变量i,至少占用5个字符的空间,左对齐方式,至少有3位有效数字,因此前面补零来保证有效数字的位数。

    • 总结一下:形如%-m.nd其中d表示的是定点十进制,m表示的最少占用的字符空间,如果不够的话根据对其方式补零。n表示的是至少有效数字的位数,不够前面补零。负号的有无表示的是对齐方式。没有负号表示的是默认右对齐。有则表示默认左对齐。

    %f----以定点十进制显示,并占用最少的字符空间。
    %10.3f-----以定点十进制显示,并且总共占用10个字符空间,其中小数点后面保留3位有效数字。(记住小数点也占用一个字符)。

    • 这里总结一下,对于%m.nf%m.nd相比,负号的有无功能是一致的,mn则各有不同,f结尾的m表示的总共的字符数,d结尾的m表示的是至少的字符数,f结尾的n表示的是保留的小数的位数,d结尾的n表示的是至少有效数字的位数,经过实际的测试,对于形如%m.nfn的位数最好不要超过m,经过测试发现在m>n的情况下,一切正常,当m<n的时候会发现程序也能输出但是不是预期的结果。同时如果你变量的本身的位数超过了m也会有问题。

    %10.3e----以指数的形式显示变量x,总共占用10个字符。其他的规则和%m.nf相似。

    相关文章

      网友评论

          本文标题:有效的使用C的输入和输出

          本文链接:https://www.haomeiwen.com/subject/jiurettx.html