资源描述
单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,单击此处编辑母版标题样式,Neusoft Institute of Information,Date:,*,IT Education&Training,IT Education&Training,Neusoft Institute of Information,Date:,29 April 2026,第五章,函 数,办公室:,C7,座,201,办公室电话:,EMAIL,:,wangh-wh,课件下载网址:,ftp:/,#include,void main(),/,主函数,int,iNo,b,;,printf,(,“input a number:n”,),;/,输出函数,scanf,(,“,%d”,&iNo,),;/,输入函数,b=,sqrt,(,iNo,),;/,求平方根函数,printf,(“,%d”,b,),;/,输出函数,初识函数,1,/*,从键盘输入,3,个数,求和并输出。*,/,#include,#include,int,myAdd,(,int,x,int,y,int,z),int,s;,s=x+y+z,;return s;,void main(),/,主函数,int,iNo1,iNo2,iNo3,sum;,printf,(,input 3 numbers:n,),;,/,输出函数,scanf(,%d%d%d,&iNo1,&iNo2,&iNo3,),;,/,输入函数,sum=,myAdd(,iNo1,iNo2,iNo3,),;,/,用户自定义函数,printf,(,“,sum=%d”,sum,),;,/,输出函数,初识函数,2,函数:,函数,就是一段实现一定功能的代码,就像一台具有某种功能机器。因此函数的调用就类似启动一台机器来完成某个任务。,C,语言中,函数是实现模块化的工具。,什么是函数?,函数的定义,函数定义的通用形式为:,返回值类型 函数名,(,参数数据类型 参数,1,参数数据类型 参数,2,),函数首部,函数体,函数定义示例,(1),无参数无返回值的函数,如:定义,printStar,函数,用以在屏幕上输出,5,个,*,符号。,void,printStar,(),int,star;,for(star=1;star=5;star+),printf,(,*,);,printf,(,n),;,函数无返回值时使用的数据类型,函数的调用,无参无返回值函数的调用形式:,函数名,();,无参数无返回值的函数的调用,#include,void,printStar,();,void main(),printStar,();/,函数调用,void,printStar,(),/,函数定义,int,star;,for(star=1;star=5;star+),printf,(*);,printf,(n);,自定义函数的声明,在程序的开头加上对应函数的声明,函数声明的形式:,返回值类型 函数名称,(,参数类型 参数,1,);,其中前面的与函数定义时的首部完全一样,但末尾必须加“,;,”,。,如对,printStar,函数的声明为:,void,printStar,();,无参数无返回值的函数的示例,#include,void,printStar,();/,函数声明,void main(),printStar,();,/,函数调用,void,printStar,(),/,函数定义,int,star;,for(star=1;star=5;star+),printf,(*);,printf,(n);,授课要点,函数的定义、声明、调用,无参无返回值的函数,无参有返回值的函数,问题,:,过年回家,车票难买,到处托人。假如你先把车票钱给帮你买车票的朋友,那么返回给你的应该是一张车票(当然要顺利的话)。,同理,在,C,语言中,函数的调用有时候也是有返回值的,那么如何理解,?,分析,对应到函数上,你的朋友就是函数,车票就是函数的返回值,而你就是调用函数的主程序。,函数的返回值,函数的返回值,返回语句,形式:,return(,表达式);,或,return,表达式;,或,return;,功能:使程序控制从被调用函数返回到调用函数中,同时把返值带给调用函数,函数定义示例,(2),无参数有返回值的函数,如定义函数,sum_100,,用以求,1+2+3+100,的和,并将结果返回给调用它的函数。,int,sum_100(),int,s=0,i;,for(i=1;i=100;i+),s=s+i,;,return s,;,/,用,return,返回一个值给主调函数,无参数有返回值的函数示例,#include,int,sum_100();,/,函数声明,void main(),int,s1,;,s1,=,sum_100();,/,函数调用,printf,(,和值为:,%dn,s1);,int,sum_100(),/,函数定义,(,首部,),int,s=0,i;,for(i=1;i=100;i+),s=s+i,;,return s;,/,返回值给主调函数,模仿练习,无参无返回值函数编写:,1,、自定义函数,myPrint1(),,在屏幕上输出如下图形,(,每行,10,个,$,符号,),,并在主函数中调用,myPrint1(),函数。,$,$,$,模仿练习,无参无返回值函数编写:,2,、自定义函数,myPrint2(),,在屏幕上输出如下图形,并在主函数中调用,myPrint2(),函数。,模仿练习,无参有返回值函数编写:,3,、自定义函数,myFac,(),,计算,10!,,将计算结果返回给调用者。然后在主函数中调用,myFac,(),函数,输出该结果。,4,、自定义函数,myMax,(),,实现功能:从键盘输入,3,个数,求最大数并将最大数返回给调用者。然后在主函数中调用,myMax,(),函数,输出该结果。,小组讨论并总结,1,、为什么使用函数?,2,、如何理解函数调用与函数定义的不同?,3,、空函数在程序结构设计中有什么作用?,学以致用,寻找你身边的一个实际问题,编写解决问题的程序,用到函数定义和调用。,例、电视是我们日常生活中所熟悉的,我们通过遥控器选择不同的频道,就可以播放相应的频道。请定义一个函数,tvPlay,(,int,channel),,模拟根据遥控器的输入的频道号码,播放相应的频道。然后给出调用的例子,比如,遥控器上选择,5,,则播放,CCTV-5,体育频道。,作业,每人必做,1,、编写一个函数,sum(n),,计算,1+2+n,之和,根据,n,值的不同,得到不同的值。要求分别计算,n,50,,,n,80,,,n,100,的情况。,2,、将自己的“学生成绩管理系统”(循环菜单)以模块化的形式进行处理,具体实施方案:主菜单的显示和选择部分可定义函数,menu_select,()来调用,“编辑子菜单”可定义,editmenu,()来调用,“查找”可定义,serachmenu,()来调用。,作业,选做,寻找你身边的一个实际问题,构造出解决问题的表达式,描述解决问题的算法,以及编写解决问题的程序。例如,,MP3,可以播放不同的歌曲,请编写一个,MP3,模拟函数,根据输入不同的歌曲代号,可以显示相应的歌曲名。然后,调用该函数,。,Neusoft Institute of Information,办公室:,C7,座,201,办公室电话:,EMAIL,:,课件下载网址:,ftp:/,
展开阅读全文