C语言各个数据类型取值范围
C语言的数据基本类型分为字符型、整型、长整型以及浮点型,取值范围如下:
c语言中关于变量的取值范围的计算方法:
1、使用函数的返回值。将函数计算出的变量作为返回值返回给其它函数使用。
2、使用函数的参数。将函数参数设置为引用传递而不是值传递,就可以把函数计算出的变量通过此参数给其它函数使用。
3、使用全局变量。将函数计算出的值保存到全局变量中,其它函数就可以使用了。
扩展资料
C语言运算中的数据类型自动转换原则
1、隐式转换
C语言在以下四种情况下会进行隐式转换:
(1)算术运算式中,低类型能够转换为高类型。
(2)赋值表达式中,右边表达式的值自动隐式转换为左边变量的类型,并赋值给它。
(3)函数调用中参数传递时,系统隐式地将实参转换为形参的类型后,赋给形参。
(4)函数有返回值时,系统将隐式地将返回表达式类型转换为返回值类型,赋值给调用函数。
2、算数运算的隐式转换
算数运算中,首先有如下类型转换规则:
(1)字符必须先转换为整数(C语言规定字符类型数据和整型数据之间可以通用)。
(2)short型转换为int型(同属于整型)。
(3)float型数据在运算时一律转换为双精度(double)型,以提高运算精度(同属于实型)。
其次,有下面的规则。
当不同类型的数据进行操作时,应当首先将其转换成相同的数据类型,然后进行操作,转换规则是由低级向高级转换。
然后,每8位二进制数(比如01010001)代表一个字节(byte)大小,即1字节=8位;
再然后,C语言每个数据类型都是有固定字节大小的,比如char类型是一个字节即8位,而int类型的大小与具体计算机cpu的机器字长有关,如果是16位cpu,int类型就是2字节=16位大小,如果是32位cpu,int类型就是4字节=32位大小;
最后,每个数据类型的取值范围就是由其字节大小决定的,如char类型的取值范围是-2^7 ~ 2^7-1(涉及到二进制数与十进制数之间的转换方面的知识,此处不再讲)。
2、目前,主流编译环境都是32位,32位平台下各种数据类型取值范围:
整型 [signed]int -2147483648~+2147483648
无符号整型unsigned[int] 0~4294967295
短整型 short [int] -32768~32768
无符号短整型unsigned short[int] 0~65535
长整型 Long int -2147483648~+2147483648
无符号长整型unsigned [int] 0~4294967295
字符型[signed] char -128~+127
无符号字符型 unsigned char 0~255
单精度 float 3.4 x 10^(-38)~ 3.4 x 10^(+38)
双精度double 1.7 x 10^(-308)~ 1.7 x 10^(+308)
长双精度 long double 1.7 x 10^(-308)~ 1.7 x 10^(+308)
无符号整型unsigned[int] 0~4294967295
短整型 short [int] -32768~32768
无符号短整型unsigned short[int] 0~65535
长整型 Long int -2147483648~+2147483648
无符号长整型unsigned [int] 0~4294967295
字符型[signed] char -128~+127
无符号字符型 unsigned char 0~255
单精度 float 3.4 x 10^(-38)~ 3.4 x 10^(+38)
双精度double 1.7 x 10^(-308)~ 1.7 x 10^(+308)
长双精度 long double 1.7 x 10^(-308)~ 1.7 x 10^(+308)