C 语言中各种数据类型的打印方式

本文详细介绍了如何在编程中正确打印不同数据类型,如u8、s16、u32等,并提供了对应的格式转换技巧,帮助开发者解决实际问题。

遇到打印 uint8_t 、int32_t 、uint32_t等数据类型的问题,学习记录一下。
一些数据类型的定义

typedef signed char s8;
typedef unsigned char u8;
 
typedef signed short s16;
typedef unsigned short u16;
 
typedef signed int s32;
typedef unsigned int u32;
 
typedef signed long long s64;
typedef unsigned long long u64;

各种数据类型的打印方式

数据类型打印格式
u8%d
s8%d
u16%d or %hu
s16%d or %hd
u32%u
s32%d
u64%llu
s64%lld
int%d
unsigned int%u
short int%d or %hd
long%ld
unsigned long%lu
long long%lld
unsigned long long%llu
char%c
char *%s
bool (#define stdbool.h)%d
unsigned int/int------>十六进制%0x
unsigned long/long---->十六进制%0lx
long long/unsigned long long ----->十六进制%0llx
unsigned int/int------>八进制%0o
unsigned long/long---->八进制%0lo
long long/unsigned long long ----->八进制%0llo
float%f
double%f or %lf
科学技术类型(必须转化为double类型)%e
限制输出字段宽度%x.yf (x:整数长度,y:小数点长度)
在C语言中,基本数据类型是构建更复杂数据结构的基石。它们包括整型、字符型、浮点型等,每种类型都有其特定的用途和特点。 ### 整型 整型用于存储整数数值,不包含小数部分。C语言提供了多种整型,如`short`、`int`、`long`,这些关键字表示不同大小的整数类型。通常情况下,`short`占用的空间小于或等于`int`,而`int`又小于或等于`long`占用的空间[^2]。此外,可以使用`signed`或`unsigned`修饰符来指定变量是否能够存储负数值。 ### 字符型 字符型`char`用来存储单个字符,例如字母、数字或符号。它实际上是作为一种小型整数类型实现的,通常占用1字节的空间,并且可以是有符号或无符号的,这取决于编译器和平台[^2]。 ### 浮点型 为了处理带有小数部分的数值,C语言提供了`float`和`double`两种浮点类型。`float`通常提供大约6位有效数字的精度,而`double`则提供更高的精度,通常是`float`的两倍[^2]。 下面是一个简单的示例程序,展示了如何声明和初始化不同的基本数据类型: ```c #include <stdio.h> int main() { // 声明并初始化各种基本数据类型 short s = 10; int i = 100000; long l = 1000000000L; // L后缀表示这是一个long常量 char c = 'A'; float f = 3.14f; // f后缀表示这是一个float常量 double d = 3.141592653589793; // 打印变量值 printf("short: %hd\n", s); printf("int: %d\n", i); printf("long: %ld\n", l); printf("char: %c\n", c); printf("float: %f\n", f); printf("double: %lf\n", d); return 0; } ``` 这段代码演示了基本数据类型的声明与打印输出。注意,在格式化字符串中使用的转换说明符(如 `%hd`, `%d`, `%ld`, `%c`, `%f`, 和 `%lf`)必须与相应的数据类型匹配,这样才能正确地读取和显示变量的值。 基本数据类型的选择会影响程序的性能和内存使用,因此选择合适的数据类型对于编写高效的C语言程序至关重要。了解每种类型的特性和限制可以帮助开发者做出更好的设计决策。
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Chen_p_j

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值