首页 最新程序设计基础ch2精品课件

最新程序设计基础ch2精品课件

举报
开通vip

最新程序设计基础ch2精品课件第2章运算符与表达式学习(xuéxí)目标学会使用基本运算符理解运算符的优先级和结合性规则学会使用加一、减一运算符学会使用赋值运算符学会使用条件表达式学会使用位运算符理解类型转换第一页,共23页。2.1程序设计(chénɡxùshèjì)的数据迄今为止,所有冯·诺依曼结构的计算机都由以下5个部分组成:输入设备负责把用户的程序和数据输入到计算机的存储器中。输出设备(shūchūshèbèi)负责从计算机中取出程序执行结果或其他信息,供用户查看。存储器是实现记忆功能的部件,负责存储程序和数据。运算器负责数据的算术运算和...

最新程序设计基础ch2精品课件
第2章运算符与表达式学习(xuéxí)目标学会使用基本运算符理解运算符的优先级和结合性规则学会使用加一、减一运算符学会使用赋值运算符学会使用条件表达式学会使用位运算符理解类型转换第一页,共23页。2.1程序设计(chénɡxùshèjì)的数据迄今为止,所有冯·诺依曼结构的计算机都由以下5个部分组成:输入设备负责把用户的程序和数据输入到计算机的存储器中。输出设备(shūchūshèbèi)负责从计算机中取出程序执行结果或其他信息,供用户查看。存储器是实现记忆功能的部件,负责存储程序和数据。运算器负责数据的算术运算和逻辑运算,即数据的加工处理。控制器负责对程序规定的控制信息进行分析、控制并协调输入、输出操作或内存访问。第二页,共23页。2.1程序设计(chénɡxùshèjì)的数据类型——数据特征的抽象地址、值——数据的存储运算符、表达式、函数——数据的加工(jiāgōng)生存期、作用域——数据的存在赋值、输入/输出——数据的传输第三页,共23页。2.2基本(jīběn)运算符二元算术运算符包括加、减、乘、除、取模运算5种,分别用符号+、-、*、/、%表示由算术运算符连结的表达式称为算术表达式关系(guānxì)运算用来比较大小、确定运算分量的大小关系(guānxì)。C语言的关系(guānxì)运算符包括:﹥﹥=﹤﹤===!=关系(guānxì)运算符连结的表达式称为关系(guānxì)表达式。关系(guānxì)表达式只有一个逻辑值,即“真”或“假”。逻辑运算符包括逻辑与、逻辑或和逻辑非,分别用符号&&、||和!表示。其中&&和||是二元的,!是一元的。逻辑运算符连结的表达式称为逻辑表达式。逻辑表达式也只有一个逻辑值,即“真”或“假”C语言没有逻辑型数据,定义以int型值1代表“真”,int型值0代表“假”第四页,共23页。2.3类型转换当表达式中出现多种不同类型的数据时,C语言将依据一定规则把它们转换成某个共同的类型,然后进行计算---隐式转换简单的规则:在各类型间实行由低向高的转换。下式箭头方向表示数据类型间由低到高的排列顺序:longdouble←double←float←unsignedlong←long←unsignedint←int(类型名)(表达式)表达式被转换成由类型名所指明的类型---强制类型转换强制类型转换还是自动转换,需要转换的变量(biànliàng)事实上将产生一个符合转换要求的中间变量(biànliàng)参与计算,变量(biànliàng)本身的类型和值不发生变化第五页,共23页。【例2-1】数值(shùzí)非0取逻辑值1,数值(shùzí)为0取逻辑值0。#includevoidmain(){inti=1;floatf=1.5f;if(f&&i){printf("f=%f\ti=%d\t",f,i);printf("\nBothfandiareture\n");}i=0;if(!i){printf("\ni=%d",i);printf("\niisfalse\n");}}第六页,共23页。运行(yùnxíng)结果:第七页,共23页。【例2-2】计算圆周长和面积,运算(yùnsuàn)结果为float型。#include#definePI3.1415voidmain(){floatr,size,area;printf("r=");scanf("%f",&r);size=2*r*PI;area=r*r*PI;printf("size=%f\n",size);printf("area=%f\n",area);}第八页,共23页。运行(yùnxíng)结果:第九页,共23页。【例2-3】计算圆周长和面积,运算(yùnsuàn)结果为int型。#include#definePI3.1415voidmain(){doubler;intsize,area;printf("r=");scanf("%lf",&r);size=2*r*PI;area=r*r*PI;printf("size=%d\n",size);printf("area=%d\n",area);}第十页,共23页。运行(yùnxíng)结果:第十一页,共23页。2.4加1与减1运算符两个特殊的运算符++和--,++运算符使运算分量加1,--运算符使运算分量减1++与--既可以作前缀运算符,也可作后缀运算符,只用在变量前面或后面作前缀运算符与作后缀运算符,其结果其效果是不同的。++i在i的值被使用(shǐyòng)之前先使i加1;i++则是在i的值被使用(shǐyòng)之后再使i加1,--i在i的值被使用(shǐyòng)之前先使i减1;i--则是在i的值被使用(shǐyòng)之后再使i减1第十二页,共23页。2.5赋值运算符与赋值表达式使用赋值语句可以改变变量的值一般语法形式为:变量=表达式;赋值表达式结尾加“;”,使其成为赋值语句“=”称为赋值运算符,代表赋值操作,将赋值运算符右边表达式的值赋给左边的变量如果赋值运算符两端的类型不一致,则会发生类型转换赋值运算符的结合规则为自右向左,其优先级只高于逗号运算符,而低于其它运算符值运算符可与其它的运算符一起构成(gòuchéng)复合赋值运算符,C语言的复合赋值运算符有以下10种,其中后5种有关位运算:+=、-=、*=、/=、%=、<<=、>>=、&=、۸=、|=将在2.7中介绍第十三页,共23页。2.4赋值运算符与赋值表达式表2.2赋值表达式的计算(jìsuàn)过程声明和初始化inti=1,j=2,k=3,m=4表达式等价表达式等价表达式等价表达式值i+=j+ki+=(j+k)i=(i+(j+k))6j*=k=m+5j*=k=(m+5)j*=(k=(m+5))j=(j*(k=(m+5)))18i+=i-=i+2i+=i=(i-(i+2))i+=(i=(i-(i+2)))i=(i+(i=(i-(i+2))))-4注意:在表达式i+=i-=i+2中,变量i被赋值过2次。第十四页,共23页。2.6条件(tiáojiàn)运算符和逗号运算符条件表达式的一般语法形式是:表达式1?表达式2:表达式3首先计算表达式1,如果(rúguǒ)其值不等于0(即为真),则计算表达式2的值,此时条件表达式的值等于表达式2的值;否则计算表达式3的值,并以该值作为条件表达式的值。在表达式2与表达式3中,只有一个会被计算到。条件运算符?:遵从自右向左的结合规则,其优先级高于赋值运算符而低于关系运算符如:条件表达式:y>z?y:z的值,当y>z时,为y,否则为z。第十五页,共23页。【例2-5】求a,b,c中最大的数。#includevoidmain(){inta,b,c;intmax;scanf("a=%d,b=%d,c=%d",&a,&b,&c);max=(a>b?a:b);max=(max>c?max:c);printf("max=%d\n",max);}第十六页,共23页。运行(yùnxíng)结果:第十七页,共23页。2.7位运算符位运算是指对运算分量按二进制位进行的运算C语言提供了六个用于位操作的运算符:&按位与(AND)|按位或(OR)^按位异或(XOR)<<左移>>右移~求反码(一元运算符)这些运算符只能(zhīnénɡ)作用于整数型分量,包括unsigned或signed的char、short、int与long型,不能作用于浮点型分量优先级第十八页,共23页。2.7位运算符-规则(guīzé)aba&ba|ba^b~a001101010001011110011100<<(左移)的运算规则是:将运算分量(fènliàng)的每个二进制位向左移动若干位,从左边移出去的高位部分被丢弃,右边空出的低位部分补0>>(右移)的运算规则是:将运算分量(fènliàng)的每个二进制位向右移动若干位,从右边移出去的低位部分被丢弃当右移无符号分量(fènliàng)时,左边空出的高位部分用0填充;当右移有符号的分量(fènliàng)时,填充位与具体的机器有关,用符号位填充,称为“算术移位”或用0填充,称为“逻辑移位”第十九页,共23页。2.8运算符优先级所有运算符的优先级和结合性规则,包括(bāokuò)尚未讨论过的一些运算符及其规则,用图表说明一元运算符较二元运算符有较高的优先级别,特别是+和-,既能是一元运算符,也可以是二元运算符要注意它的用法第二十页,共23页。2.8运算符优先级运算符结合性()[]->.自左向右!~++--+(一元)-(一元)*&(类型)sizeof自右向左*/%自左向右+-自左向右<<>>自左向右<<=>>=自左向右==!=自左向右&自左向右^自左向右|自左向右&&自左向右||自左向右?:自右向左=+=-=*=/=&=^=|=<<=>>=自右向左,自左向右第二十一页,共23页。2.9编程指导(zhǐdǎo)在二元运算符的两边各放一个空格字符,可使运算组合更清楚,提高程序的可读性对于复杂的算术表达式使用括号,有时尽管不必要,但能够使这个表达式更易读编写包含很多运算符的表达式时应参考运算符的优先级表,以确定表达式中运算符的计算(jìsuàn)按所希望的顺序进行在使用浮点型数据时,认为它能精确地表示数值将会导致错误的结果。大多数计算(jìsuàn)机中浮点数仅表示近似值一元运算符与运算分量间不允许留有空格不要将相等运算符“==”和赋值运算符“=”混淆第二十二页,共23页。本章(běnzhānɡ)小结小结(xiǎojié)要点第二十三页,共23页。
本文档为【最新程序设计基础ch2精品课件】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑, 图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
该文档来自用户分享,如有侵权行为请发邮件ishare@vip.sina.com联系网站客服,我们会及时删除。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。
本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。
网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
下载需要: 免费 已有0 人下载
最新资料
资料动态
专题动态
个人认证用户
人生旅程
暂无简介~
格式:ppt
大小:774KB
软件:PowerPoint
页数:23
分类:
上传时间:2021-12-05
浏览量:0