定义输出格式的使用-printf()函数

news2025/5/11 1:24:42

目录📖

    • printf()函数简介
    • 格式化规定符
      • 格式控制
    • 特殊规定字符
    • 示例

printf()函数简介

printf()函数是格式化输出函数, 一般用于向标准输出设备按规定格式输出信息

printf()函数的调用格式为:

printf("<格式化字符串>", <参量表>);

这里看输出很简单,前面的是固定的东西,后面是要输出的东西;

而前面固定的东西分两部分:一部分是内容,另一部分是格式。

其中格式化字符串包括两部分内容:

  • 一部分是正常字符, 这些字符将按原样输出;
  • 另一部分是格式化规定字符, 以"%“开始, 后跟一个或几个规定字符,用来确定输出内容格式

参量表是需要输出的一系列参数, 其个数必须与格式化字符串所说明的输出参数个数一样多, 各参数之间用,分开, 且顺序一一对应, 否则将会出现意想不到的错误。

格式化规定符

符号含义
%d十进制有符号整数
%u十进制无符号整数
%f浮点数
%s字符串
%c单个字符
%p指针的值
%e指数形式的浮点数
%x, %X无符号以十六进制表示的整数
%o无符号以八进制表示的整数
%g自动选择合适的表示法
%p输出地址符

格式控制

  • 控制场宽
    • 可以在"%“和字母之间插进数字表示最大场宽。
      • %3d 表示输出3位整型数, 不够3位右对齐。
      • %9.2f 表示输出场宽为9的浮点数, 其中小数位为2, 整数位为6,小数点占一位, 不够9位右对齐。
        对浮点数, 若整数部分位数超过了说明的整数位宽度, 将按实际整数位输出;若小数部分位数超过了说明的小数位宽度, 则按说明的宽度以四舍五入输出
      • %8s 表示输出8个字符的字符串, 不够8个字符右对齐。如果字符串的长度、或整型数位数超过说明的场宽, 将按其实际长度输出。
    • 若想在输出值前加一些0, 就应在场宽项前加个0。
      • %04d 表示在输出一个小于4位的数值时, 将在前面补0使其总宽度为4位。
  • 可以在”%“和字母之间加小写字母l, 表示输出的是长型数。
    • 例如: %ld 表示输出long整数
    • %lf 表示输出double浮点数
  • 可以控制输出左对齐或右对齐
    • 在”%“和字母之间加入一个”-" 号可说明输出为左对齐, 否则为右对齐。
      • %-7d 表示输出7位整数左对齐
      • %-10s 表示输出10个字符左对齐

特殊规定字符

特殊字符含义
\n换行
\f清屏并换页
\r回车
\tTab符

示例


#include <bits/stdc++.h>
using namespace std;
typedef long long ll;
int main(void)
{
    char c, s[20], *p;
    int a = 1234, i;
    float f = 3.141592653589;
    double x = 0.12345678987654321;
    p = "How do you do";
    strcpy(s, "Hello, Comrade");
    i = 12;
    c = '\x41';
    printf("a=%d\n", a);       // 结果输出十进制整数a=1234//
    printf("a=%6d\n", a);      // 结果输出6位十进制数a= 1234//
    printf("a=%06d\n", a);     // 结果输出6位十进制数a=001234//
    printf("a=%2d\n", a);      // a超过2位, 按实际值输出a=1234//
    printf("i=%4d\n", i);      // 输出4位十进制整数i= 12//
    printf("i=%-4d\n", i);     // 输出左对齐4位十进制整数i=12//
    printf("i=%p\n", i);       // 输出地址i=06E4//
    printf("f=%f\n", f);       // 输出浮点数f=3.141593//
    printf("f=6.4f\n", f);     // 输出6位其中小数点后4位的浮点数f=3.1416//
    printf("x=%lf\n", x);      // 输出长浮点数x=0.123457//
    printf("x=%18.16lf\n", x); // 输出18位其中小数点后16位的长浮点数x=0.1234567898765432//
    printf("c=%c\n", c);       // 输出字符c=A//
    printf("c=%x\n", c);       // 输出字符的ASCII码值c=41//
    printf("s[]=%s\n", s);     // 输出数组字符串s[]=Hello, Comrade//
    printf("s[]=%6.9s\n", s);  // 输出最多9个字符的字符串s[]=Hello,Co//
    printf("s=%p\n", s);       // 输出数组字符串首字符地址s=0x7ff7b9476600//
    printf("p=%s\n", p);       // 输出指针字符串p=How do you do//
    printf("p=%p\n", p);       // 输出指针的值p=0x106a8cf14//
    return 0;
}


