30.【C语言】详解printf

news2024/11/13 11:04:46

 1.printf(print formate)输入函数

01.简单使用

调用前要引用头文件

#include <stdio.h>
printf("abc");

 

默认情况下打印完光标停留在同一行

\n可以换行

printf("abc\n");

printf("ab\nc");

printf("a\nb\nc\n\n\n");

不同情况效果不同

02.打印类型

printf() 可以在输出文本中指定占位符(置可以用其他值)(使用%字母 可以指定打印类型 formate 格式化)

加粗的是常用的

• %a :十六进制浮点数,字母输出为小写
• %A :十六进制浮点数,字母输出为大写
• %c :字符
%d :十进制整数// int
• %e :使用科学计数法的浮点数,指数部分的e 为小写
• %E :使用科学计数法的浮点数,指数部分的E 为大写
• %i :整数,基本等同于%d 
• %f :小数(包含float 类型和double 类型)。//float - %f double - %lf
• %g :6个有效数字的浮点数。整数部分一旦超过6位,就会自动转为科学计数法,指数部分的e
为小写
• %G :等同于%g ,唯一的区别是指数部分的E为大写
• %hd :十进制(dec的d) short int 类型
• %ho :八进制(oct的o) short int 类型
• %hx :十六进制(hex的x) short int 类型
• %hu :unsigned short int 类型
• %ld :十进制 long int 类型
• %lo :八进制 long int 类型
• %lx :十六进制 long int 类型
• %lu :unsigned long int 类型
• %lld :十进制 long long int 类型
• %llo :八进制 long long int 类型
• %llx :十六进制 long long int 类型
• %llu :unsigned long long int 类型
• %Le :科学计数法表示的 long double 类型浮点数
• %Lf :long double 类型浮点数。

• %n :已输出的字符串数量。该占位符本身不输出,只将值存储在指定变量之中
• %o :八进制整数
%p :指针(用来打印地址十六进制)
• %s :字符串
• %u :无符号整数(unsigned int)
• %x :十六进制整数
• %zd : size_t 类型(是sizeof的返回类型)

• %% :输出一个百分号

有关 %x 的细节

对比

#define _CRT_SECURE_NO_WARNINGS 1
#include <stdio.h>
int main()
{
  printf("%x", 654546125653);
  return 0;
}

#define _CRT_SECURE_NO_WARNINGS 1
#include <stdio.h>
int main()
{
  printf("%X", 654546125653);
  return 0;
}

仅仅将%x改为%X输出结果就由小写字母转成大写字母 

03占位符与(实际)参数一一对应

printf("123%d4abc%s",5,"def");

5对应%d,def对应%s 

​结果:

如果有n 个占位符, printf() 的(实际)参数就应该有n +1 个。上述代码的printf括号内有三个(实际 )参数

04.限定最小宽度

printf("%5s","abc");

 

 %5s代表输出的最小宽度是5 所以前面空了两格右对齐(5是正数)

如果改成:

printf("%-5s", "abc");

注意光标位置,后面空两格左对齐(-5是负数)

如果改成:

printf("%2s", "abc");

发现正常打印,字符的长度超过了限定的最小宽度按正常情况打印

总结:字符的长度小于限定的最小宽度,用空格补齐至最小宽度(左对齐或右对齐);字符的长度超过了限定的最小宽度按正常情况打印

05.控制小数的保留位数

默认情况,单浮点和双浮点保留小数点后6位

	printf("%.3f",0.5);

 

.3即表示保留3位小数

06.04和05的组合

printf("%6.2f",0.5);
printf("%*.*f",6,2,0.5);

两种表示方法均可 

07.显示正负号

printf("%+d",6);

08.输出部分字符串

printf默认全部输出

printf("%.3s","Hello World!");

.3s即表示打印字符串的前三个 

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

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

相关文章

RocketMQ 如何保证全链路消息不丢失?

