欢迎来到三一办公! | 帮助中心 三一办公31ppt.com(应用文档模板下载平台)
三一办公
全部分类
  • 办公文档>
  • PPT模板>
  • 建筑/施工/环境>
  • 毕业设计>
  • 工程图纸>
  • 教育教学>
  • 素材源码>
  • 生活休闲>
  • 临时分类>
  • ImageVerifierCode 换一换
    首页 三一办公 > 资源分类 > PPT文档下载  

    计算机程序设计基础 第三章函数.ppt

    • 资源ID:6342634       资源大小:337.82KB        全文页数:37页
    • 资源格式: PPT        下载积分:15金币
    快捷下载 游客一键下载
    会员登录下载
    三方登录下载: 微信开放平台登录 QQ登录  
    下载资源需要15金币
    邮箱/手机:
    温馨提示:
    用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)
    支付方式: 支付宝    微信支付   
    验证码:   换一换

    加入VIP免费专享
     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    计算机程序设计基础 第三章函数.ppt

    计算机程序设计基础,第三章 函 数,提 纲,3.1 函数声明与调用3.2 函数定义3.3 函数调用规范3.4 程序的结构化与模块化3.5 程序测试与代码优化本章小结,3.1 函数声明与调用,函数调用主调(客户)函数与被调(服务器)函数函数调用时的参数与返回值例一:printf(%2d,i);例二:n=GetIntegerFromKeyboard();函数原型函数的实现与调用格式说明:作为函数接口一般出现在头文件中/#include 格式:函数返回值类型 函数名称(形式参数列表);例一:int Add(int x,int y);例二:void Swap(int x,int y);例三:void Compute();,3.2 函数定义,函数实现函数定义,使用编程语言给出函数的执行步骤函数返回值函数完成后带回来的结果主调函数可以使用谓词函数返回 BOOL 类型值的函数表达某项任务是否完成或某个条件是否满足,Add 函数,编写函数 Add,求两个整数之和,int Add(int x,int y)int t;t=x+y;return t;,Compare 函数,编写函数 Compare,比较两个整型数据 x、y 的大小。若 x 等于 y 返回 0,若 x 大于 y 返回 1,若 x 小于 y 返回-1,int Compare(int x,int y)int t;if(x=y)t=0;else if(x y)t=1;else t=-1;return t;,Swap 函数,编写函数 Swap,互换两个整型数据 x、y 的值,void Swap(int x,int y)int t;t=x;x=y;y=t;return;/因函数没有返回值,只需直接列写 return 语句,多条 return 语句,编写函数 Compare,比较两个整型数据 x、y 的大小。若 x 等于 y 返回 0,若 x 大于 y 返回 1,若 x 小于 y 返回-1,/允许函数中包含多条 return 语句/函数在执行到第一条 return 语句后终止int Compare(int x,int y)if(x=y)return 0;else if(x y)return 1;else return-1;,谓词函数,编写函数 IsLeapYear,判断某个给定年份是否为闰年,BOOL IsLeapYear(int year)return year%4=0,3.3 函数调用规范,函数调用示例参数传递机制函数调用栈框架函数的嵌套调用,函数调用示例,编写程序将用户输入的两个整数相加,要求尽可能使用函数将程序中的有关操作独立出来,#include#include zylib.hvoid PrintWelcomeInfo();int GetInteger(STRING prompt);int Add(int x,int y);int main()int a,b,sum;PrintWelcomeInfo();a=GetInteger(The first number:);b=GetInteger(The second number:);sum=Add(a,b);printf(The sum is%d.n,sum);return 0;,#include int main()int a,b,sum;printf(The program gets two integers,and prints their sum.n);printf(The first number:);scanf(%d,函数调用示例,void PrintWelcomeInfo()printf(The program gets two integers,and prints their sum.n);int GetInteger(STRING prompt)int t;printf(%s,prompt);t=GetIntegerFromKeyboard();/scanf(%d,参数传递机制,形式参数在函数调用时才分配存储空间,并接受实际参数的值实际参数可以为复杂的表达式,在函数调用前获得计算形式参数与实际参数可同名,也可不同名参数较多时,实际参数值逐一赋值,它们必须保持数目、类型、顺序的一致值的复制过程是单向不可逆的,函数内部对形式参数值的修改不会反映到实际参数中去函数参数一般为函数输入集的一部分,函数输出集一般使用返回值表示,只有使用特殊的手段才可以将函数参数作为函数输出集的一部分,函数调用栈框架,首次调用 GetInteger 函数前,函数调用栈框架,首次调用 GetInteger 函数,数据输入前,函数调用栈框架,The first number:,10,prompt,t,GetInteger,首次调用 GetInteger 函数,数据输入后,函数调用栈框架,首次调用 GetInteger 函数,数据输入后,函数调用栈框架,首次调用 GetInteger 函数结束,函数调用栈框架,再次调用 GetInteger 函数,数据输入后,函数调用栈框架,再次调用 GetInteger 函数结束,函数调用栈框架,调用 Add 函数,函数调用栈框架,调用 Add 函数结束,结果为 30,整数互换示例第一版,编写程序将用户输入的两个整数互换,#include#include zylib.hvoid PrintWelcomeInfo();int GetInteger(STRING prompt);void Swap(int x,int y);int main()int a,b;/*输入部分*/PrintWelcomeInfo();a=GetInteger(The first number:);b=GetInteger(The second number:);/*数据处理与输出部分*/printf(In main():a:%d;b:%dn,a,b);Swap(a,b);printf(In main():a:%d;b:%dn,a,b);return 0;,整数互换示例第一版,void PrintWelcomeInfo()printf(The program gets two integers,and tries to swap them.n);int GetInteger(STRING prompt)int t;printf(%s,prompt);t=GetIntegerFromKeyboard();return t;void Swap(int x,int y)int t;printf(In Swap():x:%d;y:%dn,x,y);t=x;x=y;y=t;printf(In Swap():x:%d;y:%dn,x,y);return;,整数互换程序栈框架,调用 Swap 函数前,整数互换程序栈框架,调用 Swap 函数,数据互换前,整数互换程序栈框架,调用 Swap 函数,数据互换后,整数互换程序栈框架,调用 Swap 函数后,整数互换示例第二版,编写程序将用户输入的两个整数互换,#include#include zylib.hint a,b;/*全局数据对象声明,以保证所有函数都可以访问这两个数据对象*/void PrintWelcomeInfo();int GetInteger(STRING prompt);void Swap();/*不再需要函数参数*/int main()/*输入部分*/PrintWelcomeInfo();a=GetInteger(The first number:);b=GetInteger(The second number:);/*数据处理与输出部分*/printf(In main():a:%d;b:%dn,a,b);Swap();printf(In main():a:%d;b:%dn,a,b);return 0;,整数互换示例第二版,void PrintWelcomeInfo()printf(The program gets two integers,and tries to swap them.n);int GetInteger(STRING prompt)int t;printf(%s,prompt);t=GetIntegerFromKeyboard();return t;void Swap()int t;printf(In Swap():a:%d;b:%dn,a,b);t=a;a=b;b=t;printf(In Swap():a:%d;b:%dn,a,b);return;,函数嵌套调用,函数平行定义,不能嵌套定义,但可以嵌套调用,3.4 程序的结构化与模块化,结构化与函数抽象结构化负责实现函数,强调编码自顶向下,逐步求精抽象手段:函数模块化与函数抽象模块化负责组织函数,进行任务划分,强调设计抽象手段:函数模块间通信使用接口,典型表现为函数参数与返回值,3.5 程序测试与代码优化,程序测试原则顺序结构:一般一次测试。注意:仅仅是一般!分支结构:每条路径都需要测试循环结构:一般测试第一次、最后一次与中间某次迭代程序效率混合运算时文字的存储类型程序测试示例编写程序,实现从摄氏温度到华氏温度值的转换。温度转换公式为 f=1.8 c+32,c 为摄氏温度值,f 为转换后的华氏温度值,温度转换程序,#include#include zylib.hconst float absolute_zero=-273.15;float f,c;float GetFloat(STRING prompt);void Input();void Compute();void Output();void main()Input();Compute();Output();,温度转换程序,void Input()c=GetFloat(Input a temperature value(C):);while(c=absolute_zero)printf(The temperature value is below%.2f.n,absolute_zero);c=GetFloat(Input a temperature greater than the absolute zero:);void Compute()f=c*1.8+32;void Output()printf(Temperature value(F)is%.2f.n,f);float GetFloat(STRING prompt)float t;printf(%s,prompt);t=GetRealFromKeyboard();return t;,本章小结,结构化与模块化重要程序设计原则!函数的声明、调用与定义函数参数与函数返回值参数传递规范函数调用栈框架程序测试与代码优化基本程序测试原则代码优化是双刃剑,注意在效率与可读性间维持平衡,作 业,第 115 页:习题二第 4、5、9小题第 116 页:习题二第 11 小题,

    注意事项

    本文(计算机程序设计基础 第三章函数.ppt)为本站会员(小飞机)主动上传,三一办公仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知三一办公(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    备案号:宁ICP备20000045号-2

    经营许可证:宁B2-20210002

    宁公网安备 64010402000987号

    三一办公
    收起
    展开