本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/151640.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Lua入门学习

一、初识Lua脚本 Lua 是一种轻量小巧的脚本语言&#xff0c;用标准C语言编写并以源代码形式开放&#xff0c; 其设计目的是为了嵌入应用程序中&#xff0c;从而为应用程序提供灵活的扩展和定制功能。官网&#xff1a;https://www.lua.org/ 1、HelloWorld CentOS7默认已经安装…

什么是docker

文章目录简介Docker 架构特性局限Docker 是一个开源的应用容器引擎&#xff0c;让开发者可以打包他们的应用以及依赖包到一个可移植的镜像中&#xff0c;然后发布到任何流行的 Linux或Windows操作系统的机器上&#xff0c;也可以实现虚拟化。容器是完全使用沙箱机制&#xff0c…

〖产品思维训练白宝书 - 产品思维认知篇⑨〗- 像 产品经理 一样去思考解决问题

大家好&#xff0c;我是 哈士奇 &#xff0c;一位工作了十年的"技术混子"&#xff0c; 致力于为开发者赋能的UP主, 目前正在运营着 TFS_CLUB社区。 &#x1f4ac; 人生格言&#xff1a;优于别人,并不高贵,真正的高贵应该是优于过去的自己。&#x1f4ac; &#x1f4e…

数据结构:算法的初步认识

算法是解决特定问题求解步骤的描述&#xff0c;在计算机中表现为指令的有限序列&#xff0c;并且每条指令表示一个或多个操作。 什么是算法 要求你写一个求 123…100 结果的程序&#xff0c;你应该怎么写呢? 大多数人会马上写出下面的C语言代码(或者其他语言的代码): int a,…

seata的AT模式

seata 分布式事务解决方案 官网 &#xff1a; seata.io 事务模式&#xff1a; 名词 TC &#xff1a; transaction coordinator 事务协调者 维护全局事务 和 分支事务的状态&#xff0c;驱动全局事务提交或者回滚TM &#xff1a; transaction manager 事务管理器 定义全局事…

(考研湖科大教书匠计算机网络)第一章概述-第三节:计算机网络的定义、功能分类

文章目录一&#xff1a;计算机网络的定义&#xff08;1&#xff09;最简单定义&#xff08;2&#xff09;较好定义二&#xff1a;计算机网络功能三&#xff1a;计算机网络的分类&#xff08;1&#xff09;按照“覆盖范围”分类&#xff08;2&#xff09;按照“使用者”分类&…

【Linux学习】进程控制

&#x1f431;作者&#xff1a;一只大喵咪1201 &#x1f431;专栏&#xff1a;《Linux学习》 &#x1f525;格言&#xff1a;你只管努力&#xff0c;剩下的交给时间&#xff01; 在前面&#xff0c;我们学习了进程的相关概念&#xff0c;在这里本喵会给大家介绍如何控制进程。…

私人影院微信小程序源码,采用腾讯小程序云开发,包括影院动态,最新影讯,房间预约,后台预约管理,导出预约表格Excel数据等功能

功能介绍 私人影院是很多年轻人比较喜欢的地方&#xff0c;虽然空间小&#xff0c;但是他们喜欢在这样的空间里享受休闲的时光&#xff0c;通过提前预约订位&#xff0c;可以使商家和消费者节省时间&#xff0c;减少人力成本&#xff0c;大大方便业务的拓展&#xff0c;同时也…

Word控件Spire.Doc 【Table】教程(4):如何在C#、VB.NET中设置Word表格样式

Spire.Doc for .NET是一款专门对 Word 文档进行操作的 .NET 类库。在于帮助开发人员无需安装 Microsoft Word情况下&#xff0c;轻松快捷高效地创建、编辑、转换和打印 Microsoft Word 文档。拥有近10年专业开发经验Spire系列办公文档开发工具&#xff0c;专注于创建、编辑、转…

备战蓝桥杯数学基础:位运算理论

[TOC](目录)位运算概述位运算就是基于整数的二进制表示进行的运算&#xff0c;由于计算机内部就是以二进制来村塾数据&#xff0c;位运算是相当快的。基本的位运算共6种&#xff0c;分别为按位与、按位或、按位异或、按位取反、左移和右移与、或、异或这三者都是两数间的运算&a…

