C程序设计教学做一体化教程运算符与表达式省公共课一等奖全国赛课获奖课件.pptx
《C程序设计教学做一体化教程运算符与表达式省公共课一等奖全国赛课获奖课件.pptx》由会员分享,可在线阅读,更多相关《C程序设计教学做一体化教程运算符与表达式省公共课一等奖全国赛课获奖课件.pptx(40页珍藏版)》请在咨信网上搜索。
1、/10/101 C程序设计教学做一体化教学做一体化教程耿祥义 张跃平 编著清华大学出版社第1页/10/102第第3章章 运算符与表示式运算符与表示式 第2页/10/1033 3.1.1 算术运算符与赋值运算符算术运算符与赋值运算符 3 3.1.1.1.1 关键知识点关键知识点1 1算术运算符算术运算符算术运算符:+,-,*,/,%(加、减、乘、除、求余)都是连接两个操作元二目运算符。*,/和%运算符级别(3级)高于+和-(4级)。算术运算符结合方向是从左向右。按着ANSI C标准,求余(%)运算符操作元只能是整型数据。比如,12%7结果是5,即12除以7余数是5,-12%7结果是-5。不过,1
2、2.0%7是非法,因为其中左操作元12.0不是整数。2 2算算术术表示式表示式 用算术运算符(包含括号)连接起来符合C语言语法规则式子称为算术表示式。比如,假设x和y是整型变量,那么-2*x+7*y30+3*(y+15)就是一个算术表示式,而3x+5y就不是算术表示式,正确写法应该是3*x+5*y。运算精度规则以下:假如表示式中有浮点数,则按双精度进行运算。即计算结果是double型数据(保留1516位有效数字)。假如表示式中最高精度是long型整数,则按long精度进行运算,即计算结果是long型整数。假如表示式中最高精度低于int型整数,则按int精度进行运算,即计算结果是int型整数。比
3、如,5/2结果是2,而不是2.5(5.0/2结果是2.5)。第3页/10/1043 3赋值赋值运算符运算符 赋值运算符:“=”是二目运算符,赋值运算符作用是将赋值符号“=”右侧值赋给左侧变量,即“=”左面操作元必须是变量,不能是常量或表示式。在数学中,x=x+1是错误(数学中把=看作等号),不过在编程语言中“=”是赋值意思,x=x+1就是正确。比如变量x值是20,那么经过赋值运算x=x+1后,变量x值就是21了。赋值运算符级别在全部运算符中是比较低(14级,倒数2级),比如,x=x+1相当于x=(x+1)。4 4赋值赋值表示式表示式用赋值符号(包含括号)连接起来符合C语法规则式子,称为赋值表示
4、式。比如,假设x和y都是int型变量,那么x=12和y=20都是赋值表示式。赋值表示式值就是“=”左面变量得到值。比如,假如a和b是两个int型变量,那么赋值表示式a=-10和b=12值分别是-10和12。需要注意是“=”结合次序是从右向左,所以表示式a=b=100相当于a=(b=100),即将赋值表示式b=100值赋给变量a,所以赋值表示式a=b=100值是100。第4页/10/1055 5复合复合赋值赋值运算符运算符 允许在赋值运算符前面添加一个算术运算符组合出一个复合赋值运算符,比如(假设x是一个变量):x+=100;等价于x=x+100;一样,x*=100+x;等价于x=x*(100+
5、x);尽管,x+=100和x=x+100效果相同,但x+=100效率较高,即编译器在生成机器码时,x+=100产生机器码少于x=x+100产生机器码。第5页/10/1066 6简单简单示例示例 例子1计算了代数表示式:值。Example3_1.c#includeint main()double a,b,c,d,result;a=10;b=34.56;c=20.88;d=200.98;result=9*a*(b+c)/d;printf(%f,result);return 0;第6页/10/107 3 3.1.1.2 2 能力目标能力目标计计算算算算术术表示式表示式值值使用使用赋值赋值运算符将算运
6、算符将算术术表示式表示式值赋给变值赋给变量。量。第7页8 3 3.1.1.3 3 任务驱动任务驱动-正整数上各个位上数字正整数上各个位上数字 1 1任务主要内容任务主要内容在 main函 数 中 申 明 一 个 用 于 存 放 正 整 数 无 符 号 short型 变 量positiveInteger,以及用于存放正整数个位、十位、百位、千位和万位上数字char型变量a1,a2,a3,a4和a5。使用scanf函数让用户从键盘为positiveInteger输入值。依次求出positiveInteger中个位、十位、百位、千位和万位上数字,并将这些数字依次赋值给变量a1,a2,a3,a4和a5
7、。输出a1,a2,a3,a4,a5以及表示式a1+a2+a3+a4+a5值。将 表 示 式 a5*10000+a4*1000+a3*100+a2*10+a1值 赋 值 给 变 量positiveInteger,并输出positiveInteger值。将 表 示 式 a1*10000+a2*1000+a3*100+a4*10+a5值 赋 值 给 变 量positiveInteger,并输出positiveInteger值。2.2.任任务务模模板板:按着任务关键内容完成模板:将【代码】替换为程序代码。模板程序模板程序运行效果如图3.1。第8页/10/1093.3.任务小结或知识扩展任务小结或知识扩
8、展 模板参考答案:模板参考答案:【代码1】:a1=positiveInteger%10;【代码2】:positiveInteger=positiveInteger/10;【代码3】:printf(a1+a2+a3+a4+a5=%dn,a1+a2+a3+a4+a5);【代码4】:printf(a1*a2*a3*a4*a5=%dn,a1*a2*a3*a4*a5);(1)求商与求余求商与求余 为了计算某个整数个位上数字,只需计算该整数和10求余结果。那么为了计算十位上数字,先计算该整数除以10商,然后再计算该商和10求余结果,依这类推就能够计算出整数各个位上数字。整型数据进行除法运算结果依然是整型数
9、据,比如123/10结果是12,即123除以10商是12。123%10结果是3(123除以10余数),即123等于12乘以10加3。第9页10(2)注意乘号注意乘号 初学C语言一定要习惯这里乘法运算符号,初学者经常把6乘以x错误写成:6x,正确写法是6*x。(3 3)输出输出%假如准备在printf函数“输出模式”中输出%,在编写代码时需要键入两个连续%,比如:printf(你好%);输出结果是:你好%。第10页11 3 3.1 1.4 4 实实践步践步骤骤 编写程序输出以下表示式值:A1/2+3+6*4/6。B3+6*(4/6)。C10%3*9。D12+10%(3*9)。(参考代码见附录参考
10、代码见附录A)第11页/10/10123.2 自增、自减运算符 第12页/10/1013 3 3.2 2.1 1 关关键键知知识识点点 自增、自减运算符:+,-是单目运算符,能够放在操作元之前,也能够放在操作元之后,+,-操作元必须是变量。1 1前前缀缀自增、自减运算自增、自减运算 当+(-)出现在变量前面时,称+(-)是+(-)前缀运算。当+(-)前缀运算出现在一个表示式中时,其运算作用是:先自增(自减)后使用。假如+是前缀运算,就首先使变量值增加1(即执行x=x+1)、假如-是前缀运算,就首先使变量值降低1(即执行x=x-1),然后变量x值再参加该表示式计算。比如,假设申明了两个int型变
11、量x和n:intx,n=10;假如执行:x=+n+12;那么+前缀运算出现在算术表示式“n+12”中,所以变量n值首先自增1变成11,然后再参加表示式计算。x=+n+12;作用等价于以下:n=n+1;x=n+12;第13页/10/10142 2后后缀缀自增、自减运算自增、自减运算 当+或-出现在变量后面时,称+或-后缀运算。当后缀运算出现在一个表示式中时,其运算作用是:让变量x值先参加该表示式计算,在表示式值被计算完成之后,假如是+后缀运算,就使变量值增加1(即执行x=x+1),假如是-后缀运算,就使变量值降低1(即执行x=x-1),即所谓先使用后自增(自减)。3 3简单简单示例示例例子例子2
12、使用了自增、自减运算符,请注意程序注释输出结果。example3_2.c#include int main()int a=16,b=10,m,n;m=a+-b;n=+a-b;b-;printf(m=%d,n=%dn,m,n);/输出结果是:m=6,n=8 printf(a=%d,b=%dn,a,b);/输出结果是:a=18,b=9 return 0;第14页/10/1015 3 3.2 2.2 2 能力目标能力目标能能简单简单明了地使用自增、自减运算符。明了地使用自增、自减运算符。第15页16 3 3.2 2.3 3 任务驱动任务驱动编写程序,模拟冰块溶解于水。冰块放入盛有水容器中后,容器中物
13、质重量等于冰与水重量之和,但每隔1分钟后,冰重量降低一个单位,水重量增加一个单位。冰块放入盛有水容器3分种后,输出容器所盛物质重量,以及容器中冰块重量和水重量。1 1任务主要内容任务主要内容 在main函数中申明两个无符号short型变量:water和ice,其值分别表示水和冰块重量。在main函数中申明一个无符号short型变量weight,用于存放水和冰块重量之和。模拟1分钟后容器中冰块和水重量之和以及冰块重量和水重量,即计算water与ice和,并把结果存放到weight中,而且要确保计算结束后water值自动增加1、ice值自动降低1。继续模拟2分钟后、3分中后容器中冰块和水重量之和以
14、及冰块重量和水重量。2.2.任任务务模模板板:按着任务关键内容完成模板:将【代码】替换为程序代码。模板程序模板程序运行效果如图3.2。第16页/10/10173.3.任务小结或知识扩展任务小结或知识扩展 模板参考答案:模板参考答案:【代码1】:weight=water+ice-;【代码2】:weight=water+ice-;【代码3】:weight=water+ice-;防止在表示式中出防止在表示式中出现过现过多自增、自减运算符多自增、自减运算符 尽管自增、自减运算符有较高效率,但使用+和-运算符时,尽可能防止过于“聪明”地使用它们,不然不利于代码阅读。当前软件不但重视代码效率,也非常重视代
15、码维护。比如,假设申明了变量i和y:inti=2,y;假如执行:y=i+*i;那么,y值是4,i值是3(i先参加计算再自增)。显然,阅读:y=i+*i;难度大于:y=i*i;i=i+1;尽管y=i+*i;效率更高,不过,对于当前处理器,i+*i带来效率几乎能够忽略。编写C程序尽可能防止在表示式中出现过多自增、自减运算符,以简练、可读性强为最正确。第17页18 3 3.2 2.4 4 实实践步践步骤骤 编写程序,要求申明变量i和y:int i=2,y;执行:y=i+*i;输出y和i值。(参考代码见附录参考代码见附录A)第18页/10/10193 3.3 3关系与逻辑运算符 3 3.3 3.1.1
16、 关键知识点关键知识点1 1关系关系运算符运算符当程序需要比较两个数值大小关系时,就需要使用关系运算符。关系运算符意义以下:l=相等l!=不等l大于l=大于或等于l=小于或等于关系运算符是使用频率非常高一个运算符,基本信息见表3.1。第19页/10/10202 2关系表示式关系表示式 用关系运算符(包含括号)连接起来符合C语法规则式子称为关系表示式。比如,假设x和y都是int型变量,那么x=9都是关系表示式。关系表示式值要么是1、要么是0,当关系表示式表示关系成立时值为1,不然为0。比如,关系表示式:1 2 3值是1,因为关系运算符结合次序是从左到右,所以1 2 3计算次序相当于:(1 2)3
17、。关系表示式:-3 -2 -1值是0(注意不是1),因为-3 -2 -1计算次序相当于:(-3 -2)-2结果是0,因为“=”级别低于“”,-1=-1 -2计算次序相当于:-1=(-1 -2),而不是(-1=-1)-2。不要将相等关系运算符:“=”和赋值运算符:“=”相混同,比如,假设x是一个int型变量,其值是-10,那么关系表示式x=1值是0,而赋值表示式x=1值是1。第20页/10/10213 3逻辑逻辑运算符运算符 C语言分别使用“&”、“|”和“!”表示逻辑代数中“与”、“或”和“非”三种逻辑运算。C语言用非0数表示“真”,用0表示“假”。“&”、“|”是双目运算符,“!”是单目运算
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 程序设计 教学 一体化 教程 运算 表达式 公共课 一等奖 全国 获奖 课件
1、咨信平台为文档C2C交易模式,即用户上传的文档直接被用户下载,收益归上传人(含作者)所有;本站仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。所展示的作品文档包括内容和图片全部来源于网络用户和作者上传投稿,我们不确定上传用户享有完全著作权,根据《信息网络传播权保护条例》,如果侵犯了您的版权、权益或隐私,请联系我们,核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
2、文档的总页数、文档格式和文档大小以系统显示为准(内容中显示的页数不一定正确),网站客服只以系统显示的页数、文件格式、文档大小作为仲裁依据,平台无法对文档的真实性、完整性、权威性、准确性、专业性及其观点立场做任何保证或承诺,下载前须认真查看,确认无误后再购买,务必慎重购买;若有违法违纪将进行移交司法处理,若涉侵权平台将进行基本处罚并下架。
3、本站所有内容均由用户上传,付费前请自行鉴别,如您付费,意味着您已接受本站规则且自行承担风险,本站不进行额外附加服务,虚拟产品一经售出概不退款(未进行购买下载可退充值款),文档一经付费(服务费)、不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
4、如你看到网页展示的文档有www.zixin.com.cn水印,是因预览和防盗链等技术需要对页面进行转换压缩成图而已,我们并不对上传的文档进行任何编辑或修改,文档下载后都不会有水印标识(原文档上传前个别存留的除外),下载后原文更清晰;试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓;PPT和DOC文档可被视为“模板”,允许上传人保留章节、目录结构的情况下删减部份的内容;PDF文档不管是原文档转换或图片扫描而得,本站不作要求视为允许,下载前自行私信或留言给上传者【精****】。
5、本文档所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用;网站提供的党政主题相关内容(国旗、国徽、党徽--等)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
6、文档遇到问题,请及时私信或留言给本站上传会员【精****】,需本站解决可联系【 微信客服】、【 QQ客服】,若有其他问题请点击或扫码反馈【 服务填表】;文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“【 版权申诉】”(推荐),意见反馈和侵权处理邮箱:1219186828@qq.com;也可以拔打客服电话:4008-655-100;投诉/维权电话:4009-655-100。