《基本数据类型》PPT课件.ppt_第1页
《基本数据类型》PPT课件.ppt_第2页
《基本数据类型》PPT课件.ppt_第3页
《基本数据类型》PPT课件.ppt_第4页
《基本数据类型》PPT课件.ppt_第5页
已阅读5页,还剩31页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

第3章基本数据类型,2,主要内容,标识符的概念基本数据(整型、实型、字符型等)的分类常量的表示方法转义符变量的定义方法变量的赋值。,3,3.1标识符,标识符是由系统或程序设计者为特定对象指定的名字标识符的命名规则标识符的分类,4,1.标识符的命名规则,标识符的命名要满足字符规则和长度规则字符规则:标识符是以英文字母或者下划线开头,由英文字母、数字和下划线组成的连续的字符序列标识符:A、a、Num_1、_35c386非标识符:、wangrm、2006FIFA、北京2008、3x+5长度规则:ANSIC没有规定标识符的长度。不同的C编译系统,标识符的长度可能有所不同。TCV2.0规定的标识符长度是32个字符GCC规定的标识符长度则是255个字符。任何编译系统,超过系统所规定长度的部分,都不会被识别。建议使用的标识符长度不要超过8个字符。,5,2.标识符的分类,C语言中,标识符分为三类关键字标识符预定义标识符用户自定义的标识符,6,关键字标识符,C语言预先指定的有特殊意义的标识符,已经被各种C语言系统使用,程序员不得在程序中重新定义C语言共有32个关键字,按照关键字的作用,可将其分为数据类型关键字:char,double,enum,float,int,long,short,struct,union,signed,unsigned和void控制语句关键字:break,case,continue,default,do,else,for,goto,if,return,switch,while存储类型关键字:auto,extern,register,static其他关键字:const,sizeof,typedef,volatile,7,预定义标识符,C语言提供两类预定义标识符库函数名,如,printf,scanfC语言程序中可以插入的预编译处理命令名字等。如include,define等C语言允许预定义标识符另作他用。但另作他用时,这些标识符将失去系统所规定的原有含义为了编程方便、可靠、防止误解,建议不要将这些预定义标识符另作他用,8,程序设计者自己定义的标识符,自己定义的标识符,用户根据自己的需要给特定的对象起的名字。如,例1.3中的abs_value,x,a,abs_value_a等,9,3.使用标识符的注意事项,C语言中的标识符区分英文字母大小写,即同一个字母的大写与小写被看成是两个不同的字符。A和a是不同的标识符;ABC,ABc,Abc和aBc也是互不相同的标识符用户为对象自定义标识符时,应遵循“见名知意”的原则,即通过标识符的名字应该知道其对象的含义每一个标识符都是一个连续的字符串,当中不能有空格字符如果一个标识符只包括一个英文单词,建议全部使用小写字母表示;如果用一个英文词组(两个或两个以上的单词)表示一个数据对象的名字,建议把各英文单词的首字母大写,如MaxValue。,10,3.2C语言的数据类型,C语言程序的操作对象是数据C语言中的数据都具有确定的数据类型C语言提供了丰富的数据类型,11,ANSI标准定义的整数,12,微机上常用的C编译系统的规定,每个不同的C编译器所规定的数据长度可能不同,学习者应根据实际情况编程。,13,3.3常量,C语言中的常量是指在程序运行的过程中,其值不能被改变的量。其名字一般可以确定常量的含义,常量也称为字面量C语言的常量分为四类。常量可以直接写在程序中。整型常量,如12实型常量,如3.29字符常量,如a字符串常量,如CProgram,14,1.整型常量,整型常量即数学中的整数。C语言的整常数有三种表示形式十进制整数。如,2006,0,-3八进制整数(以数字0为前缀的整数)。如,0567表示八进制数“567”,对应十进制的值为582+681+780=357,即“375”。-023表示八进制数“-23”,023对应十进制的值为281+380=19,-023对应十进制的数值为“-19”十六进制整数(以0 x或0X为前缀的整数)。如,0 x567表示十六进制数“567”,其十进制的值为5162+6161+7160,即“1383”,-0 x2e6表示十六进制数“-2e6”,其对应的十进制值为-(2162+14161+6160),即“-742”,15,2.实型常量,实型常量也称为浮点型常量,即数学中的含有小数点的实数。表示实型常量的方法有两种十进制小数形式。由数字和小数点(必须包含小数点)组成。如,2006.3,0.15,.267,0.0,0.,.0,-3.14是实型常量。十进制指数形式,也称为指数表示法。同一个实型常量,可以有多种指数表示法,一般地,对于一个a10b形式的实型常量,在C语言中可以表示为aEb或aeb,其中,a为任意数,称为尾数;b必须是一个整数,称为指数。若a限定为一个绝对值不小于1且小于10的小数(带有小数点),则该种表示方法称为实型常量的科学表示法或规范表示法,16,指数表示法,科学表示法:3.14e0,1.378E-4,-5.0e15,-7.3e-3非科学表示法:12.34e5,0.1234e6,2e4错误表示法:3.14e3.14e3.4,2.5463e13注意:0 x3e8是16进制整数,不是十进制指数,17,3.字符常量,字符常量是指用一对单撇号括起来的单个字符。如,a,2,#等。计算机中所使用的各种字符和文字都需要进行编码,即每个文字或字符赋予唯一的值。美国信息交换标准码(AmericanStandardCodeforInformationInterchange,简称为ASCII编码),是较常用的一种编码。如,字符0的ASCII码值为48,字符R的ASCII码值为82,其他的字符编码参阅附录。一个字符型常量的值是其在C语言字符集中对应的编码值。请记忆:0的ASCII码为48,A为65,a为97,18,转义字符,C语言允许使用一种特殊形式的字符常量,这种字符是以反斜杠“”开头的。字符“”将其后面的字符转变成另外的意义123的含义是,将八进制的“123”(十进制的“83”)转换成ASCII码值为83的字符。由附录A可知,123等价于Sx23代表ASCII码值为十六进制的“23”(十进制的“35”)的字符,即,#在程序中,使用转义字符时,和普通的字符常量一样,必须用单撇号括起来。如,n,19,转义字符及其含义,20,4.字符串常量,字符串常量是由双撇号括起来的字符序列。IloveChina,3prog,A。字符串常量可由多个字符组成,也可由单个或零个字符组成字符串常量须用双撇号括起来。双撇号仅起定界符的作用,并不是字符串中的字符w是一个字符串常量,而w是一个字符常量。字符串常量中的单撇号(“”)、双撇号(“”)和反斜杠(“”),需要在符号前再加上一个反斜杠(“”)。单撇号(“”)、双撇号(“”)和反斜杠(“”),字符串常量与字符常量的主要区别,字符串常量是用双撇号括起来的字符序列,而字符常量是用单撇号括起来的单个字符字符串常量在内存中存储时,串尾会自动增加一个结束标志00的ASCII码为数值0A的长度是2,包含2个字符:A和0一个字符型常量的值是其ASCII编码值,可以与整型数据进行数值运算,而字符串常量没有独立数值的概念。,22,5.符号常量,符号常量通过宏定义来实现,用一个指定的标识符(即名字)来代表一个字符串。宏定义的一般格式为#define标识符字符串#是宏定义的标志,define是关键字。宏定义的作用是用指定的标识符代替后面的字符串。如,#definePI3.1415926则宏定义后面的程序中出现的PI,将会被3.1415926替代,23,3.4变量,变量是指在程序运行的过程中,其值可以改变的量一个变量必须有一个名字,即变量名变量的命名应该遵循标识符的命名规则变量的值一般存储在内存中,不同类型的变量占用的内存单元(字节)数不同一个变量占用的内存单元越多,所能表示的数据范围一般越大。变量占用的字节数由编译系统决定在程序中,可以通过变量名来引用变量的值,24,变量的定义,在C语言中,要求先定义变量,才能使用该变量C语言程序中,一次可定义一个变量,定义的一般形式为数据类型变量名;例子:intxy;一次也可以定义多个相同类型的变量,一次定义多个相同类型的变量时,数据类型只能说明一次。不同的变量名之间,用逗号分隔。不同类型的变量,不能放在一起定义。定义的一般形式为数据类型变量名1,变量名2,;例子:intxy,yz,zx;,25,1.整型变量与赋值,整型变量的基本类型符是int可把变量定义为基本整型(int)、长整型(longint,简记为long)、短整型(shortint,简记为short)、无符号型(unsignedint,简记为unsigned)等。,intnum1,num2;/*定义了两个基本整型变量num1和num2*/longnum3;/*定义了一个长整型变量num3*/unsignedabcd;/*定义了一个无符号整型变量abcd*/,26,变量的赋值,赋值运算:将一个值赋给一个变量的过程赋值运算的一般形式为变量=值num1=3;num2=4;num3=76543;已经具有确定值的变量,在程序运行时,也可以将其具有的值赋给其他的变量,赋值后,该变量的值保持不变num3=num2;/*此时num2和num3的值相同*/,27,变量的初始化,定义变量的同时,可以给变量指定一个初始值,即变量的初始化。inta=5;/*定义了一个基本整型变量a,并且a被赋予了初值5*/longb,c=17L;/*定义了两个长整型变量b和c,并且c被赋予了初值17L*/inta=45,b;/*定义了两个基本整型变量a和b*/b=a;/*a的值被赋予给b,b具有值45,a仍然保持原来的值*/已经定义的变量,在程序运行中,可以被赋予新值。例如,inta;/*定义了一个基本整型变量a*/a=30;/*a被赋予新的值30*/,28,赋值时的注意事项,任何一个类型的变量所表示的数据范围都是有限的。对于一个变量,如果被赋予一个超出其表示范围的数据,将会出现整数数据溢出的现象在C语言程序运行时,如果数据溢出,系统并不报错,但会出现不正确的结果一般地,长整型变量所能表示的数据范围比基本整型变量表示的数据范围要大一些只能为单独的一个变量赋值,而不能为常量或者包含多个量(变量或常量)的式子赋值。3=x;/*不能为常量赋值*/(x+y)=4;/*不能为包含多个量的式子赋值*/,29,【例3.1】整型变量的定义与赋值(单步执行程序,观察各变量的值的变化)。,intmain()/*变量的定义部分*/intnum1,num2,temp;longnum3,num4;/*变量定义完毕*/num1=4;num2=5;num3=6;num4=7;temp=num1;num1=num2;num2=temp;/*num1与num2的值发生了什么变化?*/num3=num4;num4=num3;/*num3与num4的值发生了什么变化?试分析变化的原因*/num1=32767;num2=32768;/*num2的值是正还是负*/num3=2147483647;num4=2147483648;/*num4的值是正还是负*/return0;,30,2.实型变量,按变量所能表示的数据范围和精度,实型变量分为单精度(float)和双精度(double)等不同的编译系统,规定的实型变量所能表示的数据的长度、精度和数值范围有所不同,31,实型变量的定义,实型变量在使用前要加以定义floatxy;/*定义了一个单精度实型变量xy*/floatx,y,z;/*定义了三个单精度实型变量x,y,z*/doubles1,s2;/*定义了两个双精度实型变量s1,s2*/,32,实型变量可以在定义时赋初值,也可以在程序的运行阶段被赋予一个实型常量,还可以通过一个已被赋值的变量进行赋值【例3.2】实型变量的定义与赋值。,intmain()/*变量的声明部分*/floatnum1=6.2815,num2;/*num2的值与num1的值有关吗?*/floatnum3=3.14e3;doublenum4;/*定义了一个双精度实型变量num4*/num2=num1;num1=7.429;num4=6.28e13;return0;,33,注意,实型变量所能表示的数据范围比整型变量表示的数据范围要大一些。例如,在TurboC系统中一个整型变量占用2个字节的存储单元一个单精度实型变量占用4个字节的存储单元一个双精度实型变量占用8个字节的存储单元任何一个实型变量所占用的存储单元都是有限的,因此能提供的精度(即有效数字)也是有限的。有效位以外的数字将被舍去。因此,对实型变量进行一些操作可能会引起一些误差。,34,3.字符变量,字符变量用来存储一个字符常量在某一时刻,一个字符变量只能存放一个字符字符变量的值在内存中是以字符的ASCII码值的二进制形式存储的一个字符型变量,可以被赋予单个的字符,也可以

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

最新文档

评论

0/150

提交评论