首页 > 其他分享 >printf的输出格式控制符、格式修饰符、转义字符

printf的输出格式控制符、格式修饰符、转义字符

时间:2024-03-11 22:47:55浏览次数:24  
标签:输出 int 浮点数 修饰符 转义字符 整型 printf 格式

格式控制符:

  • %d:用于输出十进制有符号整数。
  • %u:用于输出十进制无符号整数。
  • %f:用于输出十进制浮点数字。
  • %e 或 %E:用于输出指数形式的浮点数。
  • %g 或 %G:用于输出浮点数,根据数值大小自动选择使用 %f 或 %e
  • %x 或 %X:用于输出十六进制。
  • %c:用于输出单个字符。
  • %s:用于输出字符串。
  • %p:用于输出指针地址。
  • %lu:用于输出无符号长整型。
  • %lld 或 %I64d:用于输出有符号长长整型。
  • %llu 或 %I64u:用于输出无符号长长整型。
  • %Lf:用于输出长双精度浮点数。
  • %% 格式控制符:用来输出百分号 %,在输出时需要使用两个百分号连在一起。

格式修饰符:

  • -:左对齐。
  • +:输出符号(正数前面加上“+”)。
  • #:八进制前缀(0)、十六进制前缀(0x 或 0X)或浮点数小数点(.)。
  • 0:用 0 在左侧填充数据输出的空白,而不是默认的空格字符。
  • m.nm 是指定的最小宽度,n 是指定的精度。
  • *:用来接收动态传入的宽度和精度。例如,%*.*f 表示输出浮点数,宽度和精度由后面带两个 int 类型的参数动态传入。

转义字符:

  • \a:警报(响铃)。
  • \b:退格(回退)一格。
  • \f:换页。
  • \n:换行。
  • \r:回车。
  • \t:水平制表符。
  • \v:垂直制表符。
  • \\:反斜杠。
  • \':单引号。
  • \":双引号。
  • \?:问号。
  • \0:字符串结束标志。

代码演示:

#include <stdio.h>
 
int main() {
    // 整型
    int a = 123;
    printf(" % d\n", a); // 输出 123
 
    // 无符号整型
    unsigned int b = 456;
    printf("%u\n", b); // 输出 456
 
    // 浮点数
    double c = 1.23;
    printf("%f\n", c); // 输出 1.230000
 
    // 指数形式浮点数
    double d = 12345.678;
    printf("%e\n", d); // 输出 1.234568e+04
 
    // 十六进制
    int e = 0x123;
    printf("%x\n", e); // 输出 123
 
    // 字符
    char f = 'a';
    printf("%c\n", f); // 输出 a
 
    // 字符串
    char g[] = "hello world";
    printf("%s\n", g); // 输出 hello world
 
    // 指针地址
    int* h = &a;
    printf("%p\n", h); // 输出 a 的地址
 
    // 无符号长整型
    unsigned long i = 1234567890ul;
    printf("%lu\n", i); // 输出 1234567890
 
    // 有符号长长整型
    long long j = -123450000000ll;
    printf("%lld\n", j); // 输出 -123450000000
 
    // 无符号长长整型
    unsigned long long k = 123450000000ull;
    printf("%llu\n", k); // 输出 123450000000
 
    // 长双精度浮点数
    long double l = 1.23;
    printf("%Lf\n", l); // 输出 1.230000
 
    // 百分号转义
    printf("%%\n"); // 输出 %
 
    // 格式修饰符
    int num = 123;
    double fnum = 3.14159;
    printf("%-5d\n", num); // 输出 123   (左对齐)
    printf("%+d\n", num); // 输出 +123(输出符号)
    printf("%#x\n", num); // 输出 0x7b(十六进制前缀)
    printf("%05d\n", num); // 输出 00123(用 0 左对齐填充)
    printf("%.2f\n", fnum); // 输出 3.14 (精度控制)
    printf("%*.*f\n", 8, 2, fnum); // 输出    3.14 (动态宽度和精度,从后面两个 int 参数中传入)
 
    // 转义字符
    printf("hello\tworld\n"); // 输出 hello    world
 
    return 0;
}