目录 1. RocketMQ 消息丢失的原因有哪些 2. 如何保证 RocketMQ 全链路消息不丢失 2.1 保证生产者发送消息到 MQ&#xff0c;消息不丢失 2.2 保证消息写入 Broker 后不丢失 2.3 保证 Broker 集群时&#xff0c;消息不丢失 2.4 保证消费者消费消息不丢失 3. 如果整个 MQ 服…

学习测试9-接口测试 3-jmeter

jmeter启动 测试计划 1 创建线程组 2 创建http请求 数据类型 from表单数据可以通过剪切板直接粘贴 JSON数据需要从括号开始复制 3 查看结果树 4 http cookie管理器&#xff0c;可以记住登录状态 内部不用设置 5 断言 系统返回的信息进行判断 系统返回“新增会议信息成功” …

SerDes系列之如何选择AC耦合电容

交流耦合电容用于隔离PCB互连时的直流分量&#xff08;Common-mode voltage&#xff09;&#xff0c;同时传递交流分量&#xff08;Voltage swing&#xff09;&#xff0c;其作用类似于一个高通滤波器。 但是&#xff0c;如果电容容值选取不当&#xff0c;使用过程中会产生信号…

Linux中的环境变量

一、基本概念 环境变量(environment variables)一般是指在操作系统中用来指定操作系统运行环境的一些参数。 如&#xff1a;我们在编写C/C代码的时候&#xff0c;在链接的时候&#xff0c;从来不知道我们的所链接的动态静态库在哪里&#xff0c;但是照样可以链接成功&#xff…

Guava LocalCache源码分析:LocalCache的get、put、expand、refresh、remove、clear、cleanUp

Guava LocalCache源码分析&#xff1a;LocalCache的get、put、expand 前言一、get二、put三、expand 前言 上篇文章&#xff0c;详细描写了Guava LocalCache怎样如ConcurrentHashMap对缓存数据进行了分段存储。本章主要针对LocalCache重要的几个接口进行说明。 一、get CanIg…

[笔记]Fluke3563 振动分析仪

参考文档&#xff1a;Fluke 3563 Analysis Vibration Sensor system | Fluke 1.四大机械故障损伤原因 2.振动特征 福禄克做的示意图很棒&#xff1a; 不平衡对应转动轴的一倍频&#xff0c;不对中是2倍频&#xff0c;然后3~6倍频会有未紧固故障&#xff0c;更高频的位置是齿轮…

怎么压缩视频文件?简单的压缩视频方法分享

视频已成为我们日常生活中不可或缺的一部分。但随着视频质量的提高&#xff0c;文件大小也逐渐成为我们分享的阻碍。如何有效压缩视频文件&#xff0c;使其既能保持清晰&#xff0c;又能轻松分享&#xff1f;今天&#xff0c;给大家分享五种实用的视频压缩方法&#xff0c;快来…

ubuntu上模拟串口通信

前言 有时候写了一些串口相关的程序&#xff0c;需要调试的时候&#xff0c;又没有硬件&#xff0c;或者需要等其他模块完成才能一起联调。这样搭建环境费时费力&#xff0c;很多问题等到最后联调才发现就已经很晚了。 本文提供一种在ubuntu环境下模拟串口&#xff0c;直接就可…

性价比高的宠物空气净化器什么牌子好?热门养宠空气净化器分享

作为一名有6年经验的铲屎官&#xff0c;许多新手铲屎官可能听说过宠物空气净化器&#xff0c;但了解不多。实际上&#xff0c;宠物空气净化器是养猫家庭必备的小家电之一。它的大面积进风口能有效吸附空气中的浮毛和皮屑&#xff0c;专门的除臭技术可以去除猫咪带来的异味。宠物…

Python 视频水印批量添加器

功能如下可以 一、选择水印位置 二、批量添加水印 三、可添加文本或图片 # -*- 编码&#xff1a;utf-8 -*- import cv2 import os import numpy as np from moviepy.editor import VideoFileClip from concurrent.futures import ThreadPoolExecutor import tkinter as tk fro…

【深度学习】FaceChain-SuDe,免训练,AI换脸

