第5章函数(c语言基础)

第5章函数(c语言基础)

ID:24787390

大小:604.50 KB

页数:78页

时间:2018-11-14

第5章函数(c语言基础)_第1页
第5章函数(c语言基础)_第2页
第5章函数(c语言基础)_第3页
第5章函数(c语言基础)_第4页
第5章函数(c语言基础)_第5页
资源描述:

《第5章函数(c语言基础)》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、第5章函数§5.1函数的基本概念1)除main外,其它为系统函数、自编函数,系统函数:由系统提供,放在不同的头文 件中,用户可调用。自编函数:由用户按语法规则编写。C程序由一个main和任意个函数组成。2)除main函数外,其它函数可相互调用main()abcdxz3)函数不可嵌套定义,但可以嵌套调用。4)函数分为有参与无参函数5)程序从main开始执行,最后又回到main函数结束。例5.1intmax(inta,intb){if(a>b)returna;elsereturnb;}voidmain(){int

2、max(inta,intb);intx,y,z;printf("inputtwonumbers:");scanf("%d%d",&x,&y);z=max(x,y);printf("maxmum=%d",z);}§5.2函数的定义[返回类型符]函数名(){说明部分语句}1.无参函数定义形式注意:返回类型符表示函数的返回值类型。例:voidHello(){printf("Hello,world");}这里,Hello为函数名,Hello函数是一个无参函数,当被其它函数调用时,输出Helloworld字符串

3、。类型标识符函数名(形参表列)形参说明{说明部分语句}2.有参函数定义形式例:求二数之最大值intmax(x,y)intx,y;{intz;z=x>y?x:y;return(z);}用return,语句,返回函数的值。或:intmax(intx,inty){intz;z=x>y?x:y;return(z);}§5.3函数的调用5.3.1形式参数和实际参数函数的参数分为形参和实参两种。形参出现在函数定义中,在整个函数体内都可以使用,离开该函数则不能使用。实参出现在主调函数中,发生函数调用时,主调函数把实参的值传

4、送给被调函数的形参从而实现主调函数向被调函数的数据传送。形参与实参调用时:实参值单向传递形参。函数被调用时,临时分配单元给形参,调用完毕,这些单元被释放。注:实参可为表达式,只传递表达式的值。实参:出现在调用函数中,形参:出现被调用函数中。实参、形参类型一致。可在形参表列中对形参说明。例5.3:voidmain(){intk,n;printf("inputnumber");scanf("%d",&n);k=s(n);printf("n=%d,k=%d",n,k);}ints(intm){m=m+1

5、returnm;}本程序运行时,输入5,运行结果为:n=5,k=6在执行函数过程中,形参m的值变为6。返回主函数之后,输出实参n的值仍为5。可见实参的值不随形参的变化而变化。思考:程序做如下改动,会出现什么问题?如果将程序第7行改为printf("n=%d,k=%d,m=%d",n,k,m);如果将程序第6行改为k=s(n,n);如果删除程序中的scanf("%d",&n);例5.4:请分析程序的运行结果。#include"stdio.h"voidmain(){inta=3,b=5;swap(a,b);prin

6、tf("a=%d,b=%d",a,b);}swap(intx,inty){inttemp;temp=x;x=y;y=temp;printf("x=%d,y=%d",x,y);}5.3.2函数的调用C语言中,函数调用的一般形式为:函数名(【实际参数表】)对无参函数调用时则无实际参数表。实际参数表中的参数可以是常数,变量或其它构造类型数据及表达式。各实参之间用逗号分隔。函数调用的方式一般有两种:函数表达式:函数作为表达式中的一项出现在表达式中,以函数返回值参与表达式的运算。这种方式要求函数是有返回值的。函数

7、语句:函数调用的一般形式加上分号即构成函数语句例5.5求二实数之和#include floatadd(floatx,floaty)/*函数定义*/ {floatz; z=x+y; returnz; } main() {floata,b,c;scanf(“%f,%f”,&a,&b); c=add(a,b);/*函数调用*/printf("sum=%f";c);}其中c=add(a,b)是一个赋值表达式,把add的返回值赋予变量c。例5.6#include"stdio.h"voidprintsta

8、r(){printf("***************");}voidprint_message(){printf("Howdoyoudo!");}voidmain(){printstar();print_message();printstar();}程序运行结果为:***************Howdoyoudo!***************函数printstar和p

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

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

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