C语言 整型变量的输入和输出
输出格式对应数据类型符号的含义%dint输出一个有符号的10进制 int 类型%ounsigned int输出8进制的 int 类型%xunsigned int输出10进制的 int 类型,字母以小写输出%Xunsigned int输出10进制的 int 类型,字母以大写输出%uunsigned int输出一个 10 进制的无符号整型注:%x 用小写字母a ~ f来表示,%X用大写字母A ~ F来
·
输出格式 | 对应数据类型 | 符号的含义 |
---|---|---|
%d | int | 输出一个有符号的10进制 int 类型 |
%o | unsigned int | 输出8进制的 int 类型 |
%x | unsigned int | 输出10进制的 int 类型,字母以小写输出 |
%X | unsigned int | 输出10进制的 int 类型,字母以大写输出 |
%u | unsigned int | 输出一个 10 进制的无符号整型 |
注:%x 用小写字母a ~ f来表示,%X用大写字母A ~ F来表示。无符号整型的最小值是0;
#include <stdio.h>
int main(){
int a = 12345; // 赋值十进制的变量
int b = 0014; // 赋值 8进制的变量
int c = 0x4d2; // 赋值16进制的变量
int d = 0;
int e = -1; // 赋值为-1转换为 无符号整型输出
printf("a = %d\n", a);
printf("8进制: b = %o\n", b);
printf("10进制:b = %d\n", b);
printf("16进制:b = %x\n", c);
printf("16进制:b = %X\n", c);
printf("10进制:b = %d\n", c);
printf("无符号整型 d 的 10进制: %u\n", d);
printf("无符号整型 e 的 10进制: %u\n", e); // 无符号整型的最小值是0;
return 0;
}
运行结果:
short 、int、 long、long long
数据类型 | 占用空间 |
---|---|
short(短整型) | 2字节 |
int(整型) | 4字节 |
long(长整型) | Windows 为 4字节,Linuwx为4字节(32为), 8字节(64位) |
long long (长长整型) | 8字节 |
注:
- short是短整型,一般short是int的一半大小,short在32位的windows下是2个字节。
- 需要注意的是,整型数据在内存中占的字节数与所选择的操作系统有关。虽然C语言标准中没有明确规定整型数据的长度,但 long 类型整数的长度不能短于 int 类型,short 类型整数的长度不能短于 int 类型。
- 当一个小的数据类型赋值给一个大的数据类型,不会出错,因为编译器会自动转换。但当一个大的类型赋值给一个小的数据类型,那么就可能丢失高位。
整型常量 | 所需类型 |
---|---|
10 | 代表 int 类型 |
10l, 10L | 代表 long 类型 |
10ll, 10LL | 代表 long long 类型 |
10u, 10U | 代表 unsigned int 类型 |
10ul,10IL | 代表 unsigned long 类型 |
10ull, 10ULL | 代表 unsigned long long 类型 |
输出格式 | 对应数据类型 | 符号的含义 |
---|---|---|
%hd | short | 输出 short 类型 |
%d | int | 输出 int 类型 |
%l | long | 输出 long 类型 |
%ll | long long | 输出 long long 类型 |
%hu | unsigned short | 输出 unsigned short 类型 |
%u | unsigned int | 输出 unsigned int 类型 |
%lu | unsigned long | 输出 unsigned long 类型 |
%llu | unsigned long long | 输出 unsigned long long 类型 |
总结:
整型后缀:
- u 和 U 表示该整型常量为无符号类型。
- l 和 L 表示该整型常量为long 型。
整型常量的数据类型由以下三个因素决定。
- 该整型常量的值
- 该整型常量的后缀
- 所在编译器中各数据类型的表示范围
无后缀的十进制常量 | int → long → unsigned long |
无后缀的八进制或十六进制常量 | int → unsigned → long → unsigned long |
带后缀 u / U | unsigned → unsigned long |
带后缀 l / L | long → unsigned long |
带后缀 l / L 和 u / U | unsigned long |
开放原子开发者工作坊旨在鼓励更多人参与开源活动,与志同道合的开发者们相互交流开发经验、分享开发心得、获取前沿技术趋势。工作坊有多种形式的开发者活动,如meetup、训练营等,主打技术交流,干货满满,真诚地邀请各位开发者共同参与!
更多推荐
已为社区贡献7条内容
所有评论(0)