C语言基本的数据类型.ppt
《C语言基本的数据类型.ppt》由会员分享,可在线阅读,更多相关《C语言基本的数据类型.ppt(59页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、 第第3章章 基本数据类型(基本数据类型(1)本章内容介绍本章内容介绍u 引出:标示符引出:标示符u3.1 C语言的数据类型语言的数据类型u 3.2 整型和实型整型和实型u 3.3 字符型字符型u 3.4 库函数库函数补充:什么是标识符补充:什么是标识符n标识符是一个名字,是给程序中的实体(常量、标识符是一个名字,是给程序中的实体(常量、变量、类型、函数、数组、结构体以及文件起的变量、类型、函数、数组、结构体以及文件起的名称,文件名也是标示符。名称,文件名也是标示符。n组成:由组成:由字母、下划线、数字字母、下划线、数字组成,且标示符必组成,且标示符必须由须由字母或下划线开头字母或下划线开头,
2、否则程序出错。,否则程序出错。nC语言不允许同时定义语言不允许同时定义2个相同变量。个相同变量。nC语言不同于其它语言,区分大小写。语言不同于其它语言,区分大小写。nArea _abc 4ddn长度:只能识别前长度:只能识别前8位。建议变量名的长度最好不位。建议变量名的长度最好不要超过要超过8个字符个字符标识符分类标识符分类标识符有三类:标识符有三类:关键字关键字、预定义标识符预定义标识符和和用户定义用户定义标识符标识符。1)关键字关键字 已被已被C系统所占用的标识符称为关键字,每个系统所占用的标识符称为关键字,每个关键字在关键字在C程序中都有其特定的作用,程序中都有其特定的作用,关键字不关键
3、字不能作为用户标识符能作为用户标识符。Turbo C 20的关键字,共的关键字,共32个,所有关键个,所有关键字中只包含小写字母和下划线。字中只包含小写字母和下划线。标示符标示符ANSI标准定义的共标准定义的共32个关键字个关键字autobreakcasecharconstcontinuedefaultdodoubleelseenumexternfloatforgotoifintlongregisterreturnshortsignedsizeofstaticstructswitchtypedefunionunsignedvoidvolatilewhile标识符分类标识符分类2)预定义标识符预
4、定义标识符 C语言系统提供的库函数名和编译预处理命令等构语言系统提供的库函数名和编译预处理命令等构成了预定义标识符。成了预定义标识符。printf,scanf等等3)用户标识符用户标识符u 禁止使用禁止使用 关键字作为用户的标识符关键字作为用户的标识符u 尽量避免使用预定义标识符作为用户标识符尽量避免使用预定义标识符作为用户标识符u 标识符中标识符中不能出现全角字符、空格不能出现全角字符、空格u 使用标识符最好做到见名知义使用标识符最好做到见名知义u 标识符必须先定义后使用标识符必须先定义后使用,否则出现编译错误,否则出现编译错误 标识符标识符正确的标识符正确的标识符不正确的标识符不正确的标识
5、符不正确的原因不正确的原因area3area33area3area数字打头数字打头sort_scoresort_scoresort-scoresort-score标识符中使用了减号标识符中使用了减号“-”“-”DEFAULTDEFAULTdefaultdefault使用关键字作标识符使用关键字作标识符a123ba123ba12a1245b45b标识符中使用了全角字符标识符中使用了全角字符“”_915_915-915-915标识符中使用了减号标识符中使用了减号“-”“-”xandyxandyx&yx&y标识符中含有非法字符标识符中含有非法字符“&”“&”常量的类型常量的类型n在程序运行过程中在程
6、序运行过程中,其值不能被改变的量称为常量其值不能被改变的量称为常量n常量区分为不同类型,常量区分为不同类型,1)整型常量:)整型常量:100,-100,07623,0 xa3f 2)实型常量:)实型常量:3.14,1.2345e3,-3.789 3)字符型常量:)字符型常量:a,b,2 4)字符串常量:)字符串常量:123,Good morning!5)符号常量)符号常量:define PI 3.14159 PI、ESC与ID是符号常量 变量变量变量变量:是值可以改变的量。是值可以改变的量。实质:内存中的存储单元实质:内存中的存储单元定义方法:数据类型定义方法:数据类型 标示符标示符标识符的格
7、式:标识符的格式:1)只能使用字母、数字或下划线)只能使用字母、数字或下划线2)首字符必须为字母或下划线)首字符必须为字母或下划线3)字符个数不超过)字符个数不超过32个个4)区分大小写)区分大小写5)不能使用关键字(保留字)不能使用关键字(保留字)如:如:x,sum,_word,lotus_1_2_3 3df,$12,a+b,M.D.John,int注意注意:标识符要标识符要“见名知意见名知意”,变量应,变量应“先定义后使用先定义后使用”变量的特性:变量的特性:1)应先定义后使用;)应先定义后使用;2)每一变量被指为一确定类型每一变量被指为一确定类型,在编译时就能为其,在编译时就能为其分配相
8、同的存储单元;分配相同的存储单元;3)指定每一变量属于一类型,便于在)指定每一变量属于一类型,便于在编译时,据此编译时,据此检查该变量所进行的运算是否合法检查该变量所进行的运算是否合法内存内存x例例:#define PRICE 30void main()int num,total;num=10;total=num*PRICE;printf(total=%d,total);定义变量定义变量 赋值赋值 赋值赋值int x;x=-10;-103.1 C的数据类型的数据类型n数据有一个非常重要特征即数据有一个非常重要特征即数据的类型数据的类型。n数据类型不仅确定了数据类型不仅确定了变量的取值范围变量的
9、取值范围、占、占内存空间大小,而且还确定了变量所能参内存空间大小,而且还确定了变量所能参加的加的各种运算方式各种运算方式。n例如一个整型(例如一个整型(int)类型的数据,占内存)类型的数据,占内存空间空间2字节,取值范围规定为字节,取值范围规定为-3276832767之间的整数,能参与算术运算、位运之间的整数,能参与算术运算、位运算等。算等。C语言中,每个变量在使用之前必须语言中,每个变量在使用之前必须定义其数据类型。定义其数据类型。C的数据类型的数据类型构造类型构造类型字符型字符型实型实型空类型空类型(void)数组数组()指针类型指针类型(*)结构体结构体(struct)共用体共用体(u
10、nion)枚举枚举(enum)字符型字符型(char)无符号字符型无符号字符型(unsigned char)单精度单精度(float)双精度双精度(double)长双精度长双精度(long double)数据类型数据类型基本类型基本类型整型整型整型整型(int)短整型短整型(short int)长整型长整型(long int)无符号整型无符号整型(unsigned int)无符号短整型无符号短整型(unsigned short int)无符号长整型无符号长整型(unsigned long int)C的数据类型的数据类型n基本类型基本类型:由系统:由系统事先定义好的不可再分割事先定义好的不可再分
11、割的类型,的类型,可以直接利用这些类型名定义数据。可以直接利用这些类型名定义数据。n构造类型构造类型:由基本类型:由基本类型组成组成的更为复杂的类型。的更为复杂的类型。n指针类型指针类型:一种特殊的、具有重要作用的数据类型,:一种特殊的、具有重要作用的数据类型,其值用来表示某个量在内存中的地址其值用来表示某个量在内存中的地址。n空类型空类型:主要用于特殊指针变量和无返回值函数的:主要用于特殊指针变量和无返回值函数的说明说明注意:注意:数据类型的位数和取值范围与所运行环境有很数据类型的位数和取值范围与所运行环境有很大关系(例如大关系(例如Turbo C与与Visual C+6.0会有不同会有不同
12、)C的数据类型的数据类型类类型名型名名称名称位数位数取取值值范范围围(signed)char字符型字符型8-128127unsigned char无符号字符型无符号字符型80255(signed)short(int)短整型短整型16-3276832767unsigned short(int)无符号短整型无符号短整型16065535(signed)int整型整型16-3276832767unsigned(int)无符号整型无符号整型16065535(signed)long(int)长长整型整型32-21474836482147483647unsigned long(int)无符号无符号长长整型整
13、型3204294967295float 单单精度精度实实型型323.4(10-381038),6位精度位精度double双精度双精度实实型型641.7(10-30810308),15位精度位精度3.2 整型整型3.2.1整型常量整型常量一、整型常量的表示方法一、整型常量的表示方法 整型常量即整常数。在语言中,整常数可用以下三种形整型常量即整常数。在语言中,整常数可用以下三种形式表示:式表示:(1)十进制整数十进制整数。如:如:123,-456.4。(2)八进制整数八进制整数。以数字。以数字0开头的数是八进制数。开头的数是八进制数。如:如:0123表示八进制数表示八进制数123,等于十进制数,等
14、于十进制数83 -011表示八进制数表示八进制数-11,即十进制数即十进制数-9。(3)十六进制整数十六进制整数。以。以0 x或或X开头的数是开头的数是16进制数。进制数。如:如:0 x123,代表,代表16进制数进制数123,等于十进制数等于十进制数 291。-0 x12等于十进制数等于十进制数18 -0X8000L,16进制长整型,等于十进制数进制长整型,等于十进制数32768二、不合法的整型常量二、不合法的整型常量 09876(非十进制,非八进制,因为有数字(非十进制,非八进制,因为有数字8和和9)20fa(非十进制,非八进制,不是以(非十进制,非八进制,不是以0 x开头)开头)0 xf
15、g(出现了非法字符)(出现了非法字符)三、整数的表数范围三、整数的表数范围 16位字长的整数表数的范围为位字长的整数表数的范围为-3276832767用八进制表示则为用八进制表示则为00177777,用十六进制表示为,用十六进制表示为0 x00 xFFFF。超出上述范围的整常数,要用长整。超出上述范围的整常数,要用长整型(型(32位)表示。位)表示。在在C语言中,整型数后加语言中,整型数后加l或字母或字母L为长整型为长整型。四、整型常量的分类:四、整型常量的分类:基本整型、短整型、常整型、基本整型、短整型、常整型、无符号整型无符号整型3.2.2整型变量整型变量一、分类一、分类:基本整型、短整型
16、、常整型、无符号整:基本整型、短整型、常整型、无符号整型。型。二、定义二、定义:1)基本整型变量用)基本整型变量用int进行定义;进行定义;2)一个定义语句必须用分号)一个定义语句必须用分号“;”结束,在一个定结束,在一个定义语句中可同时定义多个变量,变量之间用逗号义语句中可同时定义多个变量,变量之间用逗号”,”隔开。隔开。3)一般微机为)一般微机为基本整型开辟基本整型开辟2个字节个字节的存储单元,的存储单元,允许存放的数值范围是允许存放的数值范围是-32768327674)C语言规定,可以语言规定,可以在变量定义的同时给其赋值在变量定义的同时给其赋值,称为变量,称为变量的初始化。的初始化。v
17、oid main()int a=3;float f=3.56;char c=a;int i,j,k=5;int x=3,y=5;如果变量没有被初始化,变量的初始值将不能确定,如果变量没有被初始化,变量的初始值将不能确定,变量参与运算前,必须先赋值,否则运算无效!变量参与运算前,必须先赋值,否则运算无效!先定义后使用:1、必须首先声明;2、参与运算前必须先赋值查看运行结果,想想为什么?查看运行结果,想想为什么?程序一:程序一:main()int i,j,k;printf(“i=%d,j=%d,k=%dn”,i,j,k);程序二:程序二:main()int i,j,k;i=10;j=20;k=30
18、;printf(“i=%d,j=%d,k=%dn”,i,j,k);5)当程序中用以上方式定义变量)当程序中用以上方式定义变量i,j,k时,编译程序时,编译程序会为变量会为变量i,j,k都开辟存储单元,但并没用在存储单都开辟存储单元,但并没用在存储单元中存放任何初值。元中存放任何初值。因此这些存储单元中原有的信息垃圾并没有被因此这些存储单元中原有的信息垃圾并没有被清除。这时,变量中的值无意义,只有赋初值才有清除。这时,变量中的值无意义,只有赋初值才有意义。意义。3.2.3整型数据的分类整型数据的分类1、分类、分类1)有符号整型)有符号整型signed基本整型(基本整型(int)2个字节个字节-3
19、276832767短整型(短整型(short int)2个字节个字节-3276832767长整型(长整型(long)4-214748364821474836472)无符号整型无符号整型unsignedunsigned int 2 065535unsigned short 2 065535unsigned long 4 042949672952、C语言如何表示语言如何表示若要表示一个若要表示一个长整型常量长整型常量,则应该在一个整型常量,则应该在一个整型常量后加一个字母后加一个字母后缀后缀l或或L。如:。如:long i;i=200l;注意:如果一个足够大的数,即使注意:如果一个足够大的数,即使
20、面值在长面值在长整型范围内整型范围内,但,但数字后未加字母数字后未加字母l,也,也不可代表长整不可代表长整型型。3、无论是短整型还是长整型,都被识别为有符号整、无论是短整型还是长整型,都被识别为有符号整型,型,无符号整数应该在数字末尾加上无符号整数应该在数字末尾加上u或或U,长整型,长整型无符号整数常数,加无符号整数常数,加lu或或LU注意:无符号常量不能表示成小于注意:无符号常量不能表示成小于0的负数。的负数。-200u不合法不合法 一个整数,如果其值在一个整数,如果其值在-32768-32768+32767+32767范围内,认范围内,认为它是为它是intint型,它可以赋值给型,它可以赋
21、值给intint型和型和long intlong int型变量。型变量。一个整数,如果其值超过了上述范围,而在一个整数,如果其值超过了上述范围,而在-2147483637-2147483637+2147483647+2147483647范围内,则认为它是为长整范围内,则认为它是为长整型。可以将它赋值给一个型。可以将它赋值给一个long intlong int型变量。型变量。一个整常量后面加一个字母一个整常量后面加一个字母u u或或U U,认为是,认为是unsigned unsigned intint型,如型,如12345u12345u,在内存中按,在内存中按unsigned intunsign
22、ed int规定的方规定的方式存放式存放(存储单元中最高位不作为符号位,而用来存储存储单元中最高位不作为符号位,而用来存储数据数据)。如果写成。如果写成-12345u-12345u,则先将,则先将-12345-12345转换成其补码转换成其补码5319153191,然后按无符号数存储。,然后按无符号数存储。3.2.4整数在内存中的存储形式整数在内存中的存储形式1、存储单位、存储单位1)在计算机中,内存储器的最小存储单位为)在计算机中,内存储器的最小存储单位为“bit”,8个二进制位组成一个字节个二进制位组成一个字节byte.2)如果一台计算机系统以两个字节()如果一台计算机系统以两个字节(16
23、个二进制个二进制位)来存放一条机器指令,就称这台计算机的字长位)来存放一条机器指令,就称这台计算机的字长为为16位。位。3)最右边一位为)最右边一位为“最低位最低位”,最左边一位为,最左边一位为“最高最高位位”4)若是)若是正整数,最高位为正整数,最高位为“0”,若是,若是负整数,最负整数,最高位为高位为“1”。2、存储方式、存储方式1)正整数:用两个字节存放最大整数)正整数:用两个字节存放最大整数327672)负整数)负整数 a)C语言中,语言中,对于负整数,在内存中是以整数的对于负整数,在内存中是以整数的“补码补码”形式存放形式存放;b)两个字节存放两个字节存放最小整数最小整数-32768
24、3)无符号整数:用两个字节存放一个整数时,若说)无符号整数:用两个字节存放一个整数时,若说明为明为无符号整数,其中最高位不再用来存放整数的符无符号整数,其中最高位不再用来存放整数的符号号,16个二进制数位全部用来存放整数,因此个二进制数位全部用来存放整数,因此无符无符号整数不可能是负数号整数不可能是负数。这时,。这时,16个二进制位中全部个二进制位中全部是是1,它所代表的整数就是最大数,它所代表的整数就是最大数655351 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0=-327681 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1=-1例如:整数13在内存中实际存放的
25、情况:例:整型变量的定义与使用例:整型变量的定义与使用#include“stdio.h”void main()int a,b,c,d;unsigned u;a=12;b=-24;u=10;c=a+u;d=b+u;printf(“a+u=%d,b+u=%dn”,c,d);运行结果:运行结果:a+u=22,b+u=-14 例:整型数据的溢出例:整型数据的溢出#include#include void main()void main()int a,b;int a,b;a=32767;a=32767;b=a+1;b=a+1;printf(“%d,%dn”,a,b);printf(“%d,%dn”,a,
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 语言 基本 数据类型
限制150内