资源描述:
《第+7+章+函+数(一)》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、第7章函数贵州师范大学机电工程学院机制09级C语言程序设计1第七章函数在解决一个比较复杂的实际问题时,不可能把所有要完成的任务全都写在main函数中。这时,程序往往由一个main函数和若干个其它函数组成,每个函数各自完成相对独立的部分功能。在前面的章节中,我们编写的程序都是由一个main函数来组成,在main函数中调用过scanf、printf等系统函数。模块化的程序设计方法2函数间相互调用的示意main()f1()f11(){{{┇┇┇f1();f11();}┇┇f12()f2();f12();{┇┇┇}}}f2()f21(){{┇
2、┇f21();}┇}C语言是由函数组成,一个C语言程序必须包含一个且仅一个main函数,由main函数开始调用其他函数,其他函数也可相互调用,但最终返回主函数结束程序。3本章内容:函数定义;函数调用;函数说明4函数的种类从函数定义形式分:①有参函数:在主调(用)函数和被调(用)函数之间通过参数进行数据传递,如:PPT41intcube(intx){…}②无参函数:如:getchar()在调用无参函数时,主调函数不需要将数据传递给无参函数。PPT17从使用的角度看:①标准函数(库函数)库函数是由系统提供的。如:getchar()、sin
3、(x)等。在程序中可以直接调用它们。附录A列出了C的部分库函数。②用户自定义函数。如:例7.2中的try函数。57.1库函数一、C语言提供了丰富的库函数预处理命令中头文件名1、数学函数math.h2、字符函数和字符串函数ctype.h3、输入输出函数stdio.h4、动态分配函数和随机函数stdih.h库函数由系统提供,用户只要按照要求的格式正确调用即可。不同的C编译系统提供的库函数有些不同。6使用库函数应注意的问题:1、调用库函数时要用#include命令将相关的头文件包含进来。如:调用数学函数,用#include"math.h"
4、
5、调用输入输出函数,用#include"stdio.h"
6、2、库函数调用的一般形式:函数名(参数表)要注意函数的功能、参数的个数与类型、函数值的类型。P78例7.1如:求平方根的函数sqrt的形式是:doublesqrt(doublex)73、库函数调用以两种方式出现。其一:出现在表达式中,即作为表达式的一部分参与运算。如:计算y=x2.5+1.3,则通过以下语句调用来实现。y=pow(x,2.5)+1.3;其二:独立的语句,即调用函数后加一分号。如:printf("*****");4、调用库函数时
7、,要注意参数的一些特殊要求。如三角函数要求自变量参数用弧度表示,开平方函数要求自变量参数的值大于或等于0。使用库函数应注意的问题(续)87.2函数的定义和返回值97.2.1函数的定义1.任何函数(包括主函数main())都是由函数首部和函数体两部分组成。根据函数是否需要参数,可将函数分为无参函数和有参函数两种。(1)有参函数的一般形式P77函数类型函数名(数据类型参数,数据类型参数2…){说明语句部分;可执行语句部分;}有参函数比无参函数多了一个参数表。调用有参函数时,调用函数将赋予这些参数实际的值。为了与调用函数提供的实际参数区别开
8、,将函数定义中的参数表称为形式参数表,简称形参表。10函数类型函数名(类型名形式参数1,…){说明语句执行语句}例如:求两个数的最大值。intmax(intx,inty){intz;z=x>y?x:y;return(z);}类型省略时默认为int类型没有形式参数为无参函数11P78例:编写求两个双精度数之和的函数doubleadd(doublea,doubleb){doubles;s=a+b;returns;}main(){doublex,y,max;scanf(“x=%lf,y=%lf”,&x,&y);max=(x,y);print
9、f(“max=%lf”,max);}?如果S类型与add类型不一致将会??(按add类型进行转换)?关于函数名形参名是否唯一?P77思考:定义一个cube函数,实现求一个整数的立方?[kjub]12【例7.1】求一个整数的立方。intcube(intx)/*函数定义*/{return(x*x*x);}main(){intf,a;printf("Enteranintegernumber:");scanf("%d",&a);f=cube(a);printf("%d*%d*%d=%d",a,a,a,f);}程序运行情况如下:Ent
10、eranintegernumber:22*2*2=8函数调用程序的执行总是从main函数开始13(2)无参函数的一般形式函数类型函数名(){说明语句部分;可执行语句部分;}注意:如果不需要参数,则用“void”表示,主