C语言课件 第八章1.ppt

C语言课件 第八章1.ppt

ID:52612880

大小:214.00 KB

页数:24页

时间:2020-04-11

C语言课件 第八章1.ppt_第1页
C语言课件 第八章1.ppt_第2页
C语言课件 第八章1.ppt_第3页
C语言课件 第八章1.ppt_第4页
C语言课件 第八章1.ppt_第5页
资源描述:

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

1、第8章函数与变量8.1函数8.2变量的作用域和存储类型根据结构化程序设计原则,一个较大的程序要经过自顶向下的分析,逐步细化为若干模块,每一模块完成某种功能,在C语言中由函数来实现这些模块。C语言源程序是由许多函数组成的。main是由用户自己编写的,其中可以调用C提供的库函数,也可以调用自己和他人编写的函数,但总是从main()开始执行。C语言提供的标准库中存放着若干已定义的函数,在使用这些库函数时,需要使用文件包含命令(#include)将带有该函数定义的头文件包含到当前程序;而对于标准库函数未提供的功能则只能由用户编写自定义函数来实现。标准库函数的调用:形式:函数名(参数表

2、)调用库函数有两种形式:(1)在表达式中:y=sqrt(x)+1.5(2)作为独立的语句完成某种操作:scanf(“%d”,&x);注意:调用各个函数时,必须给予类型相同的参数,并且最后的结果作为函数的返回值。函数C语言中所有函数的定义是并列的、独立的。各个函数之间没有嵌套或从属的关系。建立函数即为函数的定义;使用函数即为函数的调用。调用其它函数的函数称为主调函数;被其它函数所调用的函数称为被调函数。main函数只能被系统调用,而对于其它函数而言,main函数只能是主调函数。8.1函数函数只能通过被调用才能执行。8.1.1函数的定义自定义函数必须经过用户自行定义后,才能使用。

3、函数原型定义格式:函数类型函数名(类型形参1,类型形参2…){声明部分执行部分}【例8.1】求3个字符中的最大值#includecharmax(chara,charb,charc){charm;m=a>b?a:b;m=m>c?m:c;return(m);}main(){chara,b,c,d;printf("Enterthreecharacters:");scanf("%c,%c,%c",&a,&b,&c);d=max(a,b,c);printf("Maxis%c",d);}(1)函数类型returnvoid(2)函数名同一程序中,函数的名称应是唯一

4、的。(3)函数参数分为有参、无参函数。(4)形参说明若是有参函数,在函数定义时必须对参数类型进行说明。(5)函数体声明部分和执行部分。对函数定义作进一步说明:若一个函数定义后,未被调用,它是不能自己执行自己的。定义空函数:函数类型函数名(){}空函数实际上什么也不做,但具有可用在以后扩充函数的功能。【例8.2】编程计算组合数C(n,k)=n!/(k!(n-k)!)#includeintfac(intm){inti,s=1;for(i=1;i<=m;i++)s*=i;return(s);}voidmain(){intn,k,c;printf("请输入C(n,k

5、):");scanf("%d,%d",&n,&k);c=fac(n)/(fac(k)*fac(n-k));printf("C(n,k)=%d",c);}请输入C(n,k):6,4C(n,k)=158.1.2函数的参数和返回值1.函数的参数定义函数时的参数为形参,调用函数时的参数为实参。形参和实参不同:当函数未被调用时,形参无确定值,只是形式上的数。函数定义时形参不占内存,只有当函数被调用时,形参才被分配内存单元,接收传递来的实参值。实参则有确定值。实参可以是常量、变量或表达式。当调用函数时,实参值将被传递给对应的形参。使用时实参和形参个数必须相等,对应实参和形参的数据

6、类型应该相同。当实参和形参不一致时:(1)类型不同(2)个数不同另外,实参和形参可以同名,虽然是同名也是两个不同的变量,占用不同的内存单元,不会发生混浠。2.函数的返回值主调函数调用被调函数的目的:(1)完成一定的处理功能,无返回值;(2)得到一个计算处理结果,并向主调函数返回一个返回值(用return语句)。其格式如下:return(表达式);return表达式;return;执行过程:程序执行到return时,流程返回到调用函数的地方(退出被调函数),带回函数值。【例8.3】编写子程序求两个数的和。#includefloatadd(floatx,floa

7、ty){floatz;z=x+y;return(z);}main(){floata,b,c;printf("Inputtwofloats:");scanf("%f,%f",&a,&b);c=add(a,b);printf("Sumis%f",c);}在设计带有返回值的函数时注意以下几点:(1)无返回值的函数应该定义void类型,否则会返回一个不确定的值。(2)函数返回值的类型应为定义函数时函数的类型。若return语句中表达式值的类型与函数类型不一致,系统会将其强制转换为函数类型。(3)return

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

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

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