函数与编译预处理

函数与编译预处理

ID:39234124

大小:765.00 KB

页数:67页

时间:2019-06-28

函数与编译预处理_第1页
函数与编译预处理_第2页
函数与编译预处理_第3页
函数与编译预处理_第4页
函数与编译预处理_第5页
资源描述:

《函数与编译预处理》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、第六章函数与编译预处理6.1模块化程序设计与函数6.2函数的定义与调用6.3函数的递归调用6.4变量作用域与存储方式6.5编译预处理6.6函数设计举例教学目的和基本要求:要求学生了解模块化程序设计的思想,掌握函数的定义及调用,理解变量的作用域与存储方式的概念,理解编译预处理的概念。教学重点:函数的定义及调用、递归调用、变量的作用域。6.1模块化程序设计与函数在设计较复杂的程序时,我们一般采用的方法是:把问题分成几个部分,每部分又可分成更细的若干小部分,逐步细化,直至分解成很容易求解的小问题。这样的话,原来问题的解就可以用这些小问题来表示。把复杂任务细分成多个问题的过程,就叫程序的模块化

2、。模块化程序设计是靠设计函数和调用函数实现的。函数模块化程序设计基本思想:将一个大的程序按功能分割成一些小模块,特点:各模块相对独立、功能单一、结构清晰、接口简单控制了程序设计的复杂性提高元件的可靠性缩短开发周期避免程序开发的重复劳动易于维护和功能扩充开发方法:自上向下,逐步分解,分而治之C是模块化程序设计语言C程序结构C是函数式语言必须有且只能有一个名为main的主函数C程序的执行总是从main函数开始,在main中结束函数不能嵌套定义,可以嵌套调用6.2函数的定义与调用在C语言中,函数(Function)是一个处理过程,可以进行数值运算、信息处理、控制决策,即一段程序的工作放在函数

3、中进行,函数结束时可以携带或不带处理结果。库函数(标准函数):系统提供 自定义函数:用户自己写函数分类从用户角度标准函数(库函数):由系统提供用户自定义函数从函数形式无参函数有参函数库函数使用库函数应注意:1、函数功能2、函数参数的数目和顺序,及各参数意义和类型3、函数返回值意义和类型4、需要使用的包含文件(*.h)对库函数的一般调用形式:函数名(参数表)如:y=pow(x,2.5)+1.3printf(“***”);自定义函数函数定义的语法合法标识符函数返回值类型缺省int型无返回值void函数体函数类型函数名(形参类型说明表){说明部分语句部分}现代风格:例有参函数(现代风格)

4、intmax(intx,inty){intz;z=x>y?x:y;return(z);}例有参函数(现代风格)intmax(intx,y){intz;z=x>y?x:y;return(z);}例空函数dummy(){}函数体为空例无参函数printstar(){printf(“**********”);}或printstar(void){printf(“**********”);}函数类型函数名(形参表)形参类型说明{说明部分语句部分}传统风格:例有参函数(传统风格)intmax(x,y)intx,y;{intz;z=x>y?x:y;return(z);}函数的返回值返回语句形

5、式:return(表达式);或return表达式;或return;功能:使程序控制从被调用函数返回到调用函数中,同时把返值带给调用函数说明:函数中可有多个return语句若无return语句,遇}时,自动返回调用函数若函数类型与return语句中表达式值的类型不一致,按前者为准,自动转换------函数调用转换void型函数例无返回值函数voidswap(intx,inty){inttemp;temp=x;x=y;y=temp;}例函数返回值类型转换main(){floata,b;intc;scanf("%f,%f",&a,&b);c=max(a,b);printf("Maxis%d

6、n",c);}max(floatx,floaty){floatz;z=x>y?x:y;return(z);}函数的调用调用形式一函数名(实参表);说明:实参与形参个数相等,类型一致,按顺序一一对应实参表求值顺序,因系统而定(TurboC自右向左)调用形式二函数名();main(){inti=2,p;p=f(i,++i);printf("%d",p);}intf(inta,intb){intc;if(a>b)c=1;elseif(a==b)c=0;elsec=-1;return(c);}例参数求值顺序main(){inti=2,p;p=f(i,i++);printf("%d",p);}i

7、ntf(inta,intb){intc;if(a>b)c=1;elseif(a==b)c=0;elsec=-1;return(c);}运行结果:0运行结果:1调用方式函数语句:例printstar();printf(“Hello,World!”);函数表达式:例m=max(a,b)*2;函数参数:例printf(“%d”,max(a,b));m=max(a,max(b,c));§函数的说明函数说明的形式一般形式:函数类型函数名(形参类型[形

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。