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 migration_EF Add-Migration总结

    java migration_EF Add-Migration总结EFCodeFirst 对数据库任何的操作 千万不要手工去修改 解释 add migration 命令是 codefirstmig 中的关键命令之一 当您对领域域模型进行更改并需要将它们时添加到数据库中 您将创建一个新的迁移 这是通过 Add Migration 命令完成的 用最简单的形式 你只需要提供迁移名称展现形式 命令将您的更改构建到一个 cs 文件中 这个 cs 文件与配置文件放在同一个文件

    2025年7月29日
    4
  • 矩阵论投影变换_分块矩阵的行列式公式

    矩阵论投影变换_分块矩阵的行列式公式概述:什么是投影?计算机显示器是一个二维表面,所以如果你想显示三维图像,你需要一种方法把3D几何体转换成一种可作为二维图像渲染的形式。那也正是投影做的。拿一个简单的例子来说,一种把3D对象投影到2D表面的方法是简单的把每个坐标点的z坐标丢弃。

    2022年10月4日
    2
  • IOCP配合AcceptEX「建议收藏」

    IOCP配合AcceptEX「建议收藏」IOCP配合AcceptEx的例子(1)(2006-7-214:33:00)【收藏】【评论】【打印】【关闭】标签:C++ VC 网络 服务器 在论坛找到的,搬进来备查,呵呵感谢作者的辛苦劳动:)作者:chang290     发表时间:2005-12-1716:38:00     这是在学《Windows网络

    2022年9月29日
    4
  • java fork join_java8学习:ForkJoin[通俗易懂]

    java fork join_java8学习:ForkJoin[通俗易懂]先实现一下,再来说原理还是实现1到一千万的累加和publicclassForkJoinImplextendsjava.util.concurrent.RecursiveTask{//临界值,就是结束值减开始值的结果如果小于这个值那么就不拆分了,大于这个值才会拆分privatefinalintMEDIAN_NUM=100000;//从多少计算privateintstart_n…

    2022年9月20日
    4
  • 什么是框架(包括前端框架和后端框架)[通俗易懂]

    什么是框架(包括前端框架和后端框架)[通俗易懂]什么是框架

    2022年5月31日
    35
  • 30 分钟未付款取消订单,怎么做?

    30 分钟未付款取消订单,怎么做?

    2022年2月14日
    38

发表回复

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

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