欢迎来到天天文库
浏览记录
ID:57609570
大小:504.00 KB
页数:90页
时间:2020-08-28
《C语言程序设计教程第6章.ppt》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、第六章函数与编译预处理6.1模块化程序设计与函数6.2函数的定义与调用6.3函数的嵌套和递归调用6.4变量的作用域与存取方式6.5编译预处理C语言程序设计教程16.1模块化程序设计与函数在设计较复杂的程序时,我们一般采用的方法是:把问题分成几个部分,每部分又可分成更细的若干小部分,逐步细化,直至分解成很容易求解的小问题。这样的话,原来问题的解就可以用这些小问题来表示。(1)自顶向下;(2)逐步细化;(3)模块化设计;(4)结构化编码;2一个较大的程序一般划分成若干个模块,每个模块用来实现一个特定的功能。C语言中用函数来实现模块功
2、能。函数是C语言程序的基本单位,一个C语言程序可由一个主和函数若干个函数构成。由主函数调用其它函数,其他函数之间也可相互调用。如:主函数函数1函数2函数3函数11函数12函数31函数32函数33图6-1模块化程序设计示意图3例如:一个“工资计算程序”的自顶向下开发如下图所示。工资计算输入信息计算工资额打印工资表计算应发额基本工资计算奖金额计算扣除房租、水电费公积金…4ANSI标准提倡把一个大的问题划分成许多小模块,每个模块编写一个函数,一个函数完成一个功能单一而独立的任务。使用模块是一个很好的程序设计方法,可以由几个人同时开始设
3、计,从而缩短开发周期。更主要的是,由于每一个模块规模较小、任务单一,更容易设计和调试,从而提高程序的可靠性。模块设计的原则模块独立规模适当层次分明功能专一案例6-1.调用自定义函数,输出如下字符串。******************Welcome!WestudyCprogramlanguage.******************5#includevoidprintstar();voidsub1();voidsub2();voidmain(){printstar();sub1();sub2();printst
4、ar();}voidprintstar(){printf("******************");}voidsub1(){printf("Welcome!");}voidsub2(){printf("WestudyCprogramlanguage.");}6算法简介算法:通俗地说,算法是解决一类特定问题的方法和步骤。案例6-2设计算法:找出a,b两数中的较大者放入a中,并输出分析:这个问题分三个步骤:输入两个数;找出其中的大数放入a中;输出大数a开始输入a,ba
5、用C语言中函数分两类,一类是标准函数,又称为库函数,使用时必须用#include<头文件>另一类是用户自定义函数:由用户根据自己的任务要求,自己编写的函数。一、定义的形式[存储类型]数据类型函数名(形式参数表列){函数体部分/*由声明部分及语句构成*/}形式参数表列由类型与变量名组成函数头既说明了函数的返回值类型,也说明了每个参数的数据类型。81.存储类型指出函数的作用范围,只有static、extern两种。缺省为externstatic:函数只能作用于所在的源文件,又称为内部函数。extern:函数可被其它源文件中的函数调用
6、,又称为外部函数。2.函数数据类型指出函数返回值的类型,有int,float,char等,即可为各种基本数据类型,也可为各种复杂数据类型。如无返回值,可定义为空类型void。缺省为int3.形参表可有可无,无形参表的函数称为无参函数。无参函数为一特例,但()不能省。有形参表的函数称为有参函数,形参表由一个或多个形参组成,多个参数间用逗号隔开。94.函数名符合标识符的定义:由字母、数字、下划线组成。一般函数名与函数内容有一定关系,以增强程序的可读性。5.函数体部分一般包括数据描述部分和功能实现部分。描述部分由类型定义语句实现;功能
7、实现部分由各种语句构成,是函数的主体部分。intA_to_a(intcapital){intsmall;if(capital>=‘A’&&capital<=‘Z’)small=capital–(‘A’-’a’);returnsmall;}10[案例6-3]定义一个函数,用于求两个数中的大数。/*功能:定义一个求较大数的函数并在主函数中调用*/intmax(intn1,intn2)/*定义一个函数max()*/{return(n1>n2?n1:n2);}main(){intmax(intn1,intn2);/*函数说明*
8、/intnum1,num2;printf("inputtwonumbers:");scanf("%d%d",&num1,&num2);printf("max=%d",max(num1,num2));}11说明(1)函数定义不允许嵌套。在C语言中,所有函数
此文档下载收益归作者所有