C语言显示字符型和整型数据类型的表示范围

#include <stdio.h> 
#include <limits.h>

int main(void)
{
	puts("该环境下各字符型、整型数值的范围");
	printf("char:           :%d~%d\n",   CHAR_MIN,   CHAR_MAX);
	printf("signed char     :%d~%d\n",   SCHAR_MIN,  SCHAR_MAX);
	printf("unsignd char    :%d~%d\n",   0,          UCHAR_MAX);
	
	printf("short           :%d~%d\n",   SHRT_MIN,   SHRT_MAX);
	printf("int             :%d~%d\n",   INT_MIN,    INT_MAX);
	printf("long            :%ld~%ld\n", LONG_MIN,   LONG_MAX);
	
	printf("unsigned short  :%u~%u\n",   0,          USHRT_MAX);
	printf("usigned         :%u~%u\n",   0,          UINT_MAX);
	printf("unsigned long   :%lu~%lu\n", 0,          ULONG_MAX);
	
	return 0;
}

运行结果:

数据类型 最小值 最大值
char -128 127
signed char -128 127
unsignd char 0 255
short -32768 32767
int -2147483648 2147483647
long -2147483648 2147483647
unsigned short 0 65535
usigned 0 4294967295
unsigned long 0 4294967295

声明变量时,可以通过加上 类型说明符 signedunsigned 来指定其中一种数据类型。若不加类型说明符,则默认为有符号。

无符号整型 (unsigned integer type) 表示 0 和整数的整型
有符号整型 (signed integer type) 表示 0 和正负数的整型

字符型 整型 有符号整型 无符号整型
signed char signed short int signed char unsigned char
char signed int signed short int unsigned short int
unsigned char signed long int signed int unsigned int
unsigned short int signed long int unsigned long int
unsigned int
unsigned long int
signed short
signed int
short
unsigned short
signed
int
unsigned
signed long
long int
long
unsigned long

注:char 型比较特殊,存在既不带 signed 又不带 unsigned 的 “单独”的char型。
对于单独的 shortlong, 可以认为是省略了 int
对于单独的 signedunsigned,可以认为是(非 shortlong 的)int

猜你喜欢

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