21C语言的数据类型 2.1.2基本数据类型 基本数据类型是构成C语言的数据类型的最基本要素 包括:整型(int) 实型( float和 double (详见P20.表2-1 字符型(char) 例如:整型数据的取值和取值范围 类型说明符 数的范围 分配字节数 int 32768-32767 2字节 short int/short 3276832767 2字节 long 21474836482147483647 4字节 unsigned int /unsigned 0~65535 2字节 unsigned short int 0~65535 字节 unsigned long int 0-4294967295 4字节
2.1 C语言的数据类型 2.1.2 基本数据类型 基本数据类型是构成C语言的数据类型的最基本要素 包括:整型(int) 实型(float 和 double) 字符型(char) 例如:整型数据的取值和取值范围 类型说明符 数的范围 分配字节数 int -32768~32767 2字节 short int/short -32768~32767 2字节 long -2147483648~2147483647 4字节 unsigned int /unsigned 0~65535 2字节 unsigned short int 0~65535 2字节 unsigned long int 0~4294967295 4字节 (详见P.20. 表2-1
21C语言的数据类型 注意:在不同的编译系统,同一类型在内存中 所占的字节数可能有不同的规定。 在 Visual c++6.0环境下, short int类型占2 字节,int、 unsigned int类型占4字节。 ■读者应了解所用系统的规定,在将一个程序从 个系统移到另一个系统时,需要注意这个区 别
◼ 注意:在不同的编译系统,同一类型在内存中 所占的字节数可能有不同的规定。 ◼ 在Visual C++ 6.0环境下,short int 类型占2 字节,int、unsigned int类型占4字节。 ◼ 读者应了解所用系统的规定,在将一个程序从 一个系统移到另一个系统时,需要注意这个区 别。 2.1 C语言的数据类型
补充:实际位长测试 在数据操作中,有时由于不知道 C语言中的基本数据类型的实际 位长,从而使数据溢出而导致计 算结果的错误。因此,常需要使 用下面的程序来测试
◼在数据操作中,有时由于不知道 C语言中的基本数据类型的实际 位长,从而使数据溢出而导致计 算结果的错误。因此,常需要使 用下面的程序来测试。 补充: 实际位长测试
补充:实际位长测试 【例 DataTest,c】基本数据类型的位长测试 sized运算符获取一个类 型所占内存的字节数大小 include <stdio h> void mainO printf("char %d byteIn", sizeof(char)) intf("short %d bytesIn", sizeof(short)) printf("int %d bytesin", sizeof(int)) printf("long %d bytesIn", sizeof(long)) printf("float %d bytesIn", sizeof(float) rinf( double %d bytesIn", sizeof(double)) intf("long double %d bytesin", sizeof(long double))
【例DataTest.C】 基本数据类型的位长测试 #include <stdio.h> void main() { printf( "char ------- %d byte\n", sizeof(char) ); printf( "short ------- %d bytes\n", sizeof(short) ); printf( "int ------- %d bytes\n", sizeof(int) ); printf( "long ------- %d bytes\n", sizeof(long) ); printf( "float ------- %d bytes\n", sizeof(float) ); printf( "double ------- %d bytes\n", sizeof(double) ); printf( "long double ------- %d bytes\n", sizeof(long double) ); } 补充: 实际位长测试 sizeof运算符:获取一个类 型所占内存的字节数大小
分析和说明 sizeof是C语言的一个运算符关键字,它的使用类 似于一个函数,用来获取一个表达式、类型或数组等 所占内存的字节数大小。 令该程序在 Winte中运行,其运行结果如下所示: char 1 byte short - 2 byte 2 byte ng 4 byte float 4 byte uble 8 byte long double 10 byte
char -------- 1 byte short -------- 2 byte int -------- 2 byte long -------- 4 byte float -------- 4 byte double -------- 8 byte long double -------- 10 byte ❖ 分析和说明: sizeof是C语言的一个运算符关键字,它的使用类 似于一个函数,用来获取一个表达式、类型或数组等 所占内存的字节数大小。 ❖ 该程序在Wintc中运行,其运行结果如下所示: