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

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

基本格式符

打印各种类型的值

格式输出符 数据类型 说明
%d int 输出有符号十进制整数
%u unsigned int 输出无符号十进制整数
%c char 输出单个字符。
%f float/double 输出浮点数(默认保留6位小数
%Lf long double 输出浮点数
%e/%E float/double 科学计数法输出浮点数(如3.14e+1或者3.14E+1)
%g/%G float/double 自动选择 %f 或 %e,省略末尾的零
%s char* 输出字符串(以 \0 结尾的字符数组)
%p void* 输出指针地址(十六进制格式)
%x/%X unsigned int 输出十六进制整数(小写或大写字母)
%o unsigned int 输出八进制整数
%% 输出 % 符号本身
%a/%A float/double 输出浮点数的十六进制表示(C99 起支持,如 0x1.5p+1)
%zd sizeof() 输出数据类型的大小
%zu sizeof() 输出数据类型的大小

示例:

常量 类型 转换说明
12 int %d
0x3 int %#x
'C' char (实际是int) %c
2.34E07 double %e
'\040' char (实际是int) %c
7.0 double %f
6L long int %ld
6.0f float %f
0x5.b6p12 double %a
012 unsigned int %#o
2.9e05L long double %Le
's' char %c
100000 long int %ld
'\n' char %c
20.0f float %f
0x44 unsigned int %#x
-40 signed int %d

格式修饰符

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

转义字符

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

(2)表示非打印字符

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

例如:

c 复制代码
/*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.

****************************/
相关推荐
心灵宝贝1 小时前
申威架构ky10安装php-7.2.10.rpm详细步骤(国产麒麟系统64位)
开发语言·php
lly2024061 小时前
PHP 字符串操作详解
开发语言
像是套了虚弱散2 小时前
DevEco Studio与Web联合开发:打造鸿蒙混合应用的全景指南
开发语言·前端·华为·harmonyos·鸿蒙
旭意2 小时前
C++蓝桥杯之结构体10.15
开发语言·c++
麦麦鸡腿堡4 小时前
Java的单例设计模式-饿汉式
java·开发语言·设计模式
简单点了4 小时前
go前后端项目的启动 、打包和部署
开发语言·后端·golang
傻童:CPU4 小时前
C语言需要掌握的基础知识点之前缀和
java·c语言·算法
degen_4 小时前
第一次进入 PEICORE 流程
c语言·笔记
爱吃山竹的大肚肚4 小时前
@Valid校验 -(Spring 默认不支持直接校验 List<@Valid Entity>,需用包装类或手动校验。)
java·开发语言
汤姆yu4 小时前
2026版基于python的协同过滤音乐推荐系统
开发语言·python