C语言程序设计第4章函数与编译预处理

C语言程序设计第4章函数与编译预处理

ID:46940284

大小:524.00 KB

页数:43页

时间:2019-11-30

C语言程序设计第4章函数与编译预处理_第1页
C语言程序设计第4章函数与编译预处理_第2页
C语言程序设计第4章函数与编译预处理_第3页
C语言程序设计第4章函数与编译预处理_第4页
C语言程序设计第4章函数与编译预处理_第5页
资源描述:

《C语言程序设计第4章函数与编译预处理》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、第4章函数与编译预处理C语言程序设计1第4章函数与编译预处理4.1函数概述4.2函数定义与调用4.3局部变量和全局变量4.4变量的生存期和存储类别4.5编译预处理2005年1月24.1函数概述……C程序源程序文件n函数1函数m……源程序文件1函数1函数n4.1.1函数简介2005年1月3【例】#includevoidprint_line()/*函数定义*/{printf("*********************************");}voidprint_text()/*函数定义*/{printf("Wel

2、cometoBeijing");}voidmain(){print_line();/*函数调用*/print_text();/*函数调用*/print_line();/*函数调用*/}程序的执行总是从main函数开始2005年1月4voidmain函数{……调用函数print_line();……}函数print_line(){……}2005年1月5⑴一个C源程序可以由一个或多个源程序文件组成。C编译系统在对C源程序进行编译时是以文件为单位进行的。⑵一个C源程序文件可以由一个或多个函数组成。所有函数都是独立的。主函数可以调用其它函数,其

3、它函数可以相互调用。⑶在一个C程序中,有且仅有一个主函数main。C程序的执行总是从main函数开始,调用其它函数后最终回到main函数,在main函数中结束整个程序的运行。说明2005年1月6⑷函数的种类从使用的角度看:①标准函数(库函数)库函数是由系统提供的。如:getchar()、sin(x)等。在程序中可以直接调用它们。附录B列出了C的部分库函数。②用户自定义函数。如:例中的print_line()函数。2005年1月7由C编译系统定义的一种函数,存放在系统函数库中,用户可以根据需要随时调用常用函数如:fabs、sqrt、sin、

4、pow、rand(常用数学函数参见教材P100表4-1和附录B)函数调用形式:函数名([参数表])例如:sqrt(x)4.1.2数学库函数2021年7月14日8例#include#includevoidmain(){floatx=4.5;printf("%f,%f,%f",sqrt(x),pow(x,2),fabs(-x));}输出结果:2.121320,20.250000,4.5000002021年7月14日94.2.1函数的定义函数定义的一般形式函数类型函数名(类型名形式参数1,…){说明语句执行

5、语句}例如:求两个数的最大值。intmax(intx,inty){intz;z=x>y?x:y;return(z);}4.2函数定义及调用2005年1月10#includeintcube(inty);/*函数原型声明*/voidmain(){intx,last,nowcb;last=1;printf("1~5之间,相邻两数的立方差是:");for(x=2;x<=5;x++){nowcb=cube(x);/*函数调用*/printf("%d",nowcb-last);last=nowcb;}printf("");}

6、/*函数定义*/intcube(inty)/*函数首部*/{returny*y*y;}例4-1编写一个函数cube,计算整数的立方。花括号中也可以为空,这种函数叫空函数。不能在函数体内定义其他函数,即函数不能嵌套定义。2021年7月14日11函数名(实参表列)在C语言中,把函数调用也作为一个表达式。因此凡是表达式可以出现的地方都可以出现函数调用。例如:①welcome();/*函数调用语句*/②if(iabs(a)>max)max=iabs(a);/*函数调用构成表达式*/③m=max(c,max(a,b));/*函数调用作为函数参数*/

7、4.2.2函数的调用函数调用的一般形式:2005年1月12voidswap(intx,inty){intz;z=x;x=y;y=z;printf("x=%d,y=%d",x,y);}main(){inta=10,b=20;swap(a,b);printf("a=%d,b=%d",a,b);}4.2.3函数参数传递与返回值1.函数的参数传递(值传递)程序输出结果:x=20,y=10a=10,b=20形式参数(形参)实际参数(实参)【例】编一程序,将主函数中的两个变量的值传递给swap函数中的两个形参,交换两个形参的值。单向值传递

8、2005年1月13有关形参和实参的说明:①当函数被调用时才给形参分配内存单元。调用结束,所占内存被释放。②实参可以是常量、变量或表达式,但要求它们有确定的值。③实参与形参类型要一致,字符型与整

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

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

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