欢迎来到天天文库
浏览记录
ID:43738371
大小:395.50 KB
页数:27页
时间:2019-10-13
《第20次(函数基础)》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、ITEducation&TrainingNeusoftInstituteofInformationDate:26七月2021办公室:C7EMAIL:huang.w@neusoft.com课件下载网址:ftp://computer.dept.ccniit.com任课教师:黄伟第五章函数授课要点什么是结构化程序设计函数的定义、声明、调用无参无返回值的函数无参有返回值的函数什么是结构化程序设计?自上而下逐步细化的模块化程序设计方法结构化程序设计的好处是什么?复杂问题简单化便于多人协作完成一个大的任务提高程
2、序可维护性、可读性模块复用C语言中如何实现结构化程序设计?模块化在C语言中用函数实现结构化程序设计#include#includemain()//主函数{intiNo,b;printf(“inputanumber:”);//输出函数scanf(“%d”,&iNo);//输入函数b=sqrt(iNo);//求平方根函数printf(“%d”,b);//输出函数}初识函数1/*从键盘输入3个数,求和并输出。*/#include#include3、io.h>intmyAdd(intx,inty,intz){ints;s=x+y+z;returns;}main()//主函数{intiNo1,iNo2,iNo3,sum;printf("input3numbers:");//输出函数scanf("%d%d%d",&iNo1,&iNo2,&iNo3);//输入函数sum=myAdd(iNo1,iNo2,iNo3);//用户自定义函数printf("sum=%d",sum);//输出函数}初识函数2函数:一段函数就是一段实现一定功能的代码,就像一台4、具有某种功能机器。因此函数的调用就类似启动一台机器来完成某个任务。C语言中,函数是实现模块化的工具。什么是函数?用函数解决问题输入若干个学生的学号、某门课程的平时成绩和期末成绩,计算出总评成绩。其中,总评成绩=50%*平时成绩+50%*期末成绩最后,从键盘输入一个学生的学号,查询该生的平时成绩、期末成绩和总评成绩。用函数解决的思路定义若干具有不同功能的函数,在main函数中分别调用它们,用以解决这个问题。如:main(){//定义必要的变量inputScore();//输入学生学号及成绩信息comp5、uteTotalScore();//计算每个学生的总成绩searchByNo();//按学号查找某个学生的信息printSearchInfo();//输出查找到的学生信息}main函数只负责解决问题的流程;具体子问题的实现交给不同的函数去处理。函数的定义除了系统提供的函数外,我们都需要对函数进行定义。函数定义的通用形式为:返回值数据类型函数名称([参数数据类型参数1[,参数数据类型参数2,…]]){…}函数首部函数体函数定义示例(1)无参数无返回值的函数如:定义printStar函数,用以在屏幕上输6、出5个*符号。voidprintStar(){intstar;for(star=1;star<=5;star++)printf("*");printf("");}函数无返回值时使用的数据类型函数的调用无参的调用形式:函数名();无参数无返回值的函数的调用#includevoidmain(){printStar();//函数调用}voidprintStar(){intstar;for(star=1;star<=5;star++)printf("*");printf("");}7、自定义函数的声明在程序的开头加上对应函数的声明,就不会出现函数未定义(或重复定义)的错误。函数声明的形式:返回值类型函数名称([参数类型参数1,…]);其中前面的与函数定义时的首部完全一样,但末尾必须加“;”。如对printStar函数的声明为:voidprintStar();无参数无返回值的函数的声明#includevoidprintStar();//函数声明main(){printStar();//函数调用}voidprintStar()//函数定义(首部){intstar;f8、or(star=1;star<=5;star++)printf("*");printf("");}问题:过年回家,车票难买,到处托人。假如你先把车票钱给帮你买车票的朋友,那么返回给你的应该是一张车票(当然要顺利的话)。同理,在C语言中,函数的调用有时候也是有返回值的,那么如何理解?分析对应到函数上,你的朋友就是函数,车票钱是函数输入,车票就是函数的返回值,而你就是调用函数的主程序。函数的返回值函数的返回值返回语句形式:return(表达式);或return表达式;
3、io.h>intmyAdd(intx,inty,intz){ints;s=x+y+z;returns;}main()//主函数{intiNo1,iNo2,iNo3,sum;printf("input3numbers:");//输出函数scanf("%d%d%d",&iNo1,&iNo2,&iNo3);//输入函数sum=myAdd(iNo1,iNo2,iNo3);//用户自定义函数printf("sum=%d",sum);//输出函数}初识函数2函数:一段函数就是一段实现一定功能的代码,就像一台
4、具有某种功能机器。因此函数的调用就类似启动一台机器来完成某个任务。C语言中,函数是实现模块化的工具。什么是函数?用函数解决问题输入若干个学生的学号、某门课程的平时成绩和期末成绩,计算出总评成绩。其中,总评成绩=50%*平时成绩+50%*期末成绩最后,从键盘输入一个学生的学号,查询该生的平时成绩、期末成绩和总评成绩。用函数解决的思路定义若干具有不同功能的函数,在main函数中分别调用它们,用以解决这个问题。如:main(){//定义必要的变量inputScore();//输入学生学号及成绩信息comp
5、uteTotalScore();//计算每个学生的总成绩searchByNo();//按学号查找某个学生的信息printSearchInfo();//输出查找到的学生信息}main函数只负责解决问题的流程;具体子问题的实现交给不同的函数去处理。函数的定义除了系统提供的函数外,我们都需要对函数进行定义。函数定义的通用形式为:返回值数据类型函数名称([参数数据类型参数1[,参数数据类型参数2,…]]){…}函数首部函数体函数定义示例(1)无参数无返回值的函数如:定义printStar函数,用以在屏幕上输
6、出5个*符号。voidprintStar(){intstar;for(star=1;star<=5;star++)printf("*");printf("");}函数无返回值时使用的数据类型函数的调用无参的调用形式:函数名();无参数无返回值的函数的调用#includevoidmain(){printStar();//函数调用}voidprintStar(){intstar;for(star=1;star<=5;star++)printf("*");printf("");}
7、自定义函数的声明在程序的开头加上对应函数的声明,就不会出现函数未定义(或重复定义)的错误。函数声明的形式:返回值类型函数名称([参数类型参数1,…]);其中前面的与函数定义时的首部完全一样,但末尾必须加“;”。如对printStar函数的声明为:voidprintStar();无参数无返回值的函数的声明#includevoidprintStar();//函数声明main(){printStar();//函数调用}voidprintStar()//函数定义(首部){intstar;f
8、or(star=1;star<=5;star++)printf("*");printf("");}问题:过年回家,车票难买,到处托人。假如你先把车票钱给帮你买车票的朋友,那么返回给你的应该是一张车票(当然要顺利的话)。同理,在C语言中,函数的调用有时候也是有返回值的,那么如何理解?分析对应到函数上,你的朋友就是函数,车票钱是函数输入,车票就是函数的返回值,而你就是调用函数的主程序。函数的返回值函数的返回值返回语句形式:return(表达式);或return表达式;
此文档下载收益归作者所有