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-128127
signed char-128127
unsignd char0255
short-3276832767
int-21474836482147483647
long-21474836482147483647
unsigned short065535
usigned04294967295
unsigned long04294967295

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

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

字符型整型有符号整型无符号整型
signed charsigned short intsigned charunsigned char
charsigned intsigned short intunsigned short int
unsigned charsigned long intsigned intunsigned int
unsigned short intsigned long intunsigned 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


版权声明:本文为qq_44989881原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。