c语言课件第六章函数

c语言课件第六章函数

ID:39963499

大小:1.74 MB

页数:39页

时间:2019-07-16

c语言课件第六章函数_第1页
c语言课件第六章函数_第2页
c语言课件第六章函数_第3页
c语言课件第六章函数_第4页
c语言课件第六章函数_第5页
资源描述:

《c语言课件第六章函数》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、第六章函数——结构化程序设计基础结构化程序设计概述结构化程序设计要求一种自顶向下的设计方法,也就是将复杂的系统划分为相对独立的,功能较为单一功能的子系统的组合。每个子系统称为模块,在C语言中表现为函数。复杂问题main()abca1a2b1b2c1c2各模块之间的关系称之为接口。优点:函数实现的功能单一完整,可以独立设计,单独调试。易于维护,通用性强。6.1函数的定义和调用⒈函数的基本结构#includevoidmain(void){inta,b,c;scanf(“%d,%d”,&a,&b);c=max(a

2、,b);printf(“%d”‘c);}intmax(intx,inty){intz;z=x>=y?x:y;return(z);}主函数函数体函数的类型,返回值的类型。函数名(用标识符命名),引用函数的标志,并得到结果。函数参数说明表。定义!引用!函数定义是要确定函数的名称、函数的类型、函数的参数及函数的功能。⒉函数的定义格式:type函数名(参数说明表){内部说明语句;功能语句;}如果函数有返回值,应含有return语句。intmax(intx,inty){intz;z=x>=y?x:y;return(z);}说明:⑴函数

3、不能嵌套定义,但可以嵌套引用,包括引用自己。intmax(intx,inty){…intcx(intc,intd){…}/*Error!*/…}⑵函数如果无返回值,type应说明为空类型void。函数无参数应定义成void。voidBell(void){printf(“07”);}⒊函数的调用⑴调用方式:函数名(实参表)一般调用方式有三种:语句形式:max(a,b);表达式形式:c=max(a,b)*2;函数参数:c=max(a,max(b,d));⑵调用过程voidmain(void){inta,b,c;scanf(“

4、%d,%d”,&a,&b);c=max(a,b);printf(“%5d”,c);}intmax(intx,inty){intz;z=x>y?x:y;return(z);}⑴先计算实参的值,从右向左向函数传递调赋值给形参。23abXy23⑵转移在函数中运行,执行到一个return语句,将返回表达式的值。由函数名带回给调用函数。z3函数如果没有return语句,由最后一个}返回一个不确定的值!关于返回值的几点说明:⑴函数可以通过一个return语句返回一个值,也可以不返回值,此时应在定义函数时用void类型加以说明。⑵函数中可

5、以出现多个return语句,遇到一个return语句,则返回值,且返回调用函数,继续执行。intmax(intx,inty){if(x>=y)returnx;returny;}⑶返回值的类型应与函数的类型一致,如不一致,以函数类型为准,先转换为函数类型后,再返回。intmax(void){floatz;…returnz;/*z先转化为整型*/}⑷为了确保参数和返回值类型正确,一般须在函数调用前对其类型和参数的类型加以说明,该说明称之为原型声明。intimax(int,int);voidmain(void){intx,y,z;

6、…z=imax(x,y);…}原型声明语句,加;举例:通过函数求xn。#includedoublepow(float,int);voidmain(void){inti;for(i=1;i<=9;i++)printf(“%d,%f”,i,pow(2.5,i));}doublepow(floatx,intn){inti;doublep=1;for(i=1;i<=n;i++)p=p*x;return(p);}原型声明。定义函数调用函数。chp6ex16.2变量的存储类型及作用域变量是内存数据的抽象,即将内存地

7、址、数据表示抽象成一个符号。此外,变量还有存储类型,存储类型确定了变量在时间上的生存期和空间上的作用域。变量的存储类型有以下四种:⑴自动类型auto⑵寄存器类型register⑶静态类型static⑷外部类型extern变量的说明格式:存储类型类型变量名表;确定变量在内存中的表示方法。确定变量的生存期和作用域。该项省略表示auto存储类型。⒈auto存储类型定义在复合语句的开始处。块内生存块内有效。#includevoidmain(void){autointa,b;scanf(“%d,%d”,&a,&b);

8、if(b>a){intiTemp;iTemp=a;a=b;b=iTemp;}printf(“Max=%d”,a);}ab的作用域iTemp的作用域。生存期:执行到复合语句建立内存变量。执行出复合语句变量消亡。iTemp⒉register存储类型作用域和生存期和auto相同,差别在于,如果C

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

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

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