【算法刷题】栈与队列题型及方法归纳

栈与队列的特点 1、栈&#xff1a;FIFO 栈是仅能对其一端进行操作的结构&#xff0c;实现后进先出的效果。在C中采用容器适配器的方式实现栈。&#xff08;容器适配器实际上就是对某一类型的对象进行泛化&#xff0c;定义了这一类泛化对象的可进行操作的逻辑&#xff09; 什么…

上半年要写的博客文章22

这里写自定义目录标题欢迎使用Markdown编辑器新的改变功能快捷键合理的创建标题&#xff0c;有助于目录的生成如何改变文本的样式插入链接与图片如何插入一段漂亮的代码片生成一个适合你的列表创建一个表格设定内容居中、居左、居右SmartyPants创建一个自定义列表如何创建一个注…

极端尺度物体的显著性分割方法(SOD 新 SOTA)

Paper Link&#xff1a;http://cvteam.buaa.edu.cn/papers.htmlBackground&#xff1a;显著性物体分割在常规图像场景取得突破进展&#xff0c;在极端尺度物体场景仍面临挑战。图像前景物体分割是深度学习、计算机视觉等领域的研究热点&#xff0c;在机器视觉、智能交通、智慧医…

Mac 电脑磁盘空间释放记录

起因 点开钉钉页面就卡住&#xff0c;看了一下&#xff0c;光一个钉钉占到4G左右的内存&#xff0c;给钉钉发了工单&#xff0c;没人理我。又随手看了一下系统磁盘空间使用情况&#xff0c;发现快满了&#xff01;&#x1f613; 应用清单 我是一个应用的超轻度用户&#xff…

NFT市场聚合器:他们有没有得到广泛使用?他们对于冷门的NFT交易市场有什么影响?

聚合器是什么&#xff1f;NFT市场聚合器是一种交易工具平台&#xff0c;允许用户在一个页面同时间从多个不同的市场浏览和发现NFT。 这些聚合器将市场上的NFT挂单整合在一起&#xff0c;使用户更容易找到并购买NFT&#xff0c;并节省了用户在多个不同NFT市场之间比较来回比较NF…

rabbitMQ简介

rabbitMQ简介 目前应用最广泛的一个基于AMQP规范的开源的消息中间件RabbitMQ是一个由erlang开发的AMQP(Advanved Message Queue Protocol)的开源实现 rabbitMQ的重要概念 Message&#xff1a;消息&#xff0c;消息是没有名称的&#xff0c;消息由消息头和消息体组成&#xf…

腾讯安全联合Gartner发布SOC+白皮书,助力政企构筑实战化安全运营体系

随着数字化浪潮的蓬勃兴起&#xff0c;各类政企机构上云步伐加快。与此同时&#xff0c;如高危漏洞、勒索病毒、挖矿木马、APT攻击等威胁层出不穷&#xff0c;安全形势日益严峻。许多政企机构虽部署了较为完备的基础安全产品&#xff0c;但防御体系仍以异构设备堆叠式为主&…

STM32+ESP8266+机智云+DHT11数据上传

机智云 文章目录机智云前言一、工程的修改二、数据的上传1.标识符2.数据处理3.数据上传三、app控制前言 今天搞了一下机智云&#xff0c;就想把温湿度发到app上去&#xff0c;然后能够控制灯的开关。之前从来没有用过这个玩意&#xff0c;用阿里云和点灯科技多一点&#xff0c…

恭喜 OpenSergo 获得中国开源云联盟 2022 “优秀开源项目”

作者&#xff1a;OpenSergo 为了营造良好的开源氛围&#xff0c;为我国开源产业发展注入更多活力&#xff0c;中国开源云联盟(China Open Source Cloud League&#xff0c;简称“COSCL”) 组织开展了 2022 年度评选活动。并在今天的 2022 木兰峰会中公布了评选结果。 2022 木兰…

共享模型之管程(六)

1.park&unpark 1.1.概述 1>.他们是LockSupport类中的方法 // 暂停当前线程 LockSupport.park(); // 恢复某个线程的运行 LockSupport.unpark(暂停线程对象)注意:先park再unpark! 1.2.案例 Slf4j public class TestPark {public static void main(String[] args) th…