表达式和简单程序设计.ppt

上传人:牧羊曲112 文档编号:6022711 上传时间:2023-09-15 格式:PPT 页数:46 大小:2.38MB
返回 下载 相关 举报
表达式和简单程序设计.ppt_第1页
第1页 / 共46页
表达式和简单程序设计.ppt_第2页
第2页 / 共46页
表达式和简单程序设计.ppt_第3页
第3页 / 共46页
表达式和简单程序设计.ppt_第4页
第4页 / 共46页
表达式和简单程序设计.ppt_第5页
第5页 / 共46页
点击查看更多>>
资源描述

《表达式和简单程序设计.ppt》由会员分享,可在线阅读,更多相关《表达式和简单程序设计.ppt(46页珍藏版)》请在三一办公上搜索。

1、2 表达式和简单程序设计,目 的 要 求,理解运算符、操作数、表达式、优先级和结合性掌握二元运算的种类和使用方法掌握赋值运算的种类和使用方法掌握后置自增减运算的使用理方法掌握前置自增减运算的使用方法掌握sizeof运算及使用方法掌握逗号运算及使用方法,目 的 要 求,理解副作用掌握表达式求值的方法掌握数据类型转换的含义和方法掌握常用数学函数和随机数函数的使用方法掌握简单程序设计的方法和步骤,问 题 引 出,2.数据是程序处理的对象,1.数据存储在变量中,通过变量名可以引用数据,3.要对数据进行处理就要写各种算式,主 要 内 容,2.1 表达式初级表达式;二元表达式;赋值表达式后缀表达式;一元表

2、达式;逗号表达式2.2 副作用2.3 表达式求值2.4 混合类型表达式2.5 语句2.6 库函数,2.1 表达式,1.概述,(1)运算符,+=,1.概述,(2)操作数,执行某种操作的语法符号,又叫运算符,执行某种操作的对象,(3)表达式是由一系列操作数和运算符构成的有意义的式子,表2-1 本章涉及的表达式,(4)三点说明,(5)强调一点,任何一个表达式最终都产生一个值,2.1.1 初级表达式,1.初级表达式是只含一个操作数不含运算符的表达式,2.初级表达式的优先级最高(18),3.初级表达式包括:常量,变量和括弧表达式,注意:任何表达式加上括号就变为级别最高的初级表达式,2.1.2 二元表达式

3、,(1)格式为“操作数运算符操作数”的表达式,1.概述,1.概述,(2)二元运算符(5种),(1)两个整数相除结果仍为整数,2.四点注意事项,2.四点注意事项,(2)取余运算必须是整数,结果是两个数相除得到的余数,(3)在实际应用中,取余运算常常用来构建某种条件,(4)在实际应用中,取余运算常常用来构建某种条件,2.1.3 赋值表达式,(1)赋值表达式是用赋值运算把变量和式子连接起来,(2)赋值运算符,1.概述,1.概述,(1)赋值运算符的左边一定是变量,2.三点注意事项,(2)赋值运算优先级为2,结合性为右结合,(3)整个赋值表达式的值就是最左端变量存储的值,2.三点注意事项,2.1.4 后

4、缀表达式,(1)后缀表达式由一个操作数后跟一个运算符组成,(2)后缀运算符,1.概述,1.概述,(1)实施后置自增减运算的一定是变量,2.注意事项,2.注意事项,(2)后置自增(减)运算的结果是使变量的值增(减)1,(3)后置自增减表达式的值是变量原来的旧值,2.1.5 一元表达式,(1)一元表达式由一个运算符后跟一个操作数组成,(2)一元运算符,1.概述,1.概述,(1)实施前置自增减运算的一定是变量,2.注意事项,2.注意事项,(2)前置自增(减)运算的结果是使变量的值增(减)1,(3)前置自增减表达式的值是变量改变后的新值,(4)前置自增减运算与后置自增减运算的比较,(5)关于sizeo

5、f运算,用于测定操作对象所占用字节数使用的格式是:sizeof 对象 或 sizeof(对象)操作对象可以是类型标识符,也可以是表达式,(6)关于取正/负运算,表2-7 一元取正/取负运算实例,2.1.6 逗号表达式,1.用逗号把几个表达式连接起来构成的表达式,2.其运算次序是自左向右依次计算每个表达式,x=5,exp=x+5,z-=exp,x+6,3.整个逗号表达式的值为最后一个表达式的值,4.逗号运算的优先级最低(为1),5.逗号运算常常用来对多个变量同时赋值,x=5,exp=10,z=20;,复习思考题,*6.一元运算有哪些?各自的作用是什么?如何使用?,说明:题目前面的*代表问题的重要

6、程度,*1.什么是运算符?操作数?表达式?优先级和结合性?,*2.C中,表达式有哪些类型?,*3.C中,二元运算包括哪些?使用中应注意什么?,*4.赋值运算包括哪些?使用中应注意什么?,*5.后置自增减运算的作用是什么?使用时应注意什么?,*7.逗号表达式是什么?如何处理?,问 题 引 出,2.不同运算的作用不同,1.不同类型的表达式含有不同的运算,4.当不同类型的表达式出现在一起时如何处理?,3.任何式子最终都产生一个值,2.2-2.3 副作用和表达式求值,2.4 混合类型表达式,2.6 标准库函数,5.有些运算在运算符中没有,如求,怎么办?,2.2 副作用,副作用是由表达式运算引起变量的值

