欢迎来到三一文库! | 帮助中心 三一文库31doc.com 一个上传文档投稿赚钱的网站
三一文库
全部分类
  • 研究报告>
  • 工作总结>
  • 合同范本>
  • 心得体会>
  • 工作报告>
  • 党团相关>
  • 幼儿/小学教育>
  • 高等教育>
  • 经济/贸易/财会>
  • 建筑/环境>
  • 金融/证券>
  • 医学/心理学>
  • ImageVerifierCode 换一换
    首页 三一文库 > 资源分类 > PPT文档下载  

    第7章程序的模块结构和C函数.ppt

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

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

    第7章程序的模块结构和C函数.ppt

    第7章 程序的模块结构和C函数,7,内容提要,本章从模块化程序设计的角度,介绍如何编制所需要的C函数 包括函数的定义、调用方法,调用函数和被调用函数之间如何进行数据传递,变量和函数的存储类型对函数调用的影响,函数的递归调用 最后介绍如何向main()函数传递数据。,C程序的模块结构,1. 模块化程序设计的特点 根据模块化程序设计的思想,对于复杂的问题都可以采用自顶向下(或自底向上)、逐步求精的方法将其分解成若干个相对独立的子问题。每个子问题对应一个功能独立的程序模块,将这些模块有机地连接在一起,构成一个完整的程序。 2. C程序的模块结构,C函数的定义和调用,1. C函数的定义 C函数的定义格式有两种:传统格式和现代格式。传统格式也称K&R格式,是早期编译系统使用的格式;现代格式又称ANSI格式,是现代编译系统使用的格式。 2. C函数的调用,调用函数和被调用函数之间的数据传递,当一个函数调用另一个函数时,函数之间传递数据的方式有3种,即虚实结合方式、函数返回值方式和全局变量方式,用得最多的是虚实结合方式。 1、虚实结合方式 虚实结合方式是在形式参数(简称形参)和实际参数(简称实参)之间进行的数据传递。虚实结合适用于所有的有参函数,传递的数据可以是变量、数组、指针、结构、函数等。 2 函数返回值方式,存储类型对函数调用的影响,变量的存储类型对函数调用的影响 函数的存储类型对函数调用的影响,函数的递归调用,递归调用是一个函数直接或间接地调用自己,前者称为直接递归,后者称为间接递归。 递归调用的函数称为递归函数。由于递归非常符合人们的思维习惯,而且许多数学函数及许多算法或数据结构都是递归定义的,因此递归调用颇具实用价值。,main()函数的参数和返回值,除了在递归程序中可能出现main函数自己调用自己的情况外,main函数很少被其他函数调用。所以,我们前面用到的main函数一概写成: main() 当然也可以写成: void main(void) 但是,main函数也会有参数和返回值,本节介绍main函数的参数、返回值及其应用。 1. 命令行参数 2. main()函数的参数,本章总结,本章应重点掌握函数的定义方式及函数的数据类型、存储类型、形式参数和返回值的概念。函数的调用方法,包括函数名调用、函数指针调用、递归调用、表达式调用、表达式语句调用及什么时候要进行函数类型说明,调用函数和被调用函数之间传递单个数据、指针、数组、字符串的方法,包括调用函数将它们传递给被调用函数及被调用函数将它们返回给调用函数。 本章难点是函数之间数据传递的方式、方法和效果,变量和函数的存储类型对函数调用的影响,函数递归调用过程的分析,以及main函数的参数和返回值的使用。,本章习题,一、选择题 1. 以下函数的数据类型是_。 fun(float x) float y; y=3*x-4; return y; A. int B. 不确定 C. void D. float 2. 在下列关于C函数定义的叙述中,正确的是_。 A. 函数可以嵌套定义,但不可以嵌套调用 B. 函数不可以嵌套定义,但可以嵌套调用 C. 函数不可以嵌套定义,也不可以嵌套调用 D. 函数可以嵌套定义,也可以嵌套调用,本章习题,3. 若函数为int型,变量z为float型,则该函数体内的语句return(z);返回的值是_。 A. int型 B. float型 C. 不定 D. 不确定 4. 在C语言中,函数的隐含存储类型是_。 A. auto B. static C. extern D. 无存储类型 5. 有以下函数: char *fun(char *p) return p; 该函数的返回值是_。 A. 无确切的值 B. 形参p中存放的地址 C. 一个临时存储单元的地址 D. 形参p自身的地址,本章习题,6. 以下所列各函数定义的首部中,正确的是_。 A. void play(int ,int) B. void play(int a,b) C. void play(int a,int b) D. sub play(a as integer,b as integer) 7. 在C语言中,形参的缺省存储类型是_。 A. auto B. register C. static D. extern 8. 有如下函数调用语句: func(rec1,rec2+rec3,(rec4,rec5); 该函数调用语句中,含有的实参个数是_。 A. 3 B. 4 C. 5 D. 有语法错误,本章习题,9. 在调用函数时,如果实参是简单变量,它与对应形参之间的数据传递方式是_。 A. 地址传递 B. 单向值传递 C. 由实参传给形参,再由形参传给实参 D. 传递方式由用户指定 10. 以下有关C语言函数的描述中,正确的是_。 A. 在C语言中,调用函数时,只能把实参的值传送给形参,形参的值不能传送给实参 B. C函数既可以嵌套定义又可以递归调用 C. 函数必须有返回值,否则不能使用函数 D. C程序中有调用关系的所有函数,必须放在同一个源程序文件中 11. 若调用函数的实参是一个数组名,则向被调用函数传送的是_。 A. 数组的长度 B. 数组的首地址 C. 数组每个元素的地 D. 数组每个元素中的值,本章习题,二、填空题 1. 下面的程序用来求数组a各元素的平均值,请填空。 float avr(int *pa,int n) int i; float avg=0.0; for (i=0;in;i+) avg=avg+_(1)_; avg=_(2)_; return avg; main() int i,a5=2,4,6,8,10; float mean; mean=avr(a,5); printf(“mean=%fn“,mean); ,本章习题,2. 函数pi的功能是根据以下近似公式求值: (*)/6=1+1/(2*2)+1/(3*3)+1/(n*n) 请将下面函数的空白处填写正确,以完成求的功能。 #include double pi(long n) double s=0.0; long k; for (k=1;k=n;k+) s=s+_; return(sqrt(6*s); 3. 以下函数用来求两整数之和,并通过形参将结果传回。请填空。 void func(int x, iny y, _z) *z=x+y; ,本章习题,三、编程题 1. 编写程序,要求在主函数中输入一个整数,子函数prime()判断该整数是否为素数,若是素数,函数返回1,否则返回0。 2. 编写程序,要求在主函数中输入一个字符串,子函数将该字符串中的大写字母转换成小写字母,小写字母转换成大写字母,其他字符不变,并将转换后的字符串返回主程序。 3. 请编制程序,子函数的功能是求一个float型二维数组最大元素及其行下标和列下标(要求二维数组名作为实参,对应的虚参用行指针),主函数的功能是输入二维数组元素的值,接收子函数传递过来的最大元素值及其行下标和列下标,并输出。 4. 用递归方法求1+2+3+4+n。,

    注意事项

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

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




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

    三一文库
    收起
    展开