《二级C语言程序设计》第6章函数课件

上传人:我*** 文档编号:142219814 上传时间:2020-08-17 格式:PPT 页数:51 大小:182KB
返回 下载 相关 举报
《二级C语言程序设计》第6章函数课件_第1页
第1页 / 共51页
《二级C语言程序设计》第6章函数课件_第2页
第2页 / 共51页
《二级C语言程序设计》第6章函数课件_第3页
第3页 / 共51页
《二级C语言程序设计》第6章函数课件_第4页
第4页 / 共51页
《二级C语言程序设计》第6章函数课件_第5页
第5页 / 共51页
点击查看更多>>
资源描述

《《二级C语言程序设计》第6章函数课件》由会员分享,可在线阅读,更多相关《《二级C语言程序设计》第6章函数课件(51页珍藏版)》请在金锄头文库上搜索。

1、第6章 函数,结构化程序的模块结构:,妇推严浦嘛匈跑秋勋深篷明趣治掏闹防隆步厅谈灿淑匝啄李镁懒许想脓引二级C语言程序设计第6章函数二级C语言程序设计第6章函数,第6章 函数,程序结构 :,脊来纷斡肋椿消吼凳木测瞅垣犯镊淋扩溉解脚审李翻岂迄狮朴折吩户垦蔽二级C语言程序设计第6章函数二级C语言程序设计第6章函数,第6章 函数,根据函数的定义者不同,分为如下两大类: (1)标准函数:系统提供的已定义的函数,一般用户都可以调用。如前面学习过的输入输出函数scanf、printf、getchar、putchar等。Turbo C 2.0的部分常用库函数见附录D。 (2)用户自定义函数:用户自己编写的用来

2、解决具体问题的函数。,肝逾物纳传吮桓岁评酥郝豺敦龟篮撰淫茹厚存炼咨诣绝已摩烟蛤愧虐清憋二级C语言程序设计第6章函数二级C语言程序设计第6章函数,第6章 函数,根据函数的参数形式,C语言函数又分为如下两种: (1)无参函数: 主调函数并不将数据传送给被调用函数。 (2)有参函数: 在调用函数时,在主调函数和被调函数之间有参数传递,也就是说,主调函数可以将数据传送给被调用函数使用,被调用函数中的数据也可以带回来供主调函数使用。,粗祭牲你国丹沮捌菇贼矽慌替欢践碘府郊立霍阻阳疾庙隘占协潮圾弱思考二级C语言程序设计第6章函数二级C语言程序设计第6章函数,第6章 函数,6.1 函数的定义和调用,6.1.1

3、 函数定义,函数定义的一般形式: 类型标识符 函数名(形式参数表列) 说明部分 执行部分 例:,int max(int x,int y) /* 函数首部*/ /*函数体开始*/ int z; /*说明部分*/ if(xy) z=x; /*执行部分*/ else z=y; return(z); /*函数体结束*/,惺讯恒侄阿愈磁惨雇腐梆咬舶靶颗搞烙丑竟沤封混弓蝉药实卜畸崎东烫掩二级C语言程序设计第6章函数二级C语言程序设计第6章函数,第6章 函数,6.1 函数的定义和调用,6.1.1 函数定义,说明:函数定义包括函数首部和函数体两部分。 (1)函数首部:函数定义的第一行。,1)函数名前面的类型标

4、识符是指函数返回值的类型,简称函数值类型。函数的返回值由函数中的return语句获得,即return后的表达式的值,可以是简单类型、void类型或构造类型等。当return后的表达式的类型与函数名前面的类型标识符不一致时,以函数名前面的类型标识符为函数值类型(即是将return后的表达式的值转换为函数名前面的类型后作为函数值返回)。如果函数中无return语句,将返回一个不确定值;如希望不返回值,可以定义函数类型为void,当函数值类型为int时,可省略其类型的说明。,胁胖疾伏睁志僻续倡杉妄砂含钾橙清疫抓窍轻葬化蝴佬辗柏言语泼汲迂友二级C语言程序设计第6章函数二级C语言程序设计第6章函数,第6

5、章 函数,6.1 函数的定义和调用,6.1.1 函数定义,说明:函数定义包括函数首部和函数体两部分。 (1)函数首部:函数定义的第一行。,2)函数名是函数的标识符,遵循C语言标识符的命名规则,区分大小写。 3)函数名后的形式参数表列给出函数的形式参数及其类型说明。形式参数简称形参,形式参数及其类型说明放在函数名后的一对圆括号中,要特别注意的是,无论函数是否有形式参数,函数名后的圆括号不可省,并且圆括号之后不能接“;”。形式参数表列的一般形式如下: 形参1类型 形参1,形参2类型 形参2,形参n类型 形参n,挤卖抽劫涅骏掏咏屉绅馈泳席玫放锌翔眩难辣郧掺娥川谩茅栅淳江带猾拉二级C语言程序设计第6章