https://arxiv.org/abs/2403.06775 FaceChain-SuDe: Building Derived Class to Inherit Category Attributes for One-shot Subject-Driven Generation 摘要 最近&#xff0c;基于主体驱动的生成技术由于其个性化文本到图像生成的能力&#xff0c;受到了广泛关注。典型的研…

PostgreSQL使用(二)

说明&#xff1a;本文介绍PostgreSQL的DML语言&#xff1b; 插入数据 -- 1.全字段插入&#xff0c;字段名可以省略 insert into tb_student values (1, 张三, 1990-01-01, 88.88);-- 2.部分字段插入&#xff0c;字段名必须写全 insert into tb_student (id, name) values (2,…

分享3个好用的启动盘u盘制作工具

对于经常需要安装维护电脑的同学&#xff0c;制作一个可启动的U盘是非常有必要的。小编今天就和大家分享三款优秀的U盘启动盘制作工具&#xff1a;Ventoy、UltraISO和Rufus。 1. Ventoy Ventoy是一款开源的启动U盘制作工具&#xff0c;它支持将ISO、WIM、IMG、VHD(x)和EFI等类…

SpringMVC 控制层框架-上

一、SpringMVC简介 1. 介绍 Spring Web MVC 是基于Servlet API构建的原始Web框架&#xff0c;从一开始就包含在Spring Framework 中。在控制层框架经历Srust、WebWork、Strust2等诸多产品的历代更迭之后&#xff0c;目前业界普遍选择了SpringMVC 作为Java EE项目表述层开发的首…

如何通过网络快速搜寻到自己的STM32设备

目录 一、问题概述 二、解决思路 三、代码实现 1.创建任务 2.UDP广播接收 一、问题概述 以前一直用RS232串口修改设备配置信息&#xff0c;但是现场施工人员的232线太细&#xff0c;经常容易断掉&#xff0c;这次准备用网口去修改&#xff0c;遇到了一个问题&#xff0c;…

WINUI或WPF灵活使用样式、控件模板、自定义控件、用户控件

在WINUI与WPF 中&#xff0c;控件模板&#xff08;ControlTemplate&#xff09;、样式&#xff08;Style&#xff09;、自定义控件&#xff08;CustomControl&#xff09;和用户控件&#xff08;UserControl&#xff09;都是构建复杂和灵活用户界面的重要工具&#xff0c;但它们…

vue3 中 lottie-web 封装组件

用到的JSON文件在“我的资源”里&#xff0c;下面这个链接直达 下面的代码中用到的JSON数据源 Lottie.vue <script setup> import { ref, onMounted } from vue import lottie from lottie-web// 设置组件参数 const props defineProps({renderer: {type: String,def…

手把手带你白嫖10年服务器

欢迎来到我的博客&#xff0c;代码的世界里&#xff0c;每一行都是一个故事 &#x1f38f;&#xff1a;你只管努力&#xff0c;剩下的交给时间 &#x1f3e0; &#xff1a;小破站 手把手带你白嫖10年服务器 如何获取如何使用成果个人网站 个人邮箱服务 重要的话重要说&#xff…

Ubuntu部署K8S集群-图文并茂(超详细)

Ubuntu部署K8S集群 1. 模版机系统环境准备1.1 安装Ubuntu1.2 设置静态IP地址 2. 主机准备2.1 使用模板机创建主机2.2 主机配置2.2.1 修改静态IP2.2.2 修改主机名2.2.3 主机名-IP地址解析2.2.4 时间同步2.2.5 内核转发、网桥过滤配置2.2.6 安装ipset和ipvsadm2.2.7 关闭SWAP分区…

【射频器件供应】Flann Microwave

国家 United Kingdom 地址 Flann Microwave Ltd Dunmere Road Bodmin, Cornwall PL31 2QL United Kingdom Flann Microwave于1956年成立于泰晤士河畔金斯顿萨里。在过去的四十年里&#xff0c;Flann Microwave一直是市场领先的天线设计公司&#xff0c;其精密微波器件和测试频…