C语言 整型变量的输入和输出

输出格式 对应数据类型 符号的含义
%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; 
}

运行结果:
在这里插入图片描述

shortintlonglong 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

猜你喜欢

转载自blog.csdn.net/qq_44989881/article/details/106747247