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

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.

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

http://www.kler.cn/a/549925.html

相关文章:

  • Web 后端 HTTP协议
  • Flink在指定时间窗口内统计均值,超过阈值后报警
  • 架构设计系列(三):架构模式
  • 备战蓝桥杯 Day2 枚举 Day3 进制转换
  • FFmpeg源码:av_strlcpy函数分析
  • kamailio中的PV,PV Headers,App Lua,Dialog,UUID,Dianplan等模块的讲解
  • Unity状态机的实现方法二
  • Vue3(3)
  • 【Oracle】层次查询步骤,理解 where 条件执行顺序
  • 项目上传github步骤
  • DeepSeek与医院电子病历的深度融合路径:本地化和上云差异化分析
  • MATLAB图像处理:图像分割方法
  • 【go语言规范】关于接口设计
  • YOLOv11目标检测:解密mAP50与mAP的背后秘密
  • 代码随想录刷题攻略---动态规划---子序列问题1---子序列
  • java八股文-redis
  • python的类装饰器
  • 【系列专栏】银行IT的云原生架构-存储架构-数据库部署 10
  • 青少年编程与数学 02-009 Django 5 Web 编程 16课题、权限管理
  • rtsp rtmp 跟 http 区别