C 程序设计简明教程 雷新贤 C06

C 程序设计简明教程 雷新贤 C06

ID:40238037

大小:644.50 KB

页数:50页

时间:2019-07-28

C 程序设计简明教程 雷新贤 C06_第1页
C 程序设计简明教程 雷新贤 C06_第2页
C 程序设计简明教程 雷新贤 C06_第3页
C 程序设计简明教程 雷新贤 C06_第4页
C 程序设计简明教程 雷新贤 C06_第5页
资源描述:

《C 程序设计简明教程 雷新贤 C06》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、第6章函数6.1函数定义6.2函数调用6.3参数传递6.4变量的作用域与生存6.5函数应用案例6.6自主学习函数的概念例:设计学生信息管理系统C函数:实现一个特定功能的程序段。①标准函数:由系统提供,直接按规则使用。信息管理数据录入查询报表维护档案录入成绩录入选课②用户定义的函数:根据需要编写的程序段。注:C程序总是从main函数开始执行,在main函数中结束整个程序的运行。例:main(){printstar();print_mess();printstar();}printstar(){printf(“*********”);}print_mess

2、(){printf(“Howdoyoudo!”);}6.1函数定义6.1.1引例——多边形面积计算【例6.1】已知多边形的各条边和对角线的长度,计算多边形的面积。(1)分析任意一个多边形可沿对角线分成若干个三角形,如图6-1所示,只要三角形面积可求,多边形的面积就迎刃而解。而如图6-2所示的任意一个三角形,已知三条边长x,y,z,它的面积可以用下面公式求得,其中c为三角形周长的一半。s3s2s1(2)程序代码#include#includefloatarea(floatx,floaty,floatz){floatc,s;c

3、=(x+y+z)/2;s=sqrt(c*(c-x)*(c-y)*(c-z));returns;}voidmain(){floata,b,c,d,e,f,g,s1,s2,s3;printf("请输入多边形5条边长:");//输入的边长和对角线长必须能构成5边形scanf("%f%f%f%f%f",&a,&b,&d,&f,&g);printf("请输入多边形2条对角线长:");scanf("%f%f",&c,&e);s1=area(a,b,c);//调用计算a、b、c三边构成三角形的面积s2=area(c,d,e);s3=area(e,f,g);printf(

4、"多边形面积为:%f",s1+s2+s3);}6.1.2函数定义(1)无参函数:函数类型函数名(){函数体语句块[return返回值;]}(2)有参函数:函数类型函数名(形式参数表列){函数体语句块[return返回值;]}函数类型:指定函数值的类型,若是void表示函数没有返回值。函数名:应该取有助记忆的名字。形式参数:传递数据之用(接收数据)。例:intmax(intx,inty){intz;z=x>y?x:y;return(z);}函数体语句块:是实现函数功能的代码。return语句:结束函数代码的执行并返回,同时将值带给主调函数。【例6.2】编一函

5、数求两个数的最大值。#includefloatmax(floata,floatb){if(a>b)returna;//返回变量a的值elsereturnb;//返回变量b的值}voidmain(){floata,b,c;printf("请输入两个数:");scanf("%f%f",&a,&b);c=max(a,b);//调用函数max并将返回值赋给变量cprintf("最大值为:%f",c);}运行结果如图所示。6.2函数调用6.2.1函数调用函数的调用方式:(三种)①语句:main(){printstar();….}voidprin

6、tstar(){printf(“*********”);}②表达式:main(){inta,b,c;c=max(a,b);…..}intmax(intx,inty){…...}③函数参数:例:m=max(a,max(b,c));调用过程:voiddisplay(){…………}intmax(intx,inty){…………}voidmain(){……c=max(a,b);…………display();……}调用过程:在C语言中函数调用的整个过程就是栈空间操作的过程。函数调用时的工作:①给函数的形式参数和内部变量分配存储空间。②保护调用函数的运行状态和返回地址

7、。③传递参数。④将控制转交被调函数。⑤函数调用结束,分配的存储空间被收回例:main()f2(ints){intc,b,a=6;b=12;{intx;c=max(a,b);}…..intmax(intx,inty)}{intz;…..;f2(n);}6.2.2函数声明①被调用函数必须已经存在(库函数、用户定义)②是库函数,必须在源程序开始用#include命令包含有关信息。例:#include“math.h”③用户定义的函数:ⅰ.定义在主调函数之前,不必加以说明。ⅱ.在主调函数中,对被调用函数加以说明(函数声明)。如下面这段程序:#include

8、o.h>voidfun(intx,inty);//函数声明void

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

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

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