C语言基本数据类型及长度

Python014

C语言基本数据类型及长度,第1张

在 C 语言中,数据类型指的是用于声明不同类型的变量函数的一个广泛的系统,其中函数的类型指的是函数返回值的类型。对象的类型决定该对象可取值的集合以及可以对该对象执行的操作。

C语言提供了下列几种基本数据类型

下表列出了关于字符类型的存储大小和值范围的细节:

下表列出了关于整数类型的存储大小和值范围的细节:

注:当用 long 或 short 限定符限定整型时,关键字 int 可以省路,通常很多人也习惯这样做。

下表列出了关于标准浮点类型的存储大小、值范围和精度的细节:

注:上述内容皆适用于常见的64位系统,对于其他具体机器,可能会出现不同存储大小。

short 与 long 两个限定符的引入可以为我们提供满足实际需要的不同长度的整型数。 int 通常代表特定机器中整数的自然长度。编译器可以根据硬件性能特性自主选择合适的类型长度,但要遵循下列限制: short 与 int 类型至少为16位,二 long 类型至少位32位,并且 short 类型不得长于 int 类型,而 int 类型不得长于 long 类型。

类型限定符 signed 与 unsigned 可用于限定 char 类型或任何整型。 unsigned 类型得数总是正值或0,并遵守算数模2^n,其中n是该类型占用的位数。例如,如果 char 对象占用8位,那么 unsigned char 类型变量的取值范围是0~255,而 signed char 类型变量的取值范围则为-128~127(在采用二进制补码的机器上)。不带限定符的 char 类型对象是否带符号取决于具体的机器,但可打印字符总是正值。

long double 类型表示高精度浮点数。同整型一样,浮点型的长度也取决于具体的实现, float 、 double 与 long double 类型可以表示相同的长度,也可以表示两种或三种不同的长度。

有关这些类型长度定义的符号常量以及其他与机器和编译器有关的属性可以在标准头文件 <limits.h>与 <float.h>中找到。

C语言的数据基本类型分为字符型、整型、长整型以及浮点型,取值范围如下:

c语言中关于变量的取值范围的计算方法:

1、使用函数的返回值。将函数计算出的变量作为返回值返回给其它函数使用。

2、使用函数的参数。将函数参数设置为引用传递而不是值传递,就可以把函数计算出的变量通过此参数给其它函数使用。

3、使用全局变量。将函数计算出的值保存到全局变量中,其它函数就可以使用了。

扩展资料

C语言运算中的数据类型自动转换原则

1、隐式转换

C语言在以下四种情况下会进行隐式转换:

(1)算术运算式中,低类型能够转换为高类型。

(2)赋值表达式中,右边表达式的值自动隐式转换为左边变量的类型,并赋值给它。

(3)函数调用中参数传递时,系统隐式地将实参转换为形参的类型后,赋给形参。

(4)函数有返回值时,系统将隐式地将返回表达式类型转换为返回值类型,赋值给调用函数。

2、算数运算的隐式转换

算数运算中,首先有如下类型转换规则:

(1)字符必须先转换为整数(C语言规定字符类型数据和整型数据之间可以通用)。

(2)short型转换为int型(同属于整型)。

(3)float型数据在运算时一律转换为双精度(double)型,以提高运算精度(同属于实型)。

其次,有下面的规则。

当不同类型的数据进行操作时,应当首先将其转换成相同的数据类型,然后进行操作,转换规则是由低级向高级转换。

char就是1字节(固定不变),short不少于2字节,int不少于short,long不少于4字节,且long不少于int,long long不少于long。

除了char,其他整型范围都是相对而言的,确保后一种的宽度不低于前一种即可(可能相等),在不同的年代,计算机硬件发展不同,内存、外存容量也不同,主流编译器在设计的时候会综合考虑计算机硬件的情况,来设计每一种数据类型的实际宽度。

char型在任何情况下都是占1个字节,而比如int型,它的长度与环境的字长相同,在16位的环境中,它占16位,2个字节;32位环境中占4个字节。

扩展资料

在C语言中可以用sizeof运算符,获取数据类型或者变量所占的内存字节数。示例代码如下:

#include int main()

{

printf("%d\t%d\t%d\n", sizeof(int), sizeof(short), sizeof(long))

return 0

}