Lesson2数据类型.ppt
《Lesson2数据类型.ppt》由会员分享,可在线阅读,更多相关《Lesson2数据类型.ppt(32页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、C语言程序设计语言程序设计第二章第二章数据类型数据类型众嵌科技众嵌科技知识要点知识要点2.1 C2.1 C语言的数据类型语言的数据类型2.2 2.2 常量与变量常量与变量2.3 2.3 整型数据整型数据2.4 2.4 实型数据实型数据2.5 2.5 字符数据字符数据2.6 2.6 变量的定义与赋值变量的定义与赋值2.7 C2.7 C语言类型修饰符语言类型修饰符2.8 2.8 数据类型转换数据类型转换2.12.1C C语言的数据类型语言的数据类型什么是数据类型?什么是数据类型?就像对自然界中的动物,为了对它们进行区分,在动物就像对自然界中的动物,为了对它们进行区分,在动物就像对自然界中的动物,为
2、了对它们进行区分,在动物就像对自然界中的动物,为了对它们进行区分,在动物学上我们把狗、狼归为犬科动物,猫、虎、豹归为猫科动物学上我们把狗、狼归为犬科动物,猫、虎、豹归为猫科动物学上我们把狗、狼归为犬科动物,猫、虎、豹归为猫科动物学上我们把狗、狼归为犬科动物,猫、虎、豹归为猫科动物一样,为了区分不同类型的数据,在计算机领域也有一套标一样,为了区分不同类型的数据,在计算机领域也有一套标一样,为了区分不同类型的数据,在计算机领域也有一套标一样,为了区分不同类型的数据,在计算机领域也有一套标准来区分各种数据,用这种区分方法得到的数据类别就是数准来区分各种数据,用这种区分方法得到的数据类别就是数准来区分
3、各种数据,用这种区分方法得到的数据类别就是数准来区分各种数据,用这种区分方法得到的数据类别就是数据类型。例如:我们可以把带小数的数归为一类(据类型。例如:我们可以把带小数的数归为一类(据类型。例如:我们可以把带小数的数归为一类(据类型。例如:我们可以把带小数的数归为一类(0.20.2、8.78.7、1.121.12、-3.22-3.22),称为),称为),称为),称为小数类型小数类型小数类型小数类型;把不带小数的数又归为;把不带小数的数又归为;把不带小数的数又归为;把不带小数的数又归为一类(一类(一类(一类(11、2 2、3 3、-5-5、00),称为),称为),称为),称为整数类型整数类型整
4、数类型整数类型;那么;那么;那么;那么小数小数小数小数类型类型类型类型和和和和整数类型整数类型整数类型整数类型都被称为数据类型。都被称为数据类型。都被称为数据类型。都被称为数据类型。2.12.1C C语言的数据类型语言的数据类型C语言数据类型的分类语言数据类型的分类基本类型基本类型基本类型基本类型整整整整 型型型型实实实实 型型型型字字 符符 型型字字 符符 型型枚枚举举类类型型枚枚举举类类型型构造类型构造类型构造类型构造类型数组类型数组类型数组类型数组类型结构体类型结构体类型结构体类型结构体类型共用体类型共用体类型共用体类型共用体类型指针类型指针类型指针类型指针类型空类型空类型空类型空类型C
5、 C语言数据类型语言数据类型语言数据类型语言数据类型2.2 2.2 常量与变量常量与变量量量程序在运行过程中,所有与程序运行相关的数据都存程序在运行过程中,所有与程序运行相关的数据都存程序在运行过程中,所有与程序运行相关的数据都存程序在运行过程中,所有与程序运行相关的数据都存储在内存单元中,这些存储着数据的内存单元我们称为量。储在内存单元中,这些存储着数据的内存单元我们称为量。储在内存单元中,这些存储着数据的内存单元我们称为量。储在内存单元中,这些存储着数据的内存单元我们称为量。为了便于理解,我们会为量定义一个易于理解的名字,称为了便于理解,我们会为量定义一个易于理解的名字,称为了便于理解,我
6、们会为量定义一个易于理解的名字,称为了便于理解,我们会为量定义一个易于理解的名字,称为量名。量在程序设计中有两种,一种是常量,另一种是为量名。量在程序设计中有两种,一种是常量,另一种是为量名。量在程序设计中有两种,一种是常量,另一种是为量名。量在程序设计中有两种,一种是常量,另一种是变量。变量。变量。变量。常量常量在程序运行过程中,其值不能被改变的量称为常量。在程序运行过程中,其值不能被改变的量称为常量。在程序运行过程中,其值不能被改变的量称为常量。在程序运行过程中,其值不能被改变的量称为常量。变量变量在程序运行过程中,其值可以被改变的量称为变量。在程序运行过程中,其值可以被改变的量称为变量。
7、在程序运行过程中,其值可以被改变的量称为变量。在程序运行过程中,其值可以被改变的量称为变量。2.2 2.2 常量与变量常量与变量思考:常量与变量在程序设计中的作用是思考:常量与变量在程序设计中的作用是什么?什么?变量的作用:变量的作用:变量的作用:变量的作用:就像我们做算术题时,需要草稿纸一样,变量是就像我们做算术题时,需要草稿纸一样,变量是就像我们做算术题时,需要草稿纸一样,变量是就像我们做算术题时,需要草稿纸一样,变量是电脑进行程序运算时存储临时运算结果的地方,没有电脑进行程序运算时存储临时运算结果的地方,没有电脑进行程序运算时存储临时运算结果的地方,没有电脑进行程序运算时存储临时运算结果
8、的地方,没有变量电脑将不能进行任何稍微复杂一点的运算。变量电脑将不能进行任何稍微复杂一点的运算。变量电脑将不能进行任何稍微复杂一点的运算。变量电脑将不能进行任何稍微复杂一点的运算。常量的作用:常量的作用:常量的作用:常量的作用:常量是为了方便程序员维护程序而设计的,有些常量是为了方便程序员维护程序而设计的,有些常量是为了方便程序员维护程序而设计的,有些常量是为了方便程序员维护程序而设计的,有些特殊的数值(如特殊的数值(如特殊的数值(如特殊的数值(如3.14159263.1415926)在程序里可能多处重复出在程序里可能多处重复出在程序里可能多处重复出在程序里可能多处重复出现,为了避免程序员重复
9、输入产生错误,一般会建立现,为了避免程序员重复输入产生错误,一般会建立现,为了避免程序员重复输入产生错误,一般会建立现,为了避免程序员重复输入产生错误,一般会建立一个常量令它的值等于我们希望的这个数值,来降低一个常量令它的值等于我们希望的这个数值,来降低一个常量令它的值等于我们希望的这个数值,来降低一个常量令它的值等于我们希望的这个数值,来降低代码出错可能。另外,当我们期望改变这个特殊值的代码出错可能。另外,当我们期望改变这个特殊值的代码出错可能。另外,当我们期望改变这个特殊值的代码出错可能。另外,当我们期望改变这个特殊值的时候,只要改变这个常量的值就可以了,而不必改变时候,只要改变这个常量的
10、值就可以了,而不必改变时候,只要改变这个常量的值就可以了,而不必改变时候,只要改变这个常量的值就可以了,而不必改变所有引用这个值的地方。所有引用这个值的地方。所有引用这个值的地方。所有引用这个值的地方。2.3 2.3 整型数据整型数据什么是整型数据?什么是整型数据?整型数据等同于数学上的整数,凡是不带小数的数我整型数据等同于数学上的整数,凡是不带小数的数我整型数据等同于数学上的整数,凡是不带小数的数我整型数据等同于数学上的整数,凡是不带小数的数我们都归于这一类,如们都归于这一类,如们都归于这一类,如们都归于这一类,如10011001、2323、0 0、-244-244、-332-332等等。等
11、等。等等。等等。C语言中整型数据的表现形式语言中整型数据的表现形式我们日常经常接触到的一类整数表现形式是十进制,我们日常经常接触到的一类整数表现形式是十进制,我们日常经常接触到的一类整数表现形式是十进制,我们日常经常接触到的一类整数表现形式是十进制,这种表现形式的特点就是逢十向前进一位;除此以外电脑这种表现形式的特点就是逢十向前进一位;除此以外电脑这种表现形式的特点就是逢十向前进一位;除此以外电脑这种表现形式的特点就是逢十向前进一位;除此以外电脑中还有类似的几种表现形式,如二进制(逢二向前进一位)中还有类似的几种表现形式,如二进制(逢二向前进一位)中还有类似的几种表现形式,如二进制(逢二向前进
12、一位)中还有类似的几种表现形式,如二进制(逢二向前进一位),八进制(逢八向前进一位),十六进制(逢十六向前进,八进制(逢八向前进一位),十六进制(逢十六向前进,八进制(逢八向前进一位),十六进制(逢十六向前进,八进制(逢八向前进一位),十六进制(逢十六向前进一位),在这些进制表现方式中,都有一个特点,那就是一位),在这些进制表现方式中,都有一个特点,那就是一位),在这些进制表现方式中,都有一个特点,那就是一位),在这些进制表现方式中,都有一个特点,那就是对于对于对于对于N N进制而言,它每一位上的数值必定不能大于进制而言,它每一位上的数值必定不能大于进制而言,它每一位上的数值必定不能大于进制而
13、言,它每一位上的数值必定不能大于N-1N-1,如,如,如,如十进制每一位最大为十进制每一位最大为十进制每一位最大为十进制每一位最大为9 9,二进制最大为,二进制最大为,二进制最大为,二进制最大为1 1,八进制最大为,八进制最大为,八进制最大为,八进制最大为7 7,十六进制最大为,十六进制最大为,十六进制最大为,十六进制最大为1515。例例例例2.12.12.12.1 整型数据整型数据整型数据整型数据20202020的各种表现形式:的各种表现形式:的各种表现形式:的各种表现形式:1020112012201 1 1 1、十进制:、十进制:、十进制:、十进制:202020202 2 2 2、二进制:
14、、二进制:、二进制:、二进制:10100101001010010100b b b b3 3 3 3、八进制:、八进制:、八进制:、八进制:0 0 0 0242424244 4 4 4、十六进制:、十六进制:、十六进制:、十六进制:0 x0 x0 x0 x14141414注:注:注:注:C C C C语言中规定在数据后面加语言中规定在数据后面加语言中规定在数据后面加语言中规定在数据后面加b b b b表示这个表示这个表示这个表示这个数是二进制数;在数值前加数是二进制数;在数值前加数是二进制数;在数值前加数是二进制数;在数值前加0 0 0 0表示是八进制表示是八进制表示是八进制表示是八进制数;在数
15、值前加数;在数值前加数;在数值前加数;在数值前加0 x0 x0 x0 x表示是十六进制数。表示是十六进制数。表示是十六进制数。表示是十六进制数。1052220210252220104200101820162416201614十六进制表示法:十六进制表示法:十六进制表示法:十六进制表示法:为了在书写上不与其它进制表示法产生混淆,十六进制借用为了在书写上不与其它进制表示法产生混淆,十六进制借用字符字符A AF F来表示数值来表示数值10101515。十进制:十进制:十六进制:十六进制:012345678910111213141516012345678910111213141516012345678
16、9ABCDEF100123456789ABCDEF10思考思考思考思考现实世界还存在哪种进制表示法为了避免与其它现实世界还存在哪种进制表示法为了避免与其它进制表示法混淆而采用了特殊的表示方法?进制表示法混淆而采用了特殊的表示方法?答案答案答案答案时间。现实世界的时间是使用时间。现实世界的时间是使用的六十进制来表示的,如下午的六十进制来表示的,如下午3 3点半的点半的表示方法就是表示方法就是15:3015:30,这种用,这种用“:”“:”号号区分小时和分钟的表示法就是时钟特区分小时和分钟的表示法就是时钟特有的表达方式,如果没有有的表达方式,如果没有“:”“:”号放在号放在当中区分,那么当中区分,
17、那么15:3015:30表示的意思就会表示的意思就会和十进制和十进制15301530无法区分开来。无法区分开来。2.3 2.3 整型数据整型数据字节的概念字节的概念早期的电脑只能存储整型数据,而且只能已二早期的电脑只能存储整型数据,而且只能已二进制方式存储和表达数据。因为每个二进制位只进制方式存储和表达数据。因为每个二进制位只有两种取值可能(要么是有两种取值可能(要么是1 1,要么是,要么是0 0),所以早),所以早期的存储介质如卡带机就可以通过往纸带对应位期的存储介质如卡带机就可以通过往纸带对应位置打孔表示置打孔表示1 1,不打孔表示,不打孔表示0 0的方式来存储信息。的方式来存储信息。对于
18、内存而言,存储方式类似,只是判断对于内存而言,存储方式类似,只是判断0 0、1 1的的条件由打孔变成了是否有电信号了。正是因为这条件由打孔变成了是否有电信号了。正是因为这个特点,所以电脑里存储单元都是以二进制位为个特点,所以电脑里存储单元都是以二进制位为单位来衡量的,我们通常所说的字节就表示单位来衡量的,我们通常所说的字节就表示8 8个二个二进制位,可以表示进制位,可以表示0,2550,255的数值范围。的数值范围。13:10118 8 8 8个存储单元为一个字节个存储单元为一个字节个存储单元为一个字节个存储单元为一个字节01001010字字字字节节节节存存存存储储储储单单单单元元元元2.3
19、2.3 整型数据整型数据根据存储单元大小不同,根据存储单元大小不同,C语言整型数据分语言整型数据分为以下几种:为以下几种:字符型字符型字符型字符型charchar(占用一个字节单元,表示范围占用一个字节单元,表示范围0,2550,255)短整型短整型短整型短整型shortshort(在在1616位操作系统下,占用位操作系统下,占用1 1个字节个字节单元,表示范围单元,表示范围0,2550,255;在;在3232位操作系统下,位操作系统下,占用占用2 2个字节单元,表示范围个字节单元,表示范围0,20,21616-1-1)整型整型整型整型intint(在在1616位操作系统下,占用位操作系统下,
20、占用2 2个字节单元,个字节单元,表示范围表示范围0,20,21616-1-1;在;在3232位操作系统下,占用位操作系统下,占用4 4个字节单元,表示范围个字节单元,表示范围0,20,23232-1-1)2.3 2.3 整型数据整型数据长整型长整型长整型长整型longlong(占用占用4 4个字节单位,表示范围个字节单位,表示范围0,20,23232-11)缺省约定:缺省约定:缺省约定:缺省约定:如果整数后面跟一个字母如果整数后面跟一个字母LL,则表,则表示这个数是一个长整型示这个数是一个长整型longlong,否则缺省默认为整型,否则缺省默认为整型intint。如。如300L300L就表示
21、一个长整型数据就表示一个长整型数据300300。补码补码前面所说的整数都没有讨论其负数的情况,负前面所说的整数都没有讨论其负数的情况,负数在电脑中如何存储的呢?其实负数在电脑中也和数在电脑中如何存储的呢?其实负数在电脑中也和正整数一样存储,不过需要预先编码一下,这种编正整数一样存储,不过需要预先编码一下,这种编码方式我们称为补码。码方式我们称为补码。补码补码补码补码整数整数-27-27的的charchar型数据补码计算过程如型数据补码计算过程如下:下:2727二进制化二进制化 逐个二进制位取反逐个二进制位取反 结果加结果加1 1即得补码即得补码所以整数所以整数-27-27的的charchar型
22、数据补码的二进型数据补码的二进制表示是制表示是1110010111100101,换算成十进制就是,换算成十进制就是229229。小经验:负数最高二进制位总是小经验:负数最高二进制位总是1 1,正数最,正数最高二进制位总是高二进制位总是0 0。0001101111100100111001012.3 2.3 整型数据整型数据有符号整型数据的存储方式有符号整型数据的存储方式有符号整型数据的存储方式有符号整型数据的存储方式有符号整型数据的存储分为两种情况:有符号整型数据的存储分为两种情况:正数直接以二进制方式存储;正数直接以二进制方式存储;负数首先将其转换成补码后再存储。负数首先将其转换成补码后再存储
23、。所以,对于一个整型数据,若其最高二进制位为所以,对于一个整型数据,若其最高二进制位为1 1则表示则表示这个整型数据是负数,否则是零或者是正数,那么当这个这个整型数据是负数,否则是零或者是正数,那么当这个整型数据可表示的无符号范围是整型数据可表示的无符号范围是0,N0,N的时候,那么它的的时候,那么它的有符号存储范围就是有符号存储范围就是-(N+1)-(N+1)/2,(N+1)/2-1/2,(N+1)/2-1因为因为0,N0,N的区间大小是的区间大小是(N+1)(N+1),它的一半空间用来存负数,它的一半空间用来存负数,另一半空间用来存正数和零,所以它的有符号区间应当是另一半空间用来存正数和零
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- Lesson2 数据类型
限制150内