petard  

格式占位符 与 数据类型

总结:

1、char 类型可以用 %c ,也可以用 %d 【由于char(字符类型)本质就是一个字节的整数】

2、布尔类型(bool)是 int 的别名,所以格式占位符也是 %d

3、size_t类型是:无符号整数值,本身格式占位符为%zu,也可以用%d

一、格式占位符与数据类型的搭配使用

1、整型

如下:

  • char 、bool、size_t 都可以与 %d搭配使用
  • size_t 可以看作是整型的别名
  • %d 可以与所有整型使用,不过宽类型(long,long long)会出现精度损失

2、浮点类型

如下:

  • 输出(printf)时,float、double 可以共用 %f,不过输入(scanf)时,必须要一一对应,要不会报错

二、格式占位符

1、不同进制输出格式占位符

%d :十进制整数。
%x :十六进制整数。
%#x :显示前缀 0x 的十六进制整数。 ——x的大小写
%#X :显示前缀 0X 的十六进制整数。

2、整数类型的格式占位符(都是十进制形式的格式占位符)

数据类型 格式占位符 数据类型 格式占位符
int %d unsigned int %u
short %hd unsigned short %hu
long %ld unsigned long %lu
long long %lld unsigned long long %llu

注:1、布尔类型(bool)是 int 的别名,所以格式占位符也是 %d

​ 2、size_t类型是:无符号整数值

3、字符

(1)字符类型的格式占位符:使用 %c 表示 char类型

(2)字符串的格式化占位符:使用 %s 表示字符串类型的占位符

4、浮点类型的格式占位符

数据类型 十进制形式格式占位符 科学计数法格式占位符
float %f %e
double %lf %le
long double %Lf %Le

5、size_t的格式化占位符

sizeof返回一个size_t类型的无符号整数值,格式占位符是 %zu

6、使用 printf 输出一个内存地址

可以使用占位符 %p

三、数据类型

基本数据类型

1、整数:int, short, long, long long ——目前只讨论整数(整数+char)的无符号类型

2、浮点:double, flout, long double

3、字符:char ——会讨论 无符号类型

函数及其他数据类型

1、size_t:①strlen(str) 返回str的长度,类型是 size_t

​ ②sizeof:可以获取数据类型或变量、字面量的存储大小,单位是字节

2、下述关于时间的函数,变量都需是time_t 类型

time(&变量)	获取当前日期赋值到变量中,该变量需是 time_t 类型
ctime(&时间值)	将时间戳转为字符串并返回,时间值需是 time_t 类型
difftime(时间值1,时间值2)	返回两个时间值的差,返回值是 double 类型,时间值需是 time_t 类型

int 类型的别名

1、布尔类型(bool)是 int 的别名

2、uint _t ——需要与头文件<stdint.h>配合使用

​ int8_t:8个二进制位1个字节的整数

​ int16_t:2个字节的整数

​ int32_t:4字节的整数

​ uint8_t:8个二进制位 1个字节的无符号整数

​ ——为了增加数据类型的可移植性

注:size_t类型是:无符号整数值

附录

常用格式占位符速查表

(1)整数

格式占位符 含义 对应类型
%d 十进制有符号整数 int
%u 十进制无符号整数 unsigned int
%hd 十进制有符号整数 short
%hu 十进制无符号整数 unsigned short
%ld 十进制有符号整数 long
%lu 十进制无符号整数 unsigned long
%lld 十进制有符号整数 long long
%llu 十进制无符号整数 unsigned long long
%x / %X 十六进制无符号整数 unsigned int
%#x 显示前缀 0x 的十六进制整数,用于输出。 unsigned int
%#X 显示前缀 0X 的十六进制整数,用于输出。 unsigned int
%zu 输出数据的字节长度 size_t

(2)浮点

*格式占位符* *含义* *对应类型*
%f 浮点数的常规表示 float、double
%lf 浮点数的常规表示 double
%Lf 浮点数的常规表示 long double
%e 浮点数的科学计数法表示 double、float
%le 浮点数的科学计数法表示 double
%Le 浮点数的科学计数法表示 long double

(3)字符和字符串

*格式占位符* *含义* *对应类型*
%c 字符 char
%s 字符串 char *、char[]

(4)其他

*格式占位符* *含义* *对应类型*
%p 输出地址,通常以十六进制表示 void *
posted on   岌岌无名  阅读(726)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· DeepSeek “源神”启动!「GitHub 热点速览」
· 我与微信审核的“相爱相杀”看个人小程序副业
· 微软正式发布.NET 10 Preview 1:开启下一代开发框架新篇章
· 如何使用 Uni-app 实现视频聊天(源码,支持安卓、iOS)
· C# 集成 DeepSeek 模型实现 AI 私有化(本地部署与 API 调用教程)
 
点击右上角即可分享
微信分享提示