对于修饰符和格式控制符的使用,可以参考具体的 C 语言教程或参考手册,根据实际需要选择使用。同时,可以使用 printf 函数的返回值来判断是否输出成功。

标签:输出,int,浮点数,修饰符,转义字符,整型,printf,格式
From: https://www.cnblogs.com/yilangUAV/p/18067267

相关文章

  • 如何将cad图纸转成pdf格式?
    在工程和设计领域,CAD设计是很常见的,也经常需要转换为比较常见的PDF格式以便于展示、报告编制发布。对于CAD文件怎么转变成PDF可能有些伙伴们不一定都有对应的方法工具,今天就给伙伴们分享一些常用的方法和工具,以及转换过程中需要注意的事项。方法一:使用CAD软件自带的导出功能如Au......
  • Vue — .sync修饰符的使用
    .sync修饰符作用:可以实现子组件和父组件数据的双向绑定,简化代码特点:prop属性名,可以自定义,非固定value使用场景:封装弹窗类的基础组件,添加自定义属性 使用true/false控制本质:就是:属性名和@update:属性名 合写<template><divclass="app"><button@click=......
  • python json格式转url参数&分割, url参数转json格式
    前言全局说明一、json格式转url参数&分割>>>fromurllib.parseimporturlencode>>>params={'user':'admin','pwd':'123456'}>>>print(urlencode(params))二、url参数转json格式>>>importj......
  • 【Unity】内存优化之— —Texture的MaxTextureSize以及Format压缩格式
    本人才疏学浅,只是近期略看了一下Texture的内存,如有不对的地方,还望大佬指正。参考文章:你所需要了解的几种纹理压缩格式原理1.说一说图片占用的内存关于图片的内存,是怎么算的呢,就是图片的长乘以宽,乘以每个像素点占的byte大小。MaxTextureSize,影响的就是基础的长和宽。图片的压......
  • 一文读懂Databend的开放表格式引擎
    Databend近期发布ApacheIceberg和DeltaTable两类表引擎,以提供对两种目前最受欢迎的开放表格式的支持,满足基于不同技术栈的现代数据湖方案面临的高级分析需求。采用基于Databend/DatabendCloud的一站式解决方案,可以在不启用额外的Spark/Databricks服务的......
  • nuscenes数据集的pcd.bin格式 转 pcd
    python实现importosimportstructimportnumpyasnpfromnuscenes.nuscenesimportNuScenesfromnuscenes.utils.data_classesimportLidarPointCloudimportopen3daso3dnusc=NuScenes(version='v1.0-mini',dataroot='/home/cjk/downloads_1......
  • 一文读懂 Databend 的开放表格式引擎
    CAD把焦点放在计算机辅助设计工业是市场上最有名和最受尊敬的软件之一。常被视为进入CAD破解版的入口,提供许多有价值的工具工程师、设计师和建筑师就像,让他们加速耗时的任务戏剧性的。虽然对很多人来说,"CAD"可能是最好的选择,但其他人可能会发现他们的工......
  • 用lazarus编写的类RichView显示控件初步支持markdown格式的表格,并增加单元格字体颜色
    用lazarus编写的类RichView显示控件初步支持markdown格式的表格,并增加单元格字体颜色等功能,可在信创电脑使用,功能慢慢添加中。github:https://github.com/szlbz/QFComponent其中图像格式支持:bmp,jpg,png等 除以上格式外,还支持单、双分割线等......
  • 记录一个利用数据库引擎格式化异常sql的思路
    这个思路主要解决MySQL中的科学记数法漏洞使AWSWAF客户端易受SQL注入攻击这篇文章中的问题目前基本上都使用阿里巴巴的druid并开启sql防火墙模式以语义层面拦截sql注入,如果极端情况下对sql解析结果不一致还是会产生sql注入于是尝试了一下mysql自带的功能1)EXPLAIN2)optimi......
  • .net core项目中访问特殊格式的文件(如.glb)
    背景:  最近在研究web3d,使用了three.js前端框架来实现的,前端显示的3D模型是由blender软件导出的.glb文件,我把.glb文件放在www.root中时,在前端调用时显示404。解决办法:  FileExtensionContentTypeProvider 类包含 Mappings 属性,用作文件扩展名到MIME内容类型的映射。 ......