《C语言程序设计》课件第5讲-表达式求值与库函数.ppt

上传人:eieieie 文档编号:21713208 上传时间:2023-11-03 格式:PPT 页数:25 大小:831.50KB
返回 下载 相关 举报
《C语言程序设计》课件第5讲-表达式求值与库函数.ppt_第1页
第1页 / 共25页
《C语言程序设计》课件第5讲-表达式求值与库函数.ppt_第2页
第2页 / 共25页
《C语言程序设计》课件第5讲-表达式求值与库函数.ppt_第3页
第3页 / 共25页
《C语言程序设计》课件第5讲-表达式求值与库函数.ppt_第4页
第4页 / 共25页
《C语言程序设计》课件第5讲-表达式求值与库函数.ppt_第5页
第5页 / 共25页
点击查看更多>>
资源描述

《《C语言程序设计》课件第5讲-表达式求值与库函数.ppt》由会员分享,可在线阅读,更多相关《《C语言程序设计》课件第5讲-表达式求值与库函数.ppt(25页珍藏版)》请在三一文库上搜索。

1、主主 要要 内内 容容2.2 2.2 副作用副作用2.3 2.3 表达式求值表达式求值2.4 2.4 混合类型表达式混合类型表达式2.5 2.5 语句语句2.6 2.6 库函数库函数目的要求目的要求复习思考题复习思考题2.2 2.2 副作用副作用副作用是由副作用是由表达式运算表达式运算引起引起变量的值变量的值发生变化的情形发生变化的情形 要特别注意要特别注意:前侧前侧副作用发生在表达式副作用发生在表达式的值确定之前的值确定之前后侧后侧副作用发生在表达式副作用发生在表达式的值确定之后的值确定之后2.3 2.3 表达式求值表达式求值(3)(3)重复步骤重复步骤2 2,直到得到一个,直到得到一个单独

2、的值单独的值 1.1.无副作用的表达式求值无副作用的表达式求值(1)(1)用变量的值替换表达式中的变量,得到新表达式用变量的值替换表达式中的变量,得到新表达式(2)(2)按优先级依次计算各表达式并用求得的值替换原来的部分按优先级依次计算各表达式并用求得的值替换原来的部分(1)(1)依据下列规则改写表达式依据下列规则改写表达式把前置自增把前置自增/减表达式复制放到原式之前,用变量替换原式中减表达式复制放到原式之前,用变量替换原式中已复制部分已复制部分把后置自增把后置自增/减表达式复制放到原式之后,用变量替换原表达减表达式复制放到原式之后,用变量替换原表达式中已复制部分式中已复制部分(2)(2)用

3、值替换变量用值替换变量(3)(3)按优先级顺序计算各部分并用求得的值替换,重复此过程直到按优先级顺序计算各部分并用求得的值替换,重复此过程直到得到一个单独的值得到一个单独的值(4)(4)计算后置表达式,用新值替换旧值计算后置表达式,用新值替换旧值2.2.有副作用的表达式求值有副作用的表达式求值2.4 2.4 混合类型表达式混合类型表达式(3)(3)有两种转换方式有两种转换方式:隐式类型转换隐式类型转换和和强制类型转换强制类型转换1.1.概述概述(1)(1)各操作数类型不同的表达式叫各操作数类型不同的表达式叫混合类型表达式混合类型表达式(2)(2)不同类型数据运算时,应当先转换成相同的数据类型不

4、同类型数据运算时,应当先转换成相同的数据类型2.2.隐式类型转换隐式类型转换系统自动把参与运算的数据系统自动把参与运算的数据由低级向高级由低级向高级转换为相同的类型转换为相同的类型 3.3.强制类型转换强制类型转换(1)(1)转换格式转换格式(类型标识符类型标识符)表达式表达式举举例例(float)(x+y)(float)(x+y)/*将将(x+y)(x+y)强制转换为单精度类型强制转换为单精度类型 */average=(float)totalScores/numScores;average=(float)totalScores/numScores;/*确保除的结果是小数确保除的结果是小数 *

5、/(float)(a/10)(float)(a/10)/*若若a a的值为的值为3 3,表达式的值为,表达式的值为0.00.0*/(float)a/10(float)a/10 /*若若a a的值为的值为3 3,表达式的值为,表达式的值为0.3 0.3*/(2)(2)强制类型转换的优先级为强制类型转换的优先级为14142.6 2.6 常用库函数常用库函数1.1.数学函数数学函数所有数学函数的原型在头文件所有数学函数的原型在头文件math.hmath.h中中 (1)(1)求绝对值函数求绝对值函数abs,fabsabs,fabs分别对应于整数和小数分别对应于整数和小数函数原型函数原型 int int

6、 absabs(int number);(int number);double double fabsfabs(double number);(double number);powpow函数用于求函数用于求x x的的y y次幂,即次幂,即x xy y 函数原型函数原型(2)(2)幂函数幂函数double double powpow(double x,double y);(double x,double y);举举例例pow(3.0,4.0)pow(3.0,4.0)结果为结果为 81.081.0pow(3.4,2.3)pow(3.4,2.3)结果为结果为 16.68789316.687893po

