C程序设计简明教程教学课件王晓东第7章 函数与编译预处理.ppt

C程序设计简明教程教学课件王晓东第7章 函数与编译预处理.ppt

ID:50350851

大小:644.00 KB

页数:95页

时间:2020-03-08

C程序设计简明教程教学课件王晓东第7章 函数与编译预处理.ppt_第1页
C程序设计简明教程教学课件王晓东第7章 函数与编译预处理.ppt_第2页
C程序设计简明教程教学课件王晓东第7章 函数与编译预处理.ppt_第3页
C程序设计简明教程教学课件王晓东第7章 函数与编译预处理.ppt_第4页
C程序设计简明教程教学课件王晓东第7章 函数与编译预处理.ppt_第5页
资源描述:

《C程序设计简明教程教学课件王晓东第7章 函数与编译预处理.ppt》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、第7章函数与编译预处理7.1.模块化程序设计与函数7.2.函数的定义与调用7.3.函数的递归调用7.4.变量的作用域与存储方式7.5.编译预处理7.6.函数设计举例17.1模块化程序设计与函数7.1.1模块与函数1.功能模块求解较小问题的算法和程序称作“功能模块”,各功能模块可以先单独设计,然后将求解所有子问题的模块组合成求解原问题的程序。“自顶向下”的模块化程序设计方法:将一个大问题分解成多个解决小问题的模块的设计思想。22.由功能模块组成程序的结构图:主控模块模块1_1模块1_n模块2_1模块2_n模块n_1模块n_n模块1模块2模块

2、n3.功能模块可以用C语言的函数来实现4.函数:完成相对独立功能的程序3【例7-1】求:可定义两个函数:主函数用于求n项之和被调函数用于求n!#includemain(){inti;doubles;doublejs(intn);for(i=1;i<=20;i++)s+=js(i);printf(“%lf”,s);}doublejs(intn){inti;doubles=1;for(i=1;i<=n;i++)s*=i;returns;}4【例7-2】输入年月日,计算出该日为该年的第几天。主控模块判断闰年求某月的天数输出

3、输入求总天数图6-2程序结构图5程序实现:(1)判断闰年。intleap(intyear){intlp;lp=(year%4==0&&year%100!=0

4、

5、year%400==0)?1:0;returnlp;}6(2)求某月的天数。intmonth_days(intyear,intmonth){intds,d;switch(month){case1:case3:case5:case7:case8:case10:case12:d=31;break;case2:d=leap(year)?29:28;break;default:d=30;}

6、returnd;}7(3)求天数和:intdays(intyear,intmonth,intday){inti,ds=0;for(i=1;i

7、y);printf("%d-%d-%dis%dthdayoftheyear!",year,month,day,t_day);}注意:在完整的程序中,前三个函数应放在main()函数之前。97.1.2模块设计三个原则模块独立。每个模块完成一个功能独立的子功能模块之间的关系力求简单使用独立变量模块规模适当分解模块要注意层次对问题抽象化设计时细化10C是模块化程序设计语言C是函数式语言必须有且只能有一个名为main的主函数C程序的执行总是从main函数开始,在main中结束函数不能嵌套定义,但可以嵌套调用C程序结构源程序文件1预编译命令说明

8、部分执行部分函数1函数n源程序文件i源程序文件nC程序117.2函数的定义与调用7.2.1标准库函数定义在不同的头文件中用户使用时,必须用#include“头文件”把相应的头文件包含到程序中来。#include/*包含math.h头文件*/#include/*包含stdio.h头文件*/main(){doublea,b;scanf(“%f“,&a);/*调用输入函数,输入变量a的值*/b=sin(a);/*调用sin函数,求sin(a)的值*/printf(“%6.4f”,b);}/*调用输出函数,输出变

9、量b的值*/使用库函数应注意:1、函数功能2、函数参数的数目和顺序,及各参数意义和类型3、函数返回值意义和类型4、需要使用的包含文件127.2.2用户自定义函数函数类型无参函数函数的定义无参数说明有参函数定义的参数有一个或一个以上的参数空函数当定义的函数既无参数也无执行语句。空函数被调用时,什么也不做立即返回其调用函数。例无参函数printstar(){printf(“**********”);}或printstar(void){printf(“**********”);}例空函数dummy(){}函数体为空132.函数定义方式1

10、函数返回值类型名函数名(参数列表)参数类型说明{局部变量说明;语句序列;}方式2函数返回值类型名函数名(参数类型说明及参数列表){局部变量说明;语句序列;}如:intmax(a,b)inta,

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

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

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