C语言数据类型和变量ppt课件.ppt
《C语言数据类型和变量ppt课件.ppt》由会员分享,可在线阅读,更多相关《C语言数据类型和变量ppt课件.ppt(75页珍藏版)》请在咨信网上搜索。
第3章C数据类型和变量 学习目的和要求:学习目的和要求:1.掌握数据类型和变量的基本概念、特点和使用方法。2.熟练掌握算术、赋值、逗号和sizeof运算符与表达式的使用。3.理解并能应用强制转换 推荐学时推荐学时:3学时学时1.第3章C数据类型和变量 1.在在数数学学中中,我我们们对对变变量量的的概概念念有有一一定定的的了了解解和和认认识识。如如y=x2 ,其其中中x是是自自变量变量,y是因变量是因变量。2.引入 1.那那么么在在计计算算机机中中的的变变量量具具体体是是指指一一个个什什么么概概念念呢呢?其其实实一一个个变变量量就就是是存存储储器(内存)中的一个存储空间。器(内存)中的一个存储空间。2.2.下面借用一个生活中的范例,讲解数据类型、变量、变量类型、变量名。假设有粮库(库名为LK)、车库(库名为CK)和书库(库名为SK)三个仓库,且分别只能装粮食、停车子和摆放图书。引例引例第3章C数据类型和变量 3.第3章C数据类型和变量 4.LK中装的粮食可以是玉米、小麦、大中装的粮食可以是玉米、小麦、大米等。米等。CK中停的车子可以是不同的车子。中停的车子可以是不同的车子。SK中的摆放的书可以是更换的。这说明中的摆放的书可以是更换的。这说明LK、CK和和SK中的物体型号是可变化的。中的物体型号是可变化的。第3章C数据类型和变量 常量与变量:常量与变量:5.第3章C数据类型与变量 如果我们把粮食、车和书比着数据,那么上述三种库房(LK、CK和SK)就相当于计算机中的三种变量(之所以称它们为变量变量,是因为其中的数据可以变更),且它们的类型不同,LK、CK和SK就是上述三种变量的变量名变量名,上述三个上述三个库房空间就相当于计算机存储器中的三个存储库房空间就相当于计算机存储器中的三个存储单元单元;如果库房里的物体不可替换是固定的不可替换是固定的,那么这样的库房就相当于计算机中的常量计算机中的常量。常量与变量:常量与变量:6.在现实中,数据有多种类型。例如,数字数据0、1、2等,字符数据a、b、c、d、e、f等。计算机中所处理的数据类型与现实中的类型相同。第3章C数据类型和变量 7.add1、add2、add3分分别代表存储空间中的别代表存储空间中的3个个存储单元的地址(相当存储单元的地址(相当于于LK、CK和和SK)第3章C数据类型和变量 在存储器(这里指内存)里分配存储空间在存储器(这里指内存)里分配存储空间存储数据。存储器空间和数据在存储空间存储数据。存储器空间和数据在存储空间里的存储状态如图里的存储状态如图。add11add2Aadd31.234567891(整型)、(整型)、A(字符)、(字符)、1.23456789(浮(浮点型)分别是存点型)分别是存储在存储器中的储在存储器中的3个存储单元里的个存储单元里的数据(相当于粮数据(相当于粮食、车和书)食、车和书)8.第3章C数据类型和变量 首先对存储器的存储单元分别取名add1、add2、add3,然后再严格按照每个存储单元的类型来使用。9.第3章C数据类型和变量 任何计算机语言都有其数据类型,数据类型决定了数据性质和取值范围。数据性质指的是“整数”、“字符数”、“实数”等。取值范围是 指计算机能表达的上下限。10.C语言提供了丰富的数据类型,其主要包括整数类型(int)、字符类型(char)、单精度浮点数类型(float)、双精度浮点数类型(double)、数组类型、结构类型(struct)、联合类型(union)、指针类型(pointer)、枚举类型(enum)和用户自定义数据类型(typed ef)在后面讲解。第3章C语言数据类型 11.第3章C数据类型一览表 12.第3章C数据类型 数据类型字节个数数据范围整型(int)4-21474836482147483647实型(float)43.4E-383.4E+38字符(char)10255双精度型(double)81.7E-3081.7E+308基本类型所占存储空间字节数及数据范围基本类型所占存储空间字节数及数据范围 13.第3章C数据类型 数数据据类类型型int、float、char和和double可可以以带有各种修饰前缀。带有各种修饰前缀。signed表示数据是有符号的表示数据是有符号的unsigned表示数据是无符号的表示数据是无符号的long表示数据是表示数据是“长长”的的short表示数据是表示数据是“短短”的的修饰符与基本类型组合结果如下表:修饰符与基本类型组合结果如下表:14.第3章C数据类型 类型类型字节个数字节个数取值范围取值范围说明说明int4-21474836482147483647signed short int2-3276832767有符号短整型数,简写为有符号短整型数,简写为short或或int,字长,字长为为2个字节共个字节共16位的二进制数位的二进制数signed long int4-21474836482147483647有符号长整型数,简写为有符号长整型数,简写为long,字长为,字长为4个个字节共字节共32位的二进制数位的二进制数unsigned short int4065535无符号短整型数,简写为无符号短整型数,简写为unsigned int,字,字长为长为2个字节共个字节共16位的二进制数位的二进制数unsigned long int404294967295无符号长整型数,简写为无符号长整型数,简写为unsigned long,字,字长为长为4个字节共个字节共32位的二进制数位的二进制数float43.4E-383.4E+38char10255unsigned char10255无符号字符,可简写为无符号字符,可简写为charsigned char1-128127有符号字符有符号字符double81.7E-3081.7E+308long double81.7E-3081.7E+308可以简写为可以简写为double15.我们在理解了数据类型、变量与常量、变量名后,下面我们具体介绍C语言中的常量和变量。16.常量是指在程序运行过程中不能发生改变的量。常量的数据类型通常有5种:整型、实型、字符型、字符整型、实型、字符型、字符串型和符号常量串型和符号常量。第3章C常量 17.整型常量就是整数,可以是十进制、八进制(以0开头)或十六进制数(以0 x或0X开头)的整数。例如:999,-15,012,0 x0c1.整型常量整型常量:第3章C常量 18.实型常量是带小数位的数值,可以是小数,也可以是指数。例如:3.14,-1.35,1.234e5,-1.2E60.123可写成.123,在Visual C+6.0中,使用默认格式输出浮点数时,只保留小数点后6位。第3章C常量 2.实型常量实型常量:19.字符型常量是括在单引号单引号内的一个字符。这些字符通常是ASCII码字符,它们的值即为该字符对应的ASCII码值。(ASCII请参阅附录A)。例如:a0AN第3章C常量 3.字符型常量字符型常量:20.字符串常量是由双引号括起来的字符序列。编译程序在每个字符串的后面自动加上0以示结束。例如:“Visual C+”“我的第一个C程序”“北京欢迎您!”“x”第3章C常量 4.字符串常量字符串常量:21.强调说明强调说明字符串”Visual C+”共有11个字符,除本身10个(空格也算一个)外,还加上0。“x”不同于x,相当与x和0,共2个字符。22.符号常量是指以标识符形式出现的常量。C语言中符号常量的定义可通过编译预处理#define 得到。符号常量的语法形式为:#define 符号常量名 值 例如:#define PI 3.1414926#define A 10第3章C常量 5.符号常量符号常量:23.整型数据存储的存储单元(整型变量)的定义用关键字int。第3章C变量 1.整型变量整型变量:24.例3.1:25.所谓浮点数浮点数就是我们大家所熟知的实数。C语言中的浮点数有两种表示形式:十进制数十进制数形式和指数指数形式。第3章C变量 2.浮点型变量浮点型变量:26.十进制数形式:十进制数形式:这种形式与通常的实数表示形式法类似,但是必须带有小数点。另外,当小数点左边或右边为0时,可以省略其中一边的0。例如,1.28,128.0,128.,0.128,0.128,0.0,0.,.0等均是有效的浮点数。第3章C变量 27.指数形式:指数形式既所谓的科学记数法。例如,1.8e5或1.8E5即为1.8105,1.8e-5或1.8E-5即为1.810-5,-1.8e5或-1.8E5即为-1.8105,均为浮点数的指数形式。字母e或E之前的数值称为尾数尾数,后面的数值称为指数指数,指数前可有“+”或“-”,用以表示与尾数相乘的10的幂,尾数前也可以有“+”或“-”,用以表示该浮点数为正数或负数。第3章C变量 28.在C语言中,尾数不可缺少,且指数必须为整数整数。第3章C变量 29.单精度浮点数类型和双双精精度度浮浮点点数数类型数据存储的存储单元(浮点数类型变量)的定义分别用关键字float和double。第3章C变量 30.例3.2:31.例3.3:32.字符型字符型数据存储的存储单元(字符型变量)的定义用关键字char。第3章C变量 3.字符型变量字符型变量:33.例3.4:34.在上述程序中,如将char max=A;换为char max=”A”;的话,虽然对于打印输出结果不影响,但是它们在内存中的存放形式是不一样的。强调说明强调说明 35.C语言中没有字符串变量类型,字符型数据只能存储于字符型变量中,例如,char max=”How are you doing!”,这样的语句使用是错误的。如果要存储字符串数据的话,那么只能以字符数组或指针形式实现。提前说明提前说明 36.由于不同数据类型所占据的存储空间不同,在定义变量的类型时应充分考虑变量的取值范围。例如,整型(int)类型的变量取值范围为-232 232-1。如果在运算中,数值超出这个范围则称为溢出,大于232-1称为上溢,小于-232称为下溢 有关溢出 37.例3.5:38.例3.6:求解半径r为1.2单位长度的圆的面积。在上述程序中,第1行用#define定义pi代表常量3.1415926,第2行用#define定义s(r)代表字符串常量pi*(r)*(r),我们把这里的标识符pi和s(r)称之为宏。39.C语言的运算符也称为操作符,是运算对象(也称为操作数)间的联结符号。第3章C语言运算符40.第3章C语言运算符 按运算类型可分成算术运算符算术运算符、关系运算符关系运算符、逻辑运算逻辑运算符符、赋值运算符赋值运算符、位运算符位运算符、指针运算符和取成员运算符等。按运算参与对象的个数又可以分为单目运算符、双目运算符和三目运算符。关于运算符号的完整信息,参阅附录C。关系运算符与关系表达式,逻辑运算符与逻辑表达式放在第5章详细讲解。位运算符放在附录F。41.将运算对象,比如常量、变量按照一定规则用运算符连接起来构成的有意义的混合式子就叫C语言的表达式。第3章C语言表达式 42.第3章C语言表达式 C语言的表达式中的运算对象除了可以是常量、变量外,还可以是函数以及别的表达式。也就是说,可以由表达式通过操作符构成更复杂的表达式。下面是合法的表达式:a+bx=a*3s=PI*r*rc=getchar()在求解表达式的结果时,不同运算符具有不同的优先级,优先级不同参与运算的次序不同;相同的优先级还有不同的结合方向。43.第3章C语言算术运算符 C语言的算术运算符有5个双目运算符:加“+”、减“-”、乘“*”、除“/”、求余(取模)“%”和4个单目运算符:自增“+”、自减“-”、单目加“+”、单目减“-”和1个圆括号运算符:括号“()”44.双目运算符加“+”、减“-”、乘“*”、除“/”与数学运算符没有什么区别,可以像在数学公式中一样使用,例如:a+ba=5+a2-a/3i*i-5b/a-2第3章C语言+、-、*、/算术运算符 45.单目加”+”和单目减”-”只能有一个操作数,实际就是取操作数的正或负值。第3章C语言单目+、-算术运算符 46.例3.11:47.自增“+”、自减“-”是指操作数自身增加1或者减少1。按其在操作数的前后位置可以称为“前自增”、“前自减”、“后自增”、“后自减”。第3章C语言+、-运算符号 48.第3章C语言+、-后自增和后自减是先进行语句中的其他运算,语句完成后再执行自增或自减少运算;而前自增和前自减是先对变量进行自增或自减运算,在运算完成后变量再参与语句中的其他运算。49.例3.12:代码代码5行在赋值给行在赋值给a时,先将变量时,先将变量i的值赋给的值赋给a,此时变量此时变量i的值未改变,值为的值未改变,值为5。赋值完成后,。赋值完成后,运算符运算符“+”对变量对变量i进行自增,进行自增,i的值变为的值变为6;代码代码6行在赋值给变量行在赋值给变量b时,时,i先自增,先自增,i的值的值变为变为7,然后再将值赋给变量,然后再将值赋给变量b;代码代码7行在语句行在语句“-i;”中,自减运算符中,自减运算符“-”将将变量变量i的值减的值减1,此时变量,此时变量i的值为的值为6;代码代码8行中,先将变量行中,先将变量i的值赋给的值赋给变量变量c,此时,此时c的值为的值为6,再对变,再对变量量i进行自减运算,变量进行自减运算,变量i的值为的值为5。50.第3章C语言%运算符 求余运算符“%”要求左操作数和右操作数都是整数,运算结果是两个操作数相除的余数。51.例3.13:52.优先级是指运算的先后顺序。第3章C算术运算符号优先级 低低高高()()-单目减单目减+单目加单目加*/%+-53.赋值运算符用于改变变量的值。C语言提供了1个简单赋值运算符“=”和10个复合赋值运算符:+=、-=、*=、/=、%=、=、&=、=和|=。第3章C语言赋值运算符54.在复合运算符中,构成运算符的两个符号间不能有空格。特别强调55.第3章左结合性赋值运算符都是左结合运算符,即赋值运算将右边的操作数的值赋给左边的操作数。因此,左操作数必须是一个变量。可以使用赋值运算符对变量进行连续赋值。56.例3.14:57.第3章C语言复合赋值运算符符合赋值运算符是将一个其他运算符加上简单赋值运算符而得到的,其含义为:将左操作数和右操作数按运算符进行运算,将运算结果的值赋给左操作数。请比较例3.15和3.16:58.例3.15:59.例3.16:60.逗号运算符用于分隔同行中的几个表达式。例如:a+=1,b+,-c;第3章C语言逗号运算符 61.逗号运算的优先级最低,主要用作将几行短语句合并成一句,简化程序书写,但会损害程序的可读性,建议不要过多使用。强调说明 62.例3.17:63.sizeof运算符用于计算其操作数的长度,即其在内存中所占的字节数。第3章C语言sizeof运算符 64.例3.18:65.第3章 C语言类型转换1.自动转换自动转换:在表达式中进行运算时,通常会将不同类型的数据混合使用,此时就会关系到类型转化的问题。C语言中将对其类型自动进行转换,这种转换一语言中将对其类型自动进行转换,这种转换一般是般是“向上向上”的,即由占存储空间少的数据类型的,即由占存储空间少的数据类型向占存储空间多的数据类型转换。向占存储空间多的数据类型转换。66.所谓转换是向上的,即char、short型都转化为int型,int型转换为unsigned型,unsigned型转换为long型,long型和float型转化为double型。67.在赋值运算中,右边的数值将转化为与左边变量相同的数据类型,再将其赋予左边的变量。如果右边的数值超过左边变如果右边的数值超过左边变量所能表达的数值范围,则将对其进行量所能表达的数值范围,则将对其进行适当的截取处理再赋值。适当的截取处理再赋值。如何看表如何看表3-5?例如:int x;x=3.4;请问x的值为多少?查表3-5的第3行即可知道,x的值为3。68.表3-5左侧变量类型右侧表达式值类型处理方法intchar数据的高位补0,低8位为字符的ASCII码值intlongintfloat截去小数部分charint截去高位,只留低8位float或doubleint用0补足小数位unsigned intint赋值不变,最高位的符号按数据理解unsigned longlong赋值不变,最高位的符号按数据理解intunsigned int赋值不变,最高位的符号按数据理解longunsigned long赋值不变,最高位的符号按数据理解69.第3章 C语言类型转换2.强制转换强制转换:程序设计中有时需要将表达式的值转换为某一特定类型时,自动转换不一定能产生正确的结果。70.例3.19:求余运算要求左操作数和右操作数都为整型。求余运算要求左操作数和右操作数都为整型。若要使代码能编译通过,需将变量若要使代码能编译通过,需将变量f强制转换强制转换。71.第3章C语言()运算符类型强制转换运算符用圆括号“()”,具体语法形式为:(类型名)操作数;(类型名)操作数;72.73.综合练习求2x2+10 x+9=0的根。74.作业n习题三n3.1、3.2、3.3、3.4(结果写在课本)n上机习题:3.5、3.775.- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 语言 数据类型 变量 ppt 课件
咨信网温馨提示:
1、咨信平台为文档C2C交易模式,即用户上传的文档直接被用户下载,收益归上传人(含作者)所有;本站仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。所展示的作品文档包括内容和图片全部来源于网络用户和作者上传投稿,我们不确定上传用户享有完全著作权,根据《信息网络传播权保护条例》,如果侵犯了您的版权、权益或隐私,请联系我们,核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
2、文档的总页数、文档格式和文档大小以系统显示为准(内容中显示的页数不一定正确),网站客服只以系统显示的页数、文件格式、文档大小作为仲裁依据,个别因单元格分列造成显示页码不一将协商解决,平台无法对文档的真实性、完整性、权威性、准确性、专业性及其观点立场做任何保证或承诺,下载前须认真查看,确认无误后再购买,务必慎重购买;若有违法违纪将进行移交司法处理,若涉侵权平台将进行基本处罚并下架。
3、本站所有内容均由用户上传,付费前请自行鉴别,如您付费,意味着您已接受本站规则且自行承担风险,本站不进行额外附加服务,虚拟产品一经售出概不退款(未进行购买下载可退充值款),文档一经付费(服务费)、不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
4、如你看到网页展示的文档有www.zixin.com.cn水印,是因预览和防盗链等技术需要对页面进行转换压缩成图而已,我们并不对上传的文档进行任何编辑或修改,文档下载后都不会有水印标识(原文档上传前个别存留的除外),下载后原文更清晰;试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓;PPT和DOC文档可被视为“模板”,允许上传人保留章节、目录结构的情况下删减部份的内容;PDF文档不管是原文档转换或图片扫描而得,本站不作要求视为允许,下载前自行私信或留言给上传者【二***】。
5、本文档所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用;网站提供的党政主题相关内容(国旗、国徽、党徽--等)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
6、文档遇到问题,请及时私信或留言给本站上传会员【二***】,需本站解决可联系【 微信客服】、【 QQ客服】,若有其他问题请点击或扫码反馈【 服务填表】;文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“【 版权申诉】”(推荐),意见反馈和侵权处理邮箱:1219186828@qq.com;也可以拔打客服电话:4008-655-100;投诉/维权电话:4009-655-100。
1、咨信平台为文档C2C交易模式,即用户上传的文档直接被用户下载,收益归上传人(含作者)所有;本站仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。所展示的作品文档包括内容和图片全部来源于网络用户和作者上传投稿,我们不确定上传用户享有完全著作权,根据《信息网络传播权保护条例》,如果侵犯了您的版权、权益或隐私,请联系我们,核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
2、文档的总页数、文档格式和文档大小以系统显示为准(内容中显示的页数不一定正确),网站客服只以系统显示的页数、文件格式、文档大小作为仲裁依据,个别因单元格分列造成显示页码不一将协商解决,平台无法对文档的真实性、完整性、权威性、准确性、专业性及其观点立场做任何保证或承诺,下载前须认真查看,确认无误后再购买,务必慎重购买;若有违法违纪将进行移交司法处理,若涉侵权平台将进行基本处罚并下架。
3、本站所有内容均由用户上传,付费前请自行鉴别,如您付费,意味着您已接受本站规则且自行承担风险,本站不进行额外附加服务,虚拟产品一经售出概不退款(未进行购买下载可退充值款),文档一经付费(服务费)、不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
4、如你看到网页展示的文档有www.zixin.com.cn水印,是因预览和防盗链等技术需要对页面进行转换压缩成图而已,我们并不对上传的文档进行任何编辑或修改,文档下载后都不会有水印标识(原文档上传前个别存留的除外),下载后原文更清晰;试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓;PPT和DOC文档可被视为“模板”,允许上传人保留章节、目录结构的情况下删减部份的内容;PDF文档不管是原文档转换或图片扫描而得,本站不作要求视为允许,下载前自行私信或留言给上传者【二***】。
5、本文档所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用;网站提供的党政主题相关内容(国旗、国徽、党徽--等)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
6、文档遇到问题,请及时私信或留言给本站上传会员【二***】,需本站解决可联系【 微信客服】、【 QQ客服】,若有其他问题请点击或扫码反馈【 服务填表】;文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“【 版权申诉】”(推荐),意见反馈和侵权处理邮箱:1219186828@qq.com;也可以拔打客服电话:4008-655-100;投诉/维权电话:4009-655-100。
关于本文