C语言之格式化输出字符

C语言之格式化输出字符1、格式化输出字符:%d十进制有符号整数%ld十进制long有符号整数%u十进制无符号整数%o以八进制表示的整数%x以十六进制表示的整数%ffloat型浮点数%lfdouble型浮点数%e指数形式的浮点数%c单个字符%s字符串%p指针的值2、特殊应用:%5d要求宽度为5位,如果不足5位,前面空格补齐;如果足够5位,此语句无效。%05d要求宽度为5位,如果不足5位,前面0补…

大家好,又见面了,我是你们的朋友全栈君。

1、格式化输出字符:

%d   十进制有符号整数

%ld  十进制long有符号整数

%u   十进制无符号整数

%o   以八进制表示的整数

%x   以十六进制表示的整数

%f    float型浮点数

%lf   double型浮点数

%e   指数形式的浮点数

%c   单个字符

%s   字符串

%p   指针的值

2、特殊应用:

%5d     要求宽度为5位,如果不足5位,前面空格补齐;如果足够5位,此语句无效。

%05d   要求宽度为5位,如果不足5位,前面0补齐;如果足够5位,此语句无效。

%-5d    要求宽度为5位,如果不足5位,后面空格补齐;如果足够5位,此语句无效。

%.2d    小数点后只保留2位小数。

#include <stdio.h>

// 格式化输出字符的使用

int main()
{
    // 1、输出整数
    int  a = 100;
    // ①输出十进制数 用%d
    printf("a = %d\n", a);
    // ②输出八进制数 用%o
    printf("a = %o\n", a);
    printf("a = %#o\n", a);   // 使用%#o,可以输出八进制数的前导符(0)
    // ③输出十六进制数 用%x
    printf("a = %X\n", a);
    printf("a = %#x\n", a);   // 使用%#x,可以输出十六进制数的前导符(0x)

    // 输出浮点数数据
    // 默认小数点后保留6位,并且可以四舍五入,如果不够6位自动补0
    float b = 3.1415926;
    double c = 1234.1234;
    printf("b = %f\n", b);
    printf("c = %lf\n", c);

    // 输出字符,使用%c输出字符,使用%d可以输出字符的ASCII码值
    char d = 'y';
    printf("d = %c, d's ASCII:%d\n", d , d);

    // 输出字符串
    // 没有专门的变量保存字符串,一般使用数组来保存
    char e[] = "Hello World!";
    printf("%s\n", e);

    // 输出地址,使用%p
    int f = 999;
    // &:取一个变量的地址,一般地址用十六进制数标识
    printf("&f = %p\n", &f);

    printf("======================================\n");

    int m = 456;
    printf("%d%d\n", m, m);
    // %5d:输出的宽度为5,右对齐,如果实际数据的宽度小于5,则左边位置补空格,如果大于5,则没有用
    printf("%5d%5d\n", m , m);
    // %05d:输出的宽度为5,右对齐,如果实际数据的宽度小于5,则左边位置补0,如果大于5,则没有用
    printf("%05d%05d\n", m , m);
    // %-5d:输出的宽度为5,左对齐,如果实际数据的宽度小于5,则右边边位置补空格,如果大于5,则没有用
    printf("%-5d%-5d\n", m , m);

    float n = 3.6789;
    printf("n = %f\n", n);
    // %.2f:小数点后保留2位小数,并且四舍五入
    printf("n = %.2f\n", n);
    // %5.2f: 输出的宽度为5,并且小数点后面为2位小数,如果实际数据长度小于5,左边补空格,如果大于5,则正常输出
    printf("n = %5.2f\n", n);

    return 0;
}

执行结果如下:

C语言之格式化输出字符

 

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/163857.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • SqlSessionTemplate探究

    SqlSessionTemplate探究问题就是:无论是多个dao使用一个SqlSessionTemplate,还是一个dao使用一个SqlSessionTemplate,SqlSessionTemplate都是对应一个sqlSession,当多个web线程调用同一个dao时,它们使用的是同一个SqlSessionTemplate,也就是同一个SqlSession,如何保证线程安全,关键就在于代理:(1)首先,通过如下代码创建代理类

    2022年5月31日
    42
  • lock接口是什么意思_mutextrylock无效

    lock接口是什么意思_mutextrylock无效正文开始前先把lock接口的源码摆出来(精简后的,特意保留了部分注释)publicinterfaceLock{/***Acquiresthelock.*/voidlock();/***Acquiresthelockunlessthecurrentthreadis*{@linkpl…

    2022年10月15日
    0
  • db4o基础一[通俗易懂]

    db4o基础一[通俗易懂]1.打开数据库IObjectContainerdb=Db4oFactory.OpenFile(YapFileName);\\’c:\db4obasic.yap’//IObjectConta

    2022年7月1日
    23
  • HTML中加入空格和Tab

    HTML中加入空格和Tab空格 Tab 注意,Tab只有在…这样的标记内部才起作用,在其他地方只相当于一个空格。举例:p,li{white-space:pre-wrap;}灿哥哥   的 博客显示效果

    2022年6月16日
    149
  • Vue上传图片_解调的三种方式

    Vue上传图片_解调的三种方式项目中需要上传图片可谓是经常遇到的需求,本文将介绍3种不同的图片上传方式,在这总结分享一下,有什么建议或者意见,请大家踊跃提出来。没有业务场景的功能都是耍流氓,那么我们先来模拟一个需要实现的业务场景。假设我们要做一个后台系统添加商品的页面,有一些商品名称、信息等字段,还有需要上传商品轮播图的需求。我们就以Vue、Element-ui,封装组件为例子聊聊如何实现这个功能。其他框架或者不用框架…

    2022年10月16日
    0
  • 【Redis】缓存穿透、缓存雪崩、缓存预热、缓存降级

    【Redis】缓存穿透、缓存雪崩、缓存预热、缓存降级【Redis】缓存穿透、缓存雪崩、缓存预热、缓存降级

    2022年4月25日
    40

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号