程序员的主要工作,就是编写程序,将现实生活中人们做的工作,由计算机来代替人们完成。完成C语言程序设计,首先要掌握C语言的数据类型。
现在我们通过逐步介绍概念,来帮助你掌握C语言的数据类型。
1、数据的概念
数据:是计算机对外部世界信息的表示,例如在计算机中,数字、图像、声音、视频,都是数据。
日常生活中,我们主要使用十进制。
十进制:每个数位用0,1,2,3,4,5,6,7,8,9十个符号中的一个表示,满十进一。
现代的计算机,都用二进制来表示各种数据;
二进制:每个数位用0,1两个符号中的一个表示,满二进一。
下面是二进制数和十进制数的对应关系:十进制数 二进制数0 01 12 103 114 1005 101
可以看到,二进制数,只用0和1两个符号来表示数。
比特:一个二进制位称为比特,即bit,简写为b。
由于比特单位实在太小,计算机用8个bit作为最常用的计量单位。
字节:8个比特称为一个字节,即byte,简写为B。
2、十六进制
在计算机编程中,实际上使用十六进制,远比二进制多。
十六进制:每个数位用0,1,2,3,4,5,6,7,8,9,A,B,C,D,E,F十六个符号中的一个表示,满十六进一。
下面是十六进制数和十进制数的对应关系:十进制数 十六进制数0 01 12 23 34 45 56 67 78 89 910 A11 B12 C13 D14 E15 F16 1017 1118 12
可以很容易推断出来:
(1)4个二进制位,相当于1个十六进制位。
(2)一个字节是8个二进制位,相当于2个十六进制位。
实际上,计算机根本不使用十六进制,十六进制是为了让程序员更方便地表示二进制数。因为两个十六进制位,就可以表示一个字节,而字节是计算机最常用的计量单位。
3、数据类型的概念
数据类型:我们可以理解为对数据的分类,也可以理解为计算机对数据的表示。
数据类型包含两个属性:
(1)如何存储,占用多大的存储空间;
(2)可以对数据类型进行怎样的操作。
例如,对于整数,我们可以进行加、减、乘、除运算操作,对于文本,我们可以进行连接、裁剪等操作。
C语言的数据类型可以分为基本数据类型和复合数据类型。
基本数据类型:计算机已经预先定义的最简单的数据类型。
复合数据类型:用简单数据类型,组合成的复杂数据类型。
4、C语言的基本数据类型
C语言的基本数据类型有:
字符型(char):用一个字节表示,可以表示的范围为 -128~127;
短整型(short):64位操作系统中,一般用两个字节表示,表示范围为-2^15 ~ 2^15 - 1;
整型(int):64位操作系统中,一般用四个字节表示,表示范围为-2^31 ~ 2^31 - 1;
长整型(long):64位操作系统中,一般用八个字节表示,表示范围为-2^63 ~ 2^63 - 1。
单精度浮点型(float):64位操作系统中,一般用四个字节表示;
双精度浮点型(double):64位操作系统中,一般用八个字节表示;
指针:指针就是地址,64位操作系统中,一般用八个字节表示,表示一个指针。
5、C语言基本数据类型的长度不确定性
在上述7种C语言基本类型中,只有字符类型char的长度确定是1字节,其它6种基本类型的长度都是不确定的。
不同的环境中,例如:不同的硬件、不同的操作系统、或者不同的编译器,相同的类型可能长度不同。
例如:
(1)有的环境中,int类型的长度是2字节,有的环境中,int类型的长度是4字节;
(2)有的环境中,long类型的长度是4字节,有的环境中,long类型的长度是8字节;
(3)有的环境中,指针类型的长度是4字节,有的环境中,指针类型的长度是8字节;
但C语言有规定:
(1)int类型的长度不小于short类型的长度;
(2)long类型的长度不小于int类型的长度;
(3)double类型的长度不小于float类型的长度。