2--1:C语言的基本数据类型与表达式
- 为什么要划分数据类型
- 现实生活中储存信息的方式多种多样,数据本身就是非常丰富的。计算机能够处理的数字、图形、声音、图像、文字等都是以不同的数据形式表示的。
- 计算机是如何存储数据的?
(1)数据和指令在计算机中都以二进制的形式存储。计算机组成原件是集成电路,对于电子元件来讲,受到电的状态的影响,高电平用1来表示,低电平用0来表示。
(2)“位(bit)”是计算机的基本存储单元,一个位只能存储一位二进制的值,是0或者1,很多个存储单元的集合就构成了计算机的存储空间;八个二进制位是一个字节(Byte),程序在分配内存时都是以字节为单位进行分配。
(3)在内存中,每个字节类型的存储单元都有一个唯一的地址,通过这个地址可以对内存中的数据进行保存和读取操作。
例如:
在内存中存放字符a,存储地址为1102。则查找a在ASCII码表中的数字是97,然后将数据97转换为二进制数“01100001”,然后保存在编号为1102的字节中。可用如下示意图表示:
- 一个字节仅存放八位二进制,能存储的最大数为255(2的8次方-1=255),如果需要保存更大的值,应该如何表示?
- 某个字节存放的二进制01100001,那么它是代表字符呢还是数字呢?
- 答案:存储之前将数据的类型进行定义,并规定好每种类型所用到的字节数。
图解析:左侧1100-1103是字节编号,就是地址,其中1100这个地址展示了位与字节的关系,这里有8个位,每一位中存储一个0或者1,八个连续的位放在一起就是连续的字节,这里将01100001写入1102这个地址,但是输出的是a。
注意:这里说一下十进制怎么算成二进制,
这是我在网上搜的,懒得打字了,十分清除哦
各种转换在这个网页自己看哦,进制。
- C语言中的数据类型
在C语言中,将数据按照被定义的性质、表现形式、占据存储空间的大小等构造特点划分为不同类型,主要有基本类型、构造类型、指针类型和空类型。
例如:在某个商场。商品的名称一般为文字,在C语言中定义为字符型数据,商品的数量是整数,可定义为整型数据,而商品的价格有可能是小数部分,在C语言中需要用实型来表示。假如要统计某种商品的销售额,需要同时出现商品名称、价格、销售数量,C语言还支持用户定义将一些有相互联系而类型不同的数据组成结构体类型数据。
字符类型:英文字母、下划线、#、*。
整型:分为基本整型、短整型、长整型、无符号整型等,表示不同数值范围的整数。
实型(浮点型):带小数点的。
枚举类型:如果一个变量的取值只有确定的几种可以把它定义为枚举类型,比如一个星期只有7天,一年有12个月。
构造类型:由多个元素组成
数组类型:要求其中的每一个元素都有相同的数据类型,或者都是整型,或者都是字符型。
结构体类型:各个元素不一定是相同的类型
共用体类型:比较特别,不同类型的变量存放在同一段内存单元中,每个瞬间只有一个成员起作用,其他成员不起作用。
指针:指针即地址,存放的数据是某个变量的地址,而不是变量的值。
空类型:定义函数返回值的类型,如果一个函数被定义为空类型,则表示不允许此函数有返回值。