欢迎来到天天文库
浏览记录
ID:57057156
大小:2.28 MB
页数:19页
时间:2020-07-30
《C语言程序设计第7章课件.ppt》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、C语言程序设计实例教程7.2函数的调用C语言程序设计实例教程第7章函数函数的几种调用方式函数说明的方法函数的几种参数情况本节要点实例25函数的调用——求两个整数之和【实例任务】从键盘上任意输入两个整数,求其和,运行结果如图7-4所示。图7-4程序运行结果实例25函数的调用——求两个整数之和【程序代码】#include"stdio.h"#include"stdlib.h"voidstart_information()/*自定义函数,不返回值,输出提示信息*/{printf("程序开始!");}intsum(intx1,intx2)/*定义函
2、数的返回值类型,函数名,形参*/{ints;s=x1+x2;/*计算x1和x2之和,放到s中*/return(s);/*return语句回运算结果*/}实例25函数的调用——求两个整数之和【程序代码】voidend_information(){printf("程序结束!");}main(){intx,y,z,s;start_information();/*调用不返回值的函数,输出一行提示信息*/printf("请输入x和y的值:");scanf("%d%d",&x,&y);s=sum(x,y);/*调用函数,返回值赋给s变量*/print
3、f("二者的和值为:%d",s);end_information();/*调用函数,输出一行提示信息*/getch();}实例25函数的调用——求两个整数之和【相关知识】1.函数调用前提在C程序中,一个函数可以被调用,但要求这个函数已存在,或者函数是系统函数,或者函数是用户已定义完成的函数。对于库函数,只要在调用函数所在文件用include命令包含相应的头文件即可;而对于用户定义的函数,调用时函数已经被定义。如果未定义,需在调用前添加函数说明。实例25函数的调用——求两个整数之和【相关知识】1.函数调用前提在C程序中,一个函数可以被调用,
4、但要求这个函数已存在,或者函数是系统函数,或者函数是用户已定义完成的函数。对于库函数,只要在调用函数所在文件用include命令包含相应的头文件即可;而对于用户定义的函数,调用时函数已经被定义。如果未定义,需在调用前添加函数说明。2.函数的调用函数有两种情况,一种是有返回值的函数,一种是只完成一定的操作,不返回值。对于返回值,函数的调用形式是:变量=函数名([实参列表]);对于不返回值的函数,调用形式是:函数名([实参列表]);实例25函数的调用——求两个整数之和【相关知识】调用函数时,还有几点需要说明:(1)调用函数时的参数称为实际参数,
5、简称实参。实参可以是变量、常量或表达式,是有确定值的参数。在本程序中,主函数中“p=product(a,b);”语句中,a和b都是实参。(2)函数的形参与实参要求个数相等,并且对应的形参和实参的类型相同。若被调函数是无参函数,则实参表列为空。在本程序中,定义“intproduct(intx,inty)”中,x和y是形式参数,且均为整型数据;而在主函数调用表达式“p=product(a,b)”中,a和b都是实参,且均为整型数据。(3)数据传递是通过形参接收实参的数值完成的。函数调用时,形参被分配内存单元,并接收对应实参传来的值。在本例题中,
6、数据传递是实参值传递给形参值,a值传递给x值,b值传递给y值。(4)调用函数时,当实参个数多于一个时,用逗号让各参数彼此分隔开。实例25函数的调用——求两个整数之和【相关知识】3.函数说明C语言中,函数和变量一样,都要先定义后引用。如果在函数调用前没有定义函数,则需在调用函数前进行函数说明。函数说明的形式为:类型名函数名(参数类型1[参数名1],…,参数类型n[参数名n])实例中,end_information()函数,属先引用后定义,须添加函数说明。在函数说明中,函数的类型名要与函数返回值的类型一致。如果没有函数说明,则隐含此函数返回值为i
7、nt类型。实例26函数的参数形式——求1!+2!+3!+…+n!的值【实例任务】从键盘上输入n的值,然后求1!+2!+3!+…+n!的值。程序的运行结果如图7-5所示。图7-5程序运行结果实例26函数的参数形式——求1!+2!+3!+…+n!的值【程序代码】#include"stdio.h"#include"stdlib.h"longf(intn)/*f函数的功能用来实现n!*/{inti;longs;s=1;for(i=1;i<=n;i++)s=s*i;returns;}实例26函数的参数形式——求1!+2!+3!+…+n!的值【程序代码】
8、main(){longs;intk,n;printf("请输入n的值为:");scanf("%d",&n);s=0;for(k=0;k<=n;k++)s=s+f(k
此文档下载收益归作者所有