7、发生变化的情形,要特别注意:,前侧副作用发生在表达式求值之前后侧副作用发生在表达式求值之后,2.3 表达式求值,(3)重复步骤2,直到得到一个单独的值,1.无副作用的表达式求值,1.无副作用的表达式求值,求值顺序和原则,(1)用变量的值替换表达式中的变量,得到新表达式,(2)按优先级依次计算各表达式并用求得的值替换原来的部分,(1)依据下列规则改写表达式把前置自增/减表达式复制放到原式之前,用变量替换原式中已复制部分把后置自增/减表达式复制放到原式之后,用变量替换原表达式中已复制部分(2)用值替换变量(3)按优先级顺序计算各部分并用求得的值替换,重复此过程直到得到一个单独的值(4)计算后置表达

8、式,用新值替换旧值,2.有副作用的表达式求值,2.有副作用的表达式求值,求值顺序和原则,2.4 混合类型表达式,(3)有两种转换方式:隐式类型转换和强制类型转换,1.概述,(1)各操作数类型不同的表达式叫混合类型表达式,(2)不同类型数据运算时,应当先转换成相同的数据类型,1.概述,(1)系统按照规则自动把参与运算的数据转换为相同的类型,(2)转换的规则是,除了赋值运算外总是由低级向高级转换,图2-11 隐式类型转换的规则,3.强制类型转换,3.强制类型转换,(1)通过强制类型转换运算将表达式强制转换成指定的类型,(2)转换格式,(类型标识符)表达式,(float)(x+y)/*将(x+y)强

9、制转换为单精度类型*/average=(float)totalScores/numScores;/*确保除的结果是小数*/(float)(a/10)/*若a的值为3,表达式的值为0.0*/(float)a/10/*若a的值为3,表达式的值为0.3*/,(3)强制类型转换的优先级为14,注意:赋值运算是把右边的值转换为左边的类型,2.5 语句,1.概述,(1)语句是程序中执行某种操作的指令,(2)C中的语句可分为5类,1.概述,2.表达式语句,(1)任意表达式末尾加上分号就构成了表达式语句,2.表达式语句,(2)由分号结尾的函数调用也是表达式语句,(3)只包含一个分号的语句叫空语句,空语句什么工

10、作也不做,常用它作控制的转移点,3.复合语句,(1)复合语句又称为语句块(2)它是由一对花括号括起来的若干条语句(3)复合语句中包含声明区和语句区两部分,它们都是可选的(4)声明区必须在语句区前面(5)复合语句的一般格式 声明区;语句区;,3.复合语句,2.6 常用库函数,1.数学函数,所有数学函数的原型在头文件math.h中,1.数学函数,abs,labs,fabs三个函数分别对应于整数,长整数和小数,函数的原型是,int abs(int number);long labs(long number);double fabs(double number);,ceil,floor函数用于求最大和

11、最小整数,函数的原型是,double ceil(double number);double floor(double number);,函数的作用,ceil 函数用于求不小于某数的整数,结果为double型floor函数用于求不大于某数的整数,结果为double型,pow函数用于求x的y次幂,即xy,函数的原型是,(3)幂函数,(3)幂函数,sqrt函数用于求非负数的平方根,函数的原型是,double pow(double x,double y);,double sqrt(double x);,srand用来为伪随机数序列产生第一个种子数,种子数是被随机数发生器用来计算下一个随机数的变量,函数

12、原型包含在头文件stdlib.h中,不同的种子将产生不同的随机数,每次产生的随机数将成为下一个随机数的种子数,srand函数的原型,常常使用系统时间作为参数来产生首个种字数,void srand(unsigned seed);,srand(time(NULL);,图2-14 随机函数的种子数,rand函数用来产生一个0到32767间的随机整数,(2)随机数函数,rand函数的原型,若不使用srand函数改变种子数,默认种子数是1,每次产生的随机数序列不变,(2)随机数函数,int rand(void);,rand()%(max+1)min)+min,产生min,max之间的随机整数:,2.7

13、简单程序设计,(1)确定所需的变量,包括类型、个数和名字,(2)自上而下设计执行步骤,直到可以用C语句直接写出,1.设计步骤,1.设计步骤,(1)确定所需的变量(共7个),(2)自上而下设计步骤,第一次设计:,第1步和第3步已经很简单不需要继续设计,第2步和第4步需要进入下一轮设计过程,第二次设计:,经过两次自上而下的设计,每一步已足够简单,可以用语句直接写出,就可以结束设计,上机编码调试了,最终程序代码和运行结果,复习思考题,*5.srand,rand函数各有什么作用?它们的原型在哪里?,说明:题目前面的*代表问题的主要程度,*1.什么是副作用?,*2.表达式求值的原则是什么?,*3.数据类型转换的类型有哪些?如何转换?,*4.函数pow,sqrt,ceil,floor各有什么作用?它们的原型 在哪里?,*6.如何产生一定范围内的随机数?,

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 生活休闲 > 在线阅读


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号