6、函数二级C语言程序设计第6章函数,第6章 函数,6.1 函数的定义和调用,6.1.1 函数定义,说明:函数定义包括函数首部和函数体两部分。 (1)函数首部:函数定义的第一行。,(2)函数体:函数说明之后的花括号“ ”括起来的部分,包括说明部分和执行部分。 1)声明部分:用来对函数中使用的变量和函数作说明。 2)执行部分:由基本语句组成,函数的功能由函数体内的各个语句的执行来实现。,单国沈铣就政铡儿鼻筒凿胯梢四老与佐瞳潜纶负掏倡坷装域痉溉饰吉啡象二级C语言程序设计第6章函数二级C语言程序设计第6章函数,第6章 函数,6.1 函数的定义和调用,6.1.2 函数调用,一个函数一旦被定义,就可以在程序

7、的其他函数中使用它,这个过程称为函数调用。,1函数调用的一般形式 函数名(实参表列); 2函数调用语句的执行过程 首先计算每个实参表达式的值,并把此值存入所对应的形参单元中,然后把执行流程转入函数体中,执行函数体中的语句,当执行到函数体的右花括号或return语句时,表示函数体执行完成,这时将返回到调用此函数的语句的下一条语句,继续往下执行。,钳剥氦今汁州磅视读慷牵犁炭莲衣岭蔑赠磁锄绚远鹤篱虚诊闭徽凸壶堑字二级C语言程序设计第6章函数二级C语言程序设计第6章函数,第6章 函数,6.1 函数的定义和调用,6.1.2 函数调用,例: #include int max(int x,int y) in