7、w(2,0.5)pow(2,0.5)结果为结果为 1.41421351.4142135sqrtsqrt函数用于求非负数的算术平方根函数用于求非负数的算术平方根 函数原型函数原型(3)(3)求平方根函数求平方根函数double double sqrtsqrt(double x);(double x);2.7 2.7 程序设计基础知识程序设计基础知识一一.程序与程序设计程序与程序设计 程序设计是为了某一问题而进行程序设计是为了某一问题而进行分析分析,正确选取数据组,正确选取数据组织方式,织方式,设计算法设计算法,然后使用某种语言,然后使用某种语言编写代码编写代码,并进行,并进行调调试、测试试、测试

8、使其正确运行并达到预期结果的过程使其正确运行并达到预期结果的过程程序程序(Program)=(Program)=数据结构数据结构(Data Structure)+(Data Structure)+算法算法(Algorithm)(Algorithm)1.1.程序程序2.2.程序设计程序设计(1)(1)算法的概念算法的概念1.1.算法的概念与基本结构算法的概念与基本结构u算法是解决问题的算法是解决问题的方法和步骤方法和步骤u算法是程序设计的算法是程序设计的核心核心(2)(2)算法的基本结构算法的基本结构三种基本结构三种基本结构u顺序顺序u分支分支(选择选择)u循环循环(重复重复)二二.算法及其描述

9、算法及其描述2.2.算法的描述算法的描述描述工具描述工具:流程图流程图,N-SN-S图图和和伪代码伪代码(1)(1)流程图流程图(2)N-S(2)N-S图图(3)(3)伪代码伪代码一个完整程序设计实例一个完整程序设计实例(1)(1)分析确定所需的变量,包括类型、个数和名字分析确定所需的变量,包括类型、个数和名字 (2)(2)自上而下设计执行步骤,直到可以用自上而下设计执行步骤,直到可以用C C语句直接写出语句直接写出 编写程序实现任意输入一个编写程序实现任意输入一个5位的正整数,输出这个数及位的正整数,输出这个数及它的逆序数,并求组成这个数的各位数字的平均值输出它的逆序数,并求组成这个数的各位

10、数字的平均值输出(1)(1)确定所需的变量确定所需的变量(共共7 7个个)序号变量名类型说明1numberint存储录入的整数2d1short存储number的个位3d2存储number的十位4d3存储number的百位5d4存储number的千位6d5存储number的万位7averageDigitfloat存储number各位数字的平均值(2)(2)自上而下设计步骤自上而下设计步骤第一次设计第一次设计:第1步输入number第2步分离number第3步求平均值第4步输出结果第第1 1步和第步和第3 3步已经很简单不需要继续设计,步已经很简单不需要继续设计,第第2 2步和第步和第4 4步需要

11、进入下一轮设计过程步需要进入下一轮设计过程第二次设计第二次设计:第1步输入number第2步分离number第3步求平均值第4步输出结果第1步分离d1d1=number%10第2步分离d2d2=number/10%10第3步分离d3d3=number/100%10第4步分离d4d4=number/1000%10第5步分离d5d5=number/10000第第2 2步继续设计步继续设计第第4 4步继续设计步继续设计第1步输出number(d5d4d3d2d1)第2步输出number的逆序数(d1d2d3d4d5)第3步输出各位数字的平均值经过两次自上而下的设计经过两次自上而下的设计,每一步已足够

12、简单每一步已足够简单,可以用语句可以用语句直接写出直接写出,就可以结束设计就可以结束设计,上机编码调试了上机编码调试了最终程序代码和运行结果最终程序代码和运行结果目目 的的 要要 求求1.1.理解副作用理解副作用2.2.掌握表达式求值的方法掌握表达式求值的方法4.4.掌握常用数学函数和随机数函数的使用方法掌握常用数学函数和随机数函数的使用方法3.3.掌握数据类型转换的含义和方法掌握数据类型转换的含义和方法5.5.掌握简单程序设计的方法和步骤掌握简单程序设计的方法和步骤复习思考题复习思考题*5.srand,rand5.srand,rand函数各有什么作用函数各有什么作用?它们的原型在哪里它们的原型在哪里?说明:题目前面的说明:题目前面的*代表问题的主要程度代表问题的主要程度*1.1.什么是副作用?什么是副作用?*2.2.表达式求值的原则是什么表达式求值的原则是什么?*3.3.数据类型转换的类型有哪些数据类型转换的类型有哪些?如何转换如何转换?*4.4.函数函数pow,sqrt,ceil,floorpow,sqrt,ceil,floor各有什么作用各有什么作用?它们的原型它们的原型 在哪里在哪里?*6.6.如何产生一定范围内的随机数如何产生一定范围内的随机数?

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

当前位置:首页 > 研究生考试


经营许可证编号:宁ICP备18001539号-1