《C语言数据与常量》PPT课件.ppt_第1页
《C语言数据与常量》PPT课件.ppt_第2页
《C语言数据与常量》PPT课件.ppt_第3页
《C语言数据与常量》PPT课件.ppt_第4页
《C语言数据与常量》PPT课件.ppt_第5页
已阅读5页,还剩42页未读 继续免费阅读

下载本文档

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

文档简介

1,数据类型和运算规则,2,第三章数据类型和运算规则,基本数据类型与特点各种数据类型表示范围常量的表示方法变量说明语句运算符与基本运算规则,本章要点,3,第三章数据类型和运算规则,第一节数据与数据类型第二节常量与常量定义第三节变量与变量说明第四节基本运算第五节运算符的优先级与结合性第六节数据类型转换,4,3-1数据与数据类型,数据程序加工处理的对象及其结果。数据类型按数据的性质、在计算机内部的存储形式(占用的内存单元数量、编码方式、取值范围等)、构造特点来对数据进行分类。,基本概念,5,例:求三数的平均值main()inta,b,c;intave;a=10;b=20;c=30;ave=(a+b+c)/3;printf(%d,%d,%dn,a,b,c);printf(ave=%dn,ave);,6,2-1数据与数据类型(续),C语言的数据类型,基本类型,整型int实型(浮点型)字符型char,单精度float双精度double,指针类型,派生类型,数组结构struct共用体union,空类型,枚举类型,7,3-2常量与常量定义,常量在程序运行过程中,其值不能被改变的量称为常量。变量在程序运行过程中,其值可以被改变的量称为变量。一个变量有一个名字,在内存中占据一定的存储单元;在该存储单元中存放变量的值。变量名是一个符号地址,在对程序编译连接进由系统给每个变量名分配一个内存地址。在程序中从变量中取值,实际上是通过变量名找到相应的内存地址,从其存储单元中读取数据。,一、基本概念,8,3-2常量与常量定义-整型常量实例,整型常量的不同表示方法:10进制:100-80+1238进制:010024010016进制:0 x380 x100X100XFF0 xa错误:091、15a、0 x5fg,二、整型常量,常量常量:整形、实型、字符型、字符串常量、符号常量,9,3-2常量与常量定义-实型常量实例,实型常量的不同表示方法:当整数或小数部分为0时,可以省略,但小数点不能省。10进制形式:1.01.+12.0-12.00.0指数形式:一般形式为:aEn(a为十进制数,n为十进制整数)指数:1e31.8e-3-123e-6等价于:10001.8*10-3-123*10-6指数:-.1e-3.1E-10等价于:-0.1*10-30.1*10-10以下为不合法浮点数:e5(阶码标志e前无数字)、-5(无阶码标志)、5.0-e3(负号位置不对)、1.5e(无阶码),三、实型常量,10,3-2常量与常量定义-字符常量,字符型常量:用单引号括起来的单个字符实例:Ag#02+,;()字符定界符:单引号字符型数据的存储格式:ASCII码(见书附录)65103354850,如何表示不可显示字符?,回车/退格/TAB?,如何表示定界符?,产生歧异,转义符:将后面的字符转换为其它含义,三、字符型常量,11,3-2常量与常量定义-转义符常量,字符形式功能使用举例0字符串结束标志n换行(ASCII码为10)printf(”n”);t横向跳格printf(”t”);b退格r回车(ASCII码为13)f走纸换页字符(ASCII码为92)表示字符单引号表示字符”双引号”表示字符”ddd用8进制表示字符a=141A=101换行符12xhh用16进制表示字符a=x61A=x41换行符xa,12,3-2常量与常量定义-字符串常量,字符串常量:用双引号括起来的字符序列实例:”ThisisCstring.”a”(1个空格)”(不含空格)串定界符:双引号”字符串长度:字符串中包含的字符数量。,串长=17串长=1串长=1串长=0,tNameAddressn,串长=15,空串,实例:,Cisveryeasy.,串长=17,注意:字符串a与字符a的区别,Hesaidok.n,串长=13,13,3-2常量与常量定义,符号常量符号常量定义形式#define标识符常量用定义的一个标识符来代表一个常量,称为符号常量例:#definePI3.14159#宏命令专用定义符号define命令标识符宏替换名(一般采用大写字符),注意:符号常量与变量不同,它的值在程序运行过程中不能改变,也不能重新赋值。,14,#definePI3.14159#defineR2main()floats;s=PI*R*R;printf(“s=%fn”,s);,15,3-3变量与变量的定义,一、变量的数据类型,基本类型,整型int实型(浮点型)字符型char,单精度float双精度double,指针类型,派生类型,数组结构struct共用体union,空类型,枚举类型,16,char型数的内存占用空间:二进制8bit(1Byte),00000000,00000010,11111111,=0,=20=1,=255,00000001,=21=2,00000011,=21+20=3,3-3变量与变量的定义-字符型,17,Main()Inta=35;Printf(“thenumberis%c”,a);输出结果为#,18,1.分类根据占用内存字节数的不同,整型变量又分为类:(1)基本整型(类型关键字为int)。(2)短整型(类型关键字为shortint)。(3)长整型(类型关键字为longint)。(4)无符号整型。无符号型又分为无符号基本整型(unsignedint)、无符号短整型(unsignedshort)和无符号长整型(unsignedlong)三种,只能用来存储无符号整数。,3-3变量与变量的定义-int,19,占用内存字节数与值域下表列出ANSI标准定义的整数类型和有关数据。TurboC的规定与之完全一致。,3-3变量与变量的定义-int,20,int型数占用的内存空间为:二进制16bit(2Byte),0000000000000001,0000000000000011,0111111111111111,=1,=3,int型整数的最大值,int型表示数的范围:-3276832767,1111111111111111,注意:使用中要防止数据溢出,=-1,int型整数的最小值,1000000000000000,=215-1=32767,=-215=-32768,3-3变量与变量的定义-int,21,二进制7位,二进制23位,单精度实型,尾数,阶码,尾数的符号位,阶码的符号位,3-3变量与变量的定义-实型,基本数据类型的数据存储格式和取值范围:类型占用内存单元取值范围数据存储格式float4(32位)3.4*10-383.4*10386位有效数字double8(64位)10-3081030815位有效数字,22,3-3变量与变量说明,变量的说明格式:类型修饰符类型说明符变量列表;例如:inti;charch,str;longk=1,m=0 x12345678;doublex,y=1;变量说明意味着确定了:该变量占用内存单元的数量,数据在内存的表示方式,数据的取值范围。,二、变量说明的基本概念,main()floats,r;scanf(“%f”,23,3-3变量与变量说明,变量在说明之后,没有固定的初始值,要先赋值(给定一个初始值),后使用。变量赋初值将变量说明与赋初值合一,在说明变量时同时完成。实例charcc=a,dd=n;intx=10,y=-10,z;doubletry=28.5,w=1e10;,二、变量赋初值,24,2-4运算符,一、运算符简介,按运算类型分类1.算术运算符2.关系运算符3.逻辑运算符4.位运算符5.赋值与赋值组合运算符6.自增自减运算符7.条件运算8.指针运算9.其它运算符按运算对象的数目分类单目运算双目运算三目运算,目:进行运算时需要的操作数的数量,25,2-4运算符-算术运算,一、算术运算符,运算符(双目运算符/单目运算符)+加法运算12正值运算14-减法运算12负值运算14*乘法运算13/除法运算13%求余运算1310%3=1优先级:*/%同级(高),+-同级(低)例:2+3*4=2+(3*4)=14结合性:相同优先级运算符进行运算时的次序自左向右(标记为),26,2-4运算符-算术运算实例,1.参加运算的对象都是int型,结果截取为int型10/311/310.0/311/3.01/21.0/210/5*310/(5*3),2.求余运算的对象必须是整型9%31%310%310%-3-10%3-10%-3,=3,=3,=3.333333,=3.666667,=0,=0.5,=6,=0,=0,=1,=1,=1,=-1,=-1,注意:运算对象的数据类型对运算结果的影响,a+b如何表示数学表达式-c+d,(a+b)/(c+d),27,2-4运算符-关系运算,二、关系运算符,运算符(双目运算符)大于10=大于等于10=7的值是0。已知:inta=13,b=2,c=1;abab)=cab=ca-b=c,成立,结果为1不成立,结果为0成立,结果为1不成立,结果为0结果为1与上面等价,结果为1等价于(a-b)=1,结果为0,?,如何判断数学中的逻辑关系:0a9?0=a=9,等价于(0=a)=9,结果恒为1,29,2-4运算符-逻辑运算,三、逻辑运算符,运算符求变量a与b的最大值min=(a通过指针取结构/联合的成员15()改变表达式中的优先级关系15数组下标15,逗号,表达式从左向右顺序计算1(type)e将e的数据类型强制转换为type14sizeof(opr)求opr所占用的内存的字节数14,结构,数组,43,2-4运算符-其它运算实例,实例:已知:intx,y,z;y=(x=10,x+1);答案:先执行x=10,然后再执行y=x+1y=11,x=10,44,2-5运算符的优先级与结合性,按运算符的优先级分为15级按运算符的结合性分为2种自左向右结合自右向左结合优先级不同时:运算符优先级的高低决定了进行运算的先后次序。优先级相同时:同优先级运算符的运算次序由结合性决定。例如:四则运算中的“先乘除,后加减”反映了运算符的优先级;“同级运算从左至右”反映了乘/除(加/减运算)的结合性。,45,2-5运算符的优先级与结合性,运算符优先级表,46,2-6数据类型转换,不同数据类型的数据/变量进行混合运算时,需要进行数据类型转换转换方式有两种:“显式的”类型转换“隐式的”类型转换“显式的”类型转换采用强制类型转换运算符(ty

温馨提示

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

评论

0/150

提交评论