2.2 数据类型与基本数据类型

C

2.2.1 数据类型

 C语言处理的数据,根据其特定的形式是有类型之分的,所以C的各种类型所能表示的数据是有范围的,如果将超出其范围的数据放入其中,就会产生数据的“益出”。就像容量1升的瓶子只能装1升的水一样,超出部分就会“溢出”,编程者在程序设计中应选择合适的数据类型,以防止这种错误的发生。C语言提供了丰富的数据类型,满足存放各种数据的需要。C语言规定,在程序中所使用的每一个数据都属于下列一种类型之一:

著名计算机专家沃思(Nikiklaus Wirth)提出一个公式:
程序 = 数据结构 + 算法
即编程者必须考虑和设计数据结构及数据的组织形式、算法及操作步骤。本章介绍C语言的基本数据类型,帮助我们在编程时正确地定义数据的类型即数据描述。

2.2.2 基本数据类型

  1. 整型
    整型数据分为基本整型int, 短整型short和长整型long三种。
    整型数据中,按数据是否带符号,又分为有符号证书和无符号unsigned整数。
    整数在计算机内部使用该数的二进制补码形式存放。其中首位是符号位,“0”或“1”分别表示正数和负数。对于正整数,其原码,反码,补码相同。负整数的反码为其原码除符号位外按位取反(即0改为1,1改为0),而其补码为其反码末位加1.

    +19的补码为:0 0 0 0 0 0 0 0 0 0 0 1 0 0 1 1
    -19的原码为:1 0 0 0 0 0 0 0 0 0 0 1 0 0 1 1
    -19的反码为:1 1 1 1 1 1 1 1 1 1 1 0 1 1 0 0
    -19的补码为:1 1 1 1 1 1 1 1 1 1 1 0 1 1 0 1
类型存储大小值范围
int2 或 4 字节-32,768 到 32,767 或 -2,147,483,648 到 2,147,483,647
unsigned int2 或 4 字节0 到 65,535 或 0 到 4,294,967,295
short2 字节-32,768 到 32,767
unsigned short2 字节0 到 65,535
long4 字节-2,147,483,648 到 2,147,483,647
unsigned long4 字节0 到 4,294,967,295

由于不同的系统数据类型所占存储空间长度由差异,因此C语言提供了一个测定数据类型所占存储空间长度的运算符“sizeof”,它的格式为:sizeof(类型标识符) 或 sizeof(变量名)
例如,sizeof(int), sizeof(long)可以计算出当前系统的int类型和long类型所占的存储空间字节数。

2. 实型

类型存储大小值范围精度
float4 字节1.2E-38 到 3.4E+386 位有效位
double8 字节2.3E-308 到 1.7E+30815 位有效位

3. 字符型

字符类型的数据(如字’A’,”a,’0′,’$’)在内存中以相应的ASCII码存放,不用字符所对应的ASCII码见附录。
计算机用一个字节(8个二进制位)存储一个字符,例如 ‘A’的ASCII码是65,内存中存放即为01000001。

类型存储大小值范围
char1 字节-128 到 127 或 0 到 255
unsigned char1 字节0 到 255
signed char1 字节-128 到 127

コメント

タイトルとURLをコピーしました