当前位置: 首页 > news >正文

C语言中printf()函数,格式输出符

在 C 语言中,printf() 函数的格式输出符(格式说明符)用于控制输出的格式和数据类型。以下是常见的格式说明符及其用法:

基本格式符

打印各种类型的值

格式输出符数据类型说明
%dint输出有符号十进制整数
%uunsigned int输出无符号十进制整数
%cchar输出单个字符。
%ffloat/double输出浮点数(默认保留6位小数
%Lflong double输出浮点数
%e/%Efloat/double科学计数法输出浮点数(如3.14e+1或者3.14E+1)
%g/%Gfloat/double自动选择 %f 或 %e,省略末尾的零
%schar*输出字符串(以 \0 结尾的字符数组)
%pvoid*输出指针地址(十六进制格式)
%x/%Xunsigned int输出十六进制整数(小写或大写字母)
%ounsigned int输出八进制整数
%%输出 % 符号本身
%a/%Afloat/double输出浮点数的十六进制表示(C99 起支持,如 0x1.5p+1)
%zdsizeof()输出数据类型的大小
%zusizeof()输出数据类型的大小

示例:

常量类型转换说明
12int%d
0x3int%#x
‘C’char (实际是int)%c
2.34E07double%e
‘\040’char (实际是int)%c
7.0double%f
6Llong int%ld
6.0ffloat%f
0x5.b6p12double%a
012unsigned int%#o
2.9e05Llong double%Le
‘s’char%c
100000long int%ld
‘\n’char%c
20.0ffloat%f
0x44unsigned int%#x
-40signed int%d

格式修饰符

格式输出符说明
%5d输出至少 5 字符宽,不足时右对齐填充空格
%-5d左对齐填充空格
%05d输出至少 5 字符宽,右对齐并用 0 填充(如 00123)
%.2f保留 2 位小数
%.5s最多输出字符串的前 5 个字符
%10.3f总宽度 10 字符,保留 3 位小数。
%*动态指定宽度或精度
int width = 8, precision = 3;
printf("%*.*f", width, precision, 3.14159); // 输出 "   3.142"

转义字符

(1)是字符常量,在内存中实际是按整数类型存储。不可改变不能
(2)表示非打印字符

转义序列说明
\n换行
\t水平制表
\b退格,移动光标位置,一般不会擦除退回的内容,定义之后不能被修改。
\r回车,回到当前行前面
\a发出一声警告

例如:

/*escape.c -- 使用转移序列*/
#include <stdio.h>
int main(void)
{
	/* code */
	float salary;
	printf("\aEnter your desired monthly salary:");
	printf(" $_______\b\b\b\b\b\b\b");	// \b退格使光标移动到$后面,不会擦去退格内容
	scanf("%f", &salary);	//输入的内容将擦去"_"
	printf("\n\t$%.2f a month is $%.2f a year.", salary, salary * 12.0);
	printf("\rGee!\n");	//	\r回到当前行前面
	return 0;
}

/***************************
输出结果:
Enter your desired monthly salary: $4000.00

Gee!    $4000.00 a month is $48000.00 a year.

****************************/

相关文章:

  • 【vue3】响应式的几个重要API
  • 一学就废|Python基础碎片,Pathlib模块
  • 一.AI大模型开发-初识机器学习
  • vue3.x 的provide 与 inject详细解读
  • 用C++实现点到三角形最小距离的计算
  • 基于springboot的超时代停车场管理平台(源码+文档)
  • LabVIEW与USB设备开发
  • 关于post和get的请求参数问题
  • [JVM篇]虚拟机性能监控、故障处理工具
  • TDengine 数据备份/还原工具 taosdump
  • C#开源大型商城系统之B2B2C+O2O一体化_OctShop
  • kubectl top输出与Linux free命令不一致原因?
  • React常用库
  • 【PyTorch】torch.optim介绍
  • MySQL
  • CCF-CSP第19次认证第一题——线性分类器【NA】
  • Deep seek学习日记1
  • 人工智能 - 主动视觉可能就是你所需要的:在双臂机器人操作中探索主动视觉
  • 学习笔记之debian的thonny开发(尚未验证)--从stm32裸机到linux嵌入式系统
  • windows11+ubuntu20.04双系统下卸载ubuntu并重新安装
  • 十四届全国人大常委会第十五次会议在京闭幕
  • 习近平访问金砖国家新开发银行
  • 初步结果显示加拿大自由党赢得大选,外交部回应
  • 伊朗内政部长:港口爆炸由于“疏忽”和未遵守安全规定造成
  • 日韩 “打头阵”与美国贸易谈判,汽车、半导体产业忧虑重重
  • 公交公司须关注新出行需求:“单车巴士”能否常态化