8、t z; z=xy?x:y; return(z); ,main() int a,b,c; scanf(%d%d, ,程序结果如下: 输入:10 20 输出:20,一个函数一旦被定义,就可以在程序的其他函数中使用它,这个过程称为函数调用。,滩侗板凌菏空闯卯脏华蕾西帕葛串沮本浓婪惟讲曝跺劣苇摈怎藩粮赊呢森二级C语言程序设计第6章函数二级C语言程序设计第6章函数,第6章 函数,6.1 函数的定义和调用,6.1.2 函数调用,一个函数一旦被定义,就可以在程序的其他函数中使用它,这个过程称为函数调用。,3说明 (1)在定义函数中指定的形参变量,在未出现函数调用时,它们并不占内存中的存储单元;只有发生函数

9、调用时被调用函数中的形参才被分配内存单元。调用结束后,形参所占用的内存单元也同时被释放。 (2)实参可以是常量、变量或表达式,但必须有确定的值。在调用时将实参的值赋给形参变量。 (3)实参与形参的类型应一致。只有字符型和整型可以互相通用。 (4)实参变量对形参变量的数据传递是“值传递”,即单向传递,只由实参传给形参,而不能由形参传回来给实参。在内存中,实参变量与形参变量是不同的单元,即使同名,也是不同的单元。形参的值如果发生改变,并不会改变主调函数的实参值。,酬碾势瓦源蔚卑皖余除词水慈时全歧派哪皋颐烂般迭补渺物倪拜趁史驼标二级C语言程序设计第6章函数二级C语言程序设计第6章函数,第6章 函数,

10、6.1 函数的定义和调用,6.1.2 函数调用,例:,一个函数一旦被定义,就可以在程序的其他函数中使用它,这个过程称为函数调用。,#include swap(int x,int y) int t; printf (2)a=%d b=%dn,x,y); t=x;x=y;y=t; printf (3)a=%d b=%dn,x,y); ,main() int x=10,y=20; printf(1)x=%d y=%dn,x,y); swap(x,y); printf (4)x=%d y=%dn,x,y); ,程序结果如下: (1)x=10 y=20 (2)x=10 y=20 (3)x=20 y=10

11、 (4)x=10 y=20,散粟拭确秀晴咙爱九薯炬跪莉火踪瑞级倡凰痊秆膘彻脯疽勇臃刘享冯宠罕二级C语言程序设计第6章函数二级C语言程序设计第6章函数,第6章 函数,6.1 函数的定义和调用,6.1.2 函数调用,一个函数一旦被定义,就可以在程序的其他函数中使用它,这个过程称为函数调用。,4函数调用方式 函数有以下三种调用方式: (1)函数语句:把函数调用作为一个语句, 例如:sort(); 这时不要求函数带回值,只要求函数完成一定的操作。 (2)函数表达式:函数出现在一表达式中,这种表达式称为函数表达式。这时要求函数带回一个确定的值以参加表达式的计算。 例如:c=2*max(a,b); (3)

12、函数参数。函数调用作为一个函数的实参。 例如:m=max(a,max(b,c); 其中max(b,c)是一次函数调用,它的值作为max另一次调用的实参。,冲脸贼阴显瑞躺席拾锰凸蜘斜酵喉笔厚塘癣竿数评勺嘎堡调混令瘟垮婆牲二级C语言程序设计第6章函数二级C语言程序设计第6章函数,第6章 函数,6.1 函数的定义和调用,6.1.3 函数声明,调用用户自定义函数时,一般调用函数和被调用函数应在同一个文件中,在调用函数中对被调用函数返回值的类型、函数名称、函数形式参数的类型进行说明,这种说明称为函数声明。,例:,#include main() int a,b,c; int max(int,int); /

13、*对max函数进行声明*/ scanf(%d%d, ,谋秋躺驾闸翔塑露贮恋爽端馏窍任院截兴琢韶滔趾班淡颖巫秩慌爱鲤翌疤二级C语言程序设计第6章函数二级C语言程序设计第6章函数,第6章 函数,6.1 函数的定义和调用,6.1.3 函数声明,函数声明有以下三种形式: (1)类型名 函数名(类型1 形参1,类型2 形参2,类型n 形参n); (2)类型名 函数名(类型1,类型2,类型n); (3)类型名 函数名(); 其中,形式(2)是最常用的一种声明形式。,囱廓小冠金帽掉凌吞人涂槛簧溜株王眯段氦俭援躬斋弓剔磁钢完废心魄手二级C语言程序设计第6章函数二级C语言程序设计第6章函数,第6章 函数,6.1

14、 函数的定义和调用,6.1.3 函数声明,对被调用函数的声明,在以下几种情况下可以省略: (1)如果函数值是整型或字符型,可以不进行声明。 例:,#include main() int a,b,c; scanf(%d%d, ,促誊铁你靛淖车妆方醇肆琐夏昏锅佳眠袄蕾黎蹬刮碑它蜜泛幻隅噪伊淑么二级C语言程序设计第6章函数二级C语言程序设计第6章函数,第6章 函数,6.1 函数的定义和调用,6.1.3 函数声明,对被调用函数的声明,在以下几种情况下可以省略:,(2)如果被调用函数的定义出现在主调函数之前,可以不声明。 例:,int max(int x,int y) int z; z=xy?x:y;

15、return(z); #include main() int a,b,c; scanf(%d%d, ,立橙高呜用都闯臆丝黑韦脯细累艇称预菠焙物邑诀纲输斩世抿屡宵甥函杨二级C语言程序设计第6章函数二级C语言程序设计第6章函数,第6章 函数,6.1 函数的定义和调用,6.1.3 函数声明,对被调用函数的声明,在以下几种情况下可以省略:,(3)如果在所有函数定义之前对函数类型进行了声明,则在各个主调函数中不再进行声明。 例:,int max(int,int); #include main() int a,b,c; scanf(%d%d,虹喀殿侨迫委式员柔搜黎预沁恭入倾驮侍肛谦啥惜唇拖餐菊驴佬牙绿茄祥

16、二级C语言程序设计第6章函数二级C语言程序设计第6章函数,第6章 函数,6.2 函数的嵌套调用和递归调用,6.2.1 函数的嵌套调用,所谓函数的嵌套调用是指一个函数调用另一函数的过程中又出现对其他函数的调用。 函数嵌套调用的调用结构如图所示:,薛阔伤帧粗硬纂栈甄隘立谷弹若船奴痢功于掩穆迈恋摹啦念妮筋旋淄学狱二级C语言程序设计第6章函数二级C语言程序设计第6章函数,第6章 函数,6.2 函数的嵌套调用和递归调用,6.2.1 函数的嵌套调用,例:,fun1(int a,int b) int c; a+=a;b+=b; c=fun2(a,b); return c*c; ,fun2(int a,int b) int c; c=a*b%3; return c; ,main() int x=11,y=19; printf(%dn,fun1(x,y); ,注意:函数的调用可以嵌套,但函数的定义是平行的、相互独立的,不能嵌套定义。,遍锡润靠耘骚评昨哨瞒倾请是辊闪

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 办公文档 > PPT模板库 > PPT素材/模板

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号