欢迎来到天天文库
浏览记录
ID:46803558
大小:577.50 KB
页数:99页
时间:2019-11-28
《模块化程序设计方法》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、第六章函数模块化程序设计方法人们在求解一个复杂问题时,通常采用的是逐步分解、分而治之的方法也就是把一个大问题分解成若干个比较容易求解的小问题,然后分别求解。设计一个复杂的应用程序时,往往也是把整个程序划分为若干功能较为单一的程序模块,然后分别予以实现称为模块化(结构化)程序设计方法模块化程序设计方法是自顶向下、逐步求精的程序设计方法程序由程序单元构成使用三种基本控制结构(顺序、选择、重复)构造程序单元函数是C语言的程序模块在C语言中,函数是程序的基本组成单位利用函数,可以实现程序的模块化,使程序设计简单和直观,提高程序的易读性和可维护性把程序中常用的一些计算或操作编成通用的函数,以供随
2、时调用,大大减轻程序员的代码实现工作量。函数是C语言的重要的语法单位;是C语言程序的组成单元。划分函数的方法1程序中可能有重复出现的相同或相似的片段;从中抽取出共同的内容,定义为函数使一项功能只定义一次,多次使用缩短程序,提高程序的可读性和易修改性划分函数的方法2程序中具有逻辑独立性的片段即使这种片段只出现一次,也可以定义为函数,在原来需要这段程序的地方写函数使用。这种做法的主要作用是分解程序的复杂性,使之更容易理解和把握。函数分类在C语言中可从不同的角度对函数分类。1.从函数定义的角度看,函数可分为库函数和用户定义函数两种。库函数由C系统提供,只需包含有该函数定义的头文件即可在程序中
3、直接调用。printf、sqrt、strcat等函数。用户自定义函数:必须通过函数定义(或函数说明)才能被调用由程序员自己定义2.从功能角度看,又可把函数分为有返回值函数和无返回值函数两种。(1)有返回值函数此类函数被调用执行完后将向调用者返回一个执行结果,称为函数返回值。由用户定义的有返回值的函数,必须明确返回值的类型。(2)无返回值函数此类函数用于完成某项特定的处理任务,执行完成后没有计算的结果。用户在定义此类函数时需要指定它的返回类型为空类型---void。3.从主调函数和被调函数之间数据传送的角度看可分为无参函数和有参函数两种(1)无参函数函数不需要外部信息;可以返回或不返回函
4、数值。(2)有参函数(带参函数)函数需要外部信息,通过参数形式传递信息可以返回或不返回函数值主函数每个C程序里必须有一个名为main的特殊函数,称为主函数。主函数规定了整个程序执行的起点(程序入口)程序执行从main函数开始执行,一旦它执行结束,整个程序就执行结束。程序不能调用主函数,它将在程序开始执行时被自动调用。除了主函数外,程序里的其他函数只有在被调用时才能进入执行状态。一个函数要在程序执行过程中起作用,要么它是被主函数直接调用的,要么是被另外一个被调用正在执行的函数所调用的。没有被调用的函数在程序执行中不会起任何作用。C不允许函数嵌套定义。一个函数中再定义一个函数是非法的函数与
5、函数之间通过传递参数和返回值相联系。6.1函数定义和调用6.1.1函数定义一般形式:(返回值)类型说明符函数名(形式参数表){类型说明执行语句}函数体函数原型函数首部(头)函数原型类型说明符是指函数返回值的数据类型。函数名—给自定义的函数取的名字。形式参数表—函数被调用时,接收调用函数传递的实参数。函数体—说明语句、执行语句块。通过return语句返回函数计算结果。定义函数时必须指明返回值类型(缺省时,为int)如果函数没有返回值,函数返回类型应该为void1.无参函数的一般形式类型说明符函数名(){类型说明执行语句}无参函数voidSay_Hello(){printf("Hello
6、,howdoyoudo.");return;}无参函数voidshow-five-row-stars(){inti;for(i=1;i<=5;i++)printf(“%s”,“******”);return;}2有参函数的一般形式类型说明符函数名(形式参数表){类型说明语句}以“,”隔开形参说明type形参变量名有参函数voidshow-many-row-stars(intn){inti;for(i=1;i<=n;i++)printf(“%s”,“******”);return;}有参函数intabs(inta){return((a>0)?a:-a);}有参函数intare
7、a_s(inta,intb){return(a*b);}求两个数中较小的数intmin(inta,intb){if(a>b)returnb;elsereturna;}对于用户自己定义的函数函数需要先定义,再调用。否则,需要对函数进行声明。函数声明函数声明:函数原型;即返回类型函数名(形参表);参数表省略变量名intmin(inta,intb);intmin(int,int);注意:如果使用库函数,必须在源文件前部用#include命令包含必要的
此文档下载收益归作者所有