资源描述:
《C语言全国计算机二级等级考试教程第七章函数(章节带习题).ppt》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、第7章函数7.1库函数7.2函数的定义和返回值7.3函数的调用7.4函数的说明7.5调用函数和被调用函数之间的数据传递7.6程序举例7.1库函数库函数是由C语言提供的,不需要另外编写。使用库函数时,在调用之前必须使用"include"包含对应的"头文件"。★输入输出函数★数学函数★字符函数★字符串函数#include“stdio.h”#include“math.h”#include“ctype.h”#include“string.h”库函数的调用有两种出现形式:①出现在表达式中②作为独立的语句出现y=pow(x,2.5)+1.3;printf(“*****”);7.2函数的
2、定义和返回值C语言虽然提供了丰富的库函数,但这些函数的功能已经被开发人员编写好了,直接来调用就可以了,这一节我们将学习自己来编写函数,自己编写的函数成为用户自定义函数。函数定义的一般形式如下:函数返回值的类型名函数名(类型名形式参数1,类型名形式参数2,…..){说明部分语句部分}标识符变量名函数的首部函数体该函数的返回值由它决定,省略时默认为int类型例如:doubleadd(doublea,doubleb){doubles;s=a+b;returns;}退出调用函数,并带回返回值return(s);注意此函数不能执行,只有必须在主函数中调用它才行。函数的调用7.3函数的调用
3、调用形式:函数名(实际参数)实际参数的个数和类型必须于形式参数一致.在主函数中调用用户编写的函数有两种方式:①作为表达式出现在允许表达式出现的任何地方。y=add(3.0,4.0);if(add(x,y)>0)某语句;②作为独立的语句出现。add(x,y);举例说明7.3函数的调用#includemain(){doubley,p,q;scanf(“%lf%lf”,&p,&q);y=add(p,q);printf(“%f”,y);}pq5.53.5ydoubleadd(doublea,doubleb){doubles;s=a+b;returns;}调用刚才遍好的
4、用户自定义函数调用时函数名要相同,并且实际参数的个数和类型必须于形式参数一致变量名可以不同sab3.55.5传递传递9.0退出函数,将s的值作为该函数的返回值,所以该函数的值为9.0。当退出用户自定义函数时,该函数中的变量全部释放。9.09.000000用户在编写完整的程序时,用户自定义函数可以放在主函数的前面,也可以放在主函数的后面,不过要是放在主函数的后面,则要进行函数说明。7.4函数的说明#includedoubleadd(doublea,doubleb){doubles;s=a+b;returns;}main(){doubley,p,q;scanf(“
5、%lf%lf”,&p,&q);y=add(p,q);printf(“%f”,y);}#includemain(){doubley,p,q;scanf(“%lf%lf”,&p,&q);y=add(p,q);printf(“%f”,y);}doubleadd(doublea,doubleb){doubles;s=a+b;returns;}注意用户自定义函数无论放在主函数的前面还是后面都没有关系,因为程序都是先从main函数开始执行。不过当用户自定义函数出现在主函数之后,一定要对该函数进行函数说明(函数返回值的类型为int或char除外)。函数说明一般都是在程序的开
6、头进行。函数说明的一般形式:类型名函数名(参数类型1,参数类型2,…..);类型名函数名(参数类型1参数名1,参数类型2参数名2,…..);doubleadd(double,double);doubleadd(doublex,doubley);#includedoubleadd(doublea,doubleb);main(){doubley,p,q;scanf(“%lf%lf”,&p,&q);y=add(p,q);printf(“%f”,y);}doubleadd(doublea,doubleb){doubles;s=a+b;returns;}7.5调用函数和
7、被调用函数之间的数据传递例7.3以下程序试图通过调用swap函数,把主函数中变量x和y中的数据进行交换。请观察程序的输出。#includevoidswap(int,int);main(){intx=10,y=20;printf("(1)x=%dy=%d",x,y);swap(x,y);printf("(4)x=%dy=%d",x,y);}voidswap(inta,intb){intt;printf("(2)a=%db=%d",a,b);t=a;a=b;b=t;