- 1、本文档共99页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第六章 模块化程序设计方法 人们在求解一个复杂问题时,通常采用的是逐步分解、分而治之的方法 也就是把一个大问题分解成若干个比较容易求解的小问题,然后分别求解。 设计一个复杂的应用程序时,往往也是把整个程序划分为若干功能较为单一的程序模块,然后分别予以实现 称为模块化(结构化)程序设计方法 模块化程序设计方法是自顶向下、逐步求精的程序设计方法 程序由程序单元构成 使用三种基本控制结构(顺序、选择、重复)构造程序单元 函数是C语言的程序模块 在C语言中,函数是程序的基本组成单位 利用函数,可以实现程序的模块化,使程序设计简单和直观,提高程序的易读性和可维护性 把程序中常用的一些计算或操作编成通用的函数,以供随时调用,大大减轻程序员的代码实现工作量。 函数是C语言的重要的语法单位; 是C语言程序的组成单元 。 划分函数的方法1 程序中可能有重复出现的相同或相似的片段;从中抽取出共同的内容,定义为函数 使一项功能只定义一次,多次使用 缩短程序,提高程序的可读性和易修改性 划分函数的方法2 程序中具有逻辑独立性的片段 即使这种片段只出现一次,也可以定义为函数,在原来需要这段程序的地方写函数使用。 这种做法的主要作用是分解程序的复杂性,使之更容易理解和把握。 函数分类 在C语言中可从不同的角度对函数分类。 1.从函数定义的角度看,函数可分为库函数和用户定义函数两种。 库函数由C系统提供,只需包含有该函数定义的头文件即可在程序中直接调用。 printf 、sqrt、strcat等函数。 用户自定义函数:必须通过函数定义(或函数说明)才能被调用 由程序员自己定义 2.从功能角度看,又可把函数分为有返回值函数和无返回值函数两种。 (1)有返回值函数 此类函数被调用执行完后将向调用者返回一个执行结果,称为函数返回值。 由用户定义的有返回值的函数,必须明确返回值的类型。 (2)无返回值函数 此类函数用于完成某项特定的处理任务,执行完成后没有计算的结果。 用户在定义此类函数时需要指定它的返回类型为空类型---void。 3.从主调函数和被调函数之间数据传送的角度看可分为无参函数和有参函数两种 (1)无参函数 函数不需要外部信息; 可以返回或不返回函数值。 (2)有参函数(带参函数) 函数需要外部信息,通过参数形式传递信息 可以返回或不返回函数值 主函数 每个C程序里必须有一个名为main的特殊函数,称为主函数。 主函数规定了整个程序执行的起点(程序入口) 程序执行从main函数开始执行,一旦它执行结束,整个程序就执行结束。 程序不能调用主函数,它将在程序开始执行时被自动调用。 除了主函数外,程序里的其他函数只有在被调用时才能进入执行状态。 一个函数要在程序执行过程中起作用,要么它是被主函数直接调用的,要么是被另外一个被调用正在执行的函数所调用的。 没有被调用的函数在程序执行中不会起任何作用。 C不允许函数嵌套定义。 一个函数中再定义一个函数是非法的 函数与函数之间通过传递参数和返回值相联系。 6.1函数定义和调用 6.1.1 函数定义 一般形式: (返回值)类型说明符 函数名(形式参数表) { 类型说明 执行语句 } 函数原型 类型说明符是指函数返回值的数据类型。 函数名—给自定义的函数取的名字。 形式参数表—函数被调用时,接收调用函数传递的实参数。 函数体—说明语句、执行语句 块。 通过 return语句返回函数计算结果。 定义函数时必须指明返回值类型(缺省时,为int) 如果函数没有返回值,函数返回类型应该为 void 1.无参函数的一般形式 类型说明符 函数名( ) { 类型说明 执行语句 } 无参函数 void Say_Hello( ) { printf(Hello, how do you do. \n); return ; } 无参函数 void show-five-row-stars( ) { int i; for (i=1;i=5;i++) printf(“%s\n”,“******”); return ; } 2有参函数的一般形式 类型说明符 函数名(形式参数表) { 类型说明 语句 } 有参函数 void show-many-row-stars( int n ) { int i; for (i=1;i=n;i++) printf(“%s\
文档评论(0)