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)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • java aqs详解_Java中的File文件类详解

    java aqs详解_Java中的File文件类详解今天学了学并发AQS机制,是抽象队列同步器,用户主要通过继承AQS类,来实现自定义锁,从而完成特定功能,AQS提供了两种锁(1)共享锁(2)排他锁。下面这个博客介绍的AQS机制挺不错可以看看原文链接一、概述  谈到并发,不得不谈ReentrantLock;而谈到ReentrantLock,不得不谈AbstractQueuedSynchronizer(AQS)!类如其名,抽象的队列式的同步器,AQS定义了一套多线程访问共享资源的同步器框架,许多同步类实现都依赖于它,如常用的ReentrantLock

    2022年8月8日
    11
  • ffmpeg源码编译_开源代码平台

    ffmpeg源码编译_开源代码平台 注:本文来转自http://www.aurora-x.net/wiki/CompileFFmpegWindows,前段时间用ffempg和x264开发了h264编码和解码的Filter,这篇文章是我编译ffmeg工程从网上搜到的最好的一份文档,及其详尽,我就是按照这个文档的一步一步地来做,第一次就顺利地完成了ffmepg的编译。如果你也在学习ffmpeg,来仔细学习一下这份文档吧,以后

    2022年9月25日
    2
  • 无限弹窗(bat代码 整人恶作剧)

    无限弹窗(bat代码 整人恶作剧)炸弹弹窗,是使用bat制作的一个小程序,效果就是执行程序后会一直不停地弹出窗口,用来恶作剧。下面我们就来看看详细的教程。打开文件,输入以下代码::startstartcmdgotostart点击文件,选择另存为把文件名后面加上.bat保存类型选择所有文件点击保存…

    2022年6月17日
    42
  • @RestController的作用「建议收藏」

    @RestController的作用「建议收藏」原文:文章收藏于IT老兵博客。正文理解一下@RestControlle的作用。ThiscodeusesSpring4’snew @RestController annotation,whichmarkstheclassasacontrollerwhereeverymethodreturnsadomainobjectinsteadofa…

    2022年6月17日
    41
  • Idea激活码永久有效Idea2019.3.5激活码教程-持续更新,一步到位

    Idea激活码永久有效Idea2019.3.5激活码教程-持续更新,一步到位Idea激活码永久有效2019.3.5激活码教程-Windows版永久激活-持续更新,Idea激活码2019.3.5成功激活

    2022年6月17日
    166
  • UML一一 类图关系 (泛化、实现、依赖、关联、聚合、组合)[通俗易懂]

    UML一一 类图关系 (泛化、实现、依赖、关联、聚合、组合)[通俗易懂]目录类图关系概述面向对象是符合人们对现实世界的思维模式,利用面向对象设计,特别是采用各种设计模式来解决问题时,会设计多个类,然后创建多个对象,一个设计良好的类,应该是兼顾信息和行为并且高内聚。而不同的类之间,应该做到松耦合。当面对应用系统或者需要解决的问题经常是复杂的、高度抽象的,我们创建的多个对象往往是有联系的,通常对象之间的关系可以分为以下几类:泛化关系实现关系依赖关…

    2022年7月12日
    21

发表回复

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

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