变量作为函数的参数进行传递.ppt

上传人:sh****n 文档编号:11649244 上传时间:2020-04-30 格式:PPT 页数:18 大小:485.81KB
返回 下载 相关 举报
变量作为函数的参数进行传递.ppt_第1页
第1页 / 共18页
变量作为函数的参数进行传递.ppt_第2页
第2页 / 共18页
变量作为函数的参数进行传递.ppt_第3页
第3页 / 共18页
点击查看更多>>
资源描述
单元二变量作为函数的参数进行传递1、普通变量作为函数的参数进行传递,1.1函数参数及其传递方式形参与实参形式参数:定义函数时函数名后面括号中的变量名实际参数:调用函数时函数名后面括号中的表达式,例比较两个数并输出大者,main()inta,b,c;scanf(%d,%d,1、main()2、inta,b;3、intc;4、a=3;b=23;5、c=sum(a,b);6、printf(“sumis%dn,c);7、,intsum(intx,inty)intz;z=x+y;return(z);,x=a,3,23,y=b,等价于z=3+23;,等价于sum=z;,intsum(intx,inty)intz;z=x+y;return(z);main()inta,b;intc;a=3;b=23;c=sum(a,b);printf(“sumis%dn,c);,1.2函数参数及其传递方式形参与实参,1、实参必须有确定的值,说明:,main()inta,b,c;scanf(%d,%d,sum(intx,inty)intz;z=x+y;return(z);,main()inta,b,c;a=23;b=24;c=sum(a,b);printf(“sumis%d,c);,2、形参必须指定类型,intsum(intx,inty)intz;z=x+y;return(z);,intx,inty,3、形参与实参类型一致,个数相同,sum(intx,inty,floatz)intd;d=x+y+z;return(d);main()inta,b,c;a=23;b=34;c=sum(a,b);printf(“sumis%d,c);,sum(intx,inty,floatz)intd;d=x+y+z;return(d);main()inta=23,b=34,c,f;c=sum(a,b,f);printf(“sumis%d,c);,4、形参在函数被调用前不占存储空间;函数调用时为形参分配存储空间;调用结束,空间释放。,main()inta,b,c;a=23;b=34;sum(a,b);printf(“sumis%d,c);sum(intx,inty)intz;z=x+y;return(z);,a,b,c,23,34,x,y,z,c=,23,34,57,回收空间,回收空间,回收空间,回收空间,回收空间,回收空间,main()inta,b,c;a=23;b=34;c=sum(a,b);printf(“sumis%d,c);sum(intx,inty)intz;z=x+y;return(z);,57,5、如果实参是变量,则实参和形参的名字可以相同也可以不同,互不影响,因为它们存储数据的空间不同。,main()inta,b,c;a=23;b=34;sum(a,b);printf(“sumis%d,c);sum(inta,intb)intz;z=a+b;return(z);,a,b,c,23,34,a,b,z,c=,23,34,57,回收空间,回收空间,回收空间,回收空间,回收空间,回收空间,main()inta,b,c;a=23;b=34;c=sum(a,b);printf(“sumis%d,c);sum(inta,intb)intz;z=a+b;return(z);,57,例1计算x的立方,#includefloatc(floatx)return(x*x*x);main()floata,p;printf(Pleaseinputvalueofa:);scanf(%f,x,a,p,1.2,1.2,1.728,内存的变化情况,1.3参数传递方式值传递方式方式:函数调用时,为形参分配单元,并将实参的值复制到形参中;调用结束,形参单元被释放,实参单元仍保留并维持原值特点:形参与实参占用不同的内存单元单向传递实参可以是常量、变量或表达式,但必须有确定的值。,例2交换两个数,#includemain()intx=7,y=11;swap(x,y);printf(%d,%dn,a,b);voidswap(inta,intb)inttemp;temp=a;a=b;b=temp;printf(“a=%d,b=%d”,a,b),1、用函数实现如下题目:相传古代印度国王舍罕要褒奖他的聪明能干的宰相达依尔(国际象棋发明者),问他需要什么,达依尔回答说:“国王只要在国际象棋的棋盘上第一个格子放一粒麦子,第二格子放上两粒,第三个格子放上四粒,依次类推,每一格子的麦子数是前一格子的两倍,一直放到64格,我就感恩不尽了”。国王答应了,结果全印度的粮食用完还不够。国王很那纳闷,怎末也算不清这笔账。(1m2大约为1.42108粒小麦)其中将2n的求解采用函数模块编写。,函数定义、声明、调用实训练习,2、3个同学进行踢毽子比赛,编写函数,求出踢的个数最多和最少的差。提示:编写两个函数,分别用于求3个数的最大值和最小值。然后再编写一个函数,调用最大值和最小值函数求差,将求差的结果返回。3、编写函数:求2个数的加、减、乘、除以及余数。,4、利用函数实现如下程序:输出n!的低2位的值,例如:5!=120输出205、利用函数实现如下题目:计算50以内所有能被3整出的数的倒数之积。6、利用函数实现如下题目:计算s=12!+22!+32!+n2!,练习,7、利用函数求和,练习,8、利用函数编写程序求出斐波那契数列的第n项斐波那契数列可以用递推公式来表示:F1=1F2=1Fn=Fn-1+Fn-2,练习,9、编写函数解决下列问题:一球从100米高度自由落下,每次落地后反跳回原高度的一半,再落下。求它在第十次落地时共经过多少米?第十次反弹多少米?10、求3-100之间的所有素数。用函数判断某个数是否是素数,函数的返回值是1表示该数是素数,函数的返回值为0,则表示该数不是素数。,
展开阅读全文
相关资源
相关搜索

当前位置:首页 > 图纸专区 > 课件教案


copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!