函数与编译预处理

函数与编译预处理

ID:45077794

大小:255.50 KB

页数:41页

时间:2019-11-09

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

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

1、第六章函数与预编译处理教学目的要求:1、掌握函数的一般概念和使用的时机2、了解模块化程序设计的基本概念3、掌握标准函数库的使用4、掌握函数定义的形式、调用以及参数和参数传递5、掌握编译预处理,尤其是宏定义6、能灵活运用函数进行编程重点·难点:1、模块化的概念及其设计原则2、标准函数的使用方法3、函数的概念、定义的形式、参数的传递以及实参、形参的区别4、编译预处理中的带参宏定义5、函数的嵌套调用概述一件事情往往要实现多个功能一个程序多个函数一个C程序可由一个主函数和若干个函数构成。mainabcdefghhieg

2、由主函数调用其他函数,其他函数也可以互相调用。同一个函数可以被一个或多个函数调用任意多次。i关于函数的几点说明1、一个源程序文件由一个或者多个函数组成。一个源程序文件是一个编译单位,而不是以函数为单位进行编译.2、一个C程序由一个或者多个源文件组成。3、从用户使用的角度看,函数有两种:标准函数和用户自己定义的函数.4、从函数的形式看,函数有两种:无参函数和有参函数.05.9-14以下关于函数的叙述中正确的是 A)每个函数都可以被其它函数调用(包括main函数) B)每个函数都可以被单独编译 C)每个

3、函数都可以单独运行 D)在一个函数内部可以定义另一个函数(B)print_star(){printf(“******************”);}*****************Howdoyoudo!*****************print_message(){printf(“Howdoyoudo!”);}main(){printf_star();/*调用printstar函数*/print_message();/*调用print_message函数*/printf_star();/*pri

4、ntstar函数*/}2、有参函数的定义形式类型标识符函数名(形式参数表列){声明部分语句}函数定义的形式1、无参函数的定义形式类型标识符函数名(){声明部分语句}intmax(intx,inty){intz;z=x>y?x:y;return(z);}函数类型函数名(参数类型参数名,……,参数类型参数名)print_message(){printf(“Howdoyoudo!”);}关于定义的说明1、max为函数名,括号中有两个形式参数x和y,均是整型。在调用时,主调函数把实参的值传递给被调用函数max中的形

5、参x和y,这时x和y才获得相应的存储单元。其本质是进行值的复制.2、花括弧内是函数体,它包括声明部分和语句部分。在声明部分定义函数中所用的变量(局部变量)。intmax(intx,inty){intz;z=x>y?x:y;return(z);}3、在语句部分中求解,return(z)的作用是将z的值作为整个函数的值带回到主调函数,return后面括号中的值z就是函数带回的值即函数返回值。4、如果在定义函数时不指定函数类型,系统会隐含指定函数类型为int型。因此上面定义的max函数左端的int可以省写。函数参数形

6、式参数和实际参数在调用函数时,大多数情况下,主调函数和被调用函数之间有数据传递关系。这就是前面提到的有参函数。在定义函数时函数后面括弧中的变量名称为“形式参数”(简称“形参”),intmax(intx,inty)在主调函数中调用函数时,函数名后面括弧中的参数(可以是表达式)称为“实际参数”(简称“实参”),如c=max(a,b)。main(){inta,b,c;scanf(“%d,%d”,&a,&b);c=max(a,b);printf(“Maxis%d”,c);}intmax(intx,inty){intz;

7、z=x>y?x:y;return(z);}abc=max(a,b);说明(5)实参变量对形参变量的数据传递“值传递”,即单向传递,只由实参传给形参,而不能由形参传回来给实参.在内存中,实参单元与形参单元是不同单元。2xa23yb33xa22yb3swap(intx,inty){intt;t=x;x=y;y=t;}main(){inta=2,b=3;if(a

8、例如,例2中,max(2,3)的值是3。赋值语句将这个函数值赋值给变量c。函数的调用属于表达式的一种,函数调用表达式的值即为函数的返回值main(){inta,b,c;scanf(“%d,%d”,&a,&b);c=max(a,b);printf(“Maxis%d”,c);}intmax(intx,inty){intz;z=x>y?x:y;return(z);}说明下面对函数值作一些说明

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

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

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