用函数实现模块化程序设计优秀课件

  • 格式:ppt
  • 大小:1.91 MB
  • 文档页数:100

下载文档原格式

  / 50
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
程序运行时输入:5,3
#include<math.h> #include<stdio.h> int main() {int m,n; double c; scanf("%d,%d",&m,&n); printf("%f\t",pow(m,n)); c=jiech(m)/(jiech(n)*jiech(m-n)); printf("%f",c); return 0;}
程序运行时输入:5,3
#include<math.h> #include<stdio.h> int main() {int m,n; double c; scanf("%d,%d",&m,&n); printf("%f",pow(m,n)); c=jiech(m)/(jiech(n)*jiech(m-n)); printf("%f",c); return 0;}
7.1为什么要用函数
➢原因有两个:
如果程序的功能比较多,规模比较庞大,把所有 不同功能的代码都写在main函数中,就会使主 函数变得庞杂、头绪不清,阅读和维护变得困难.
有时程序中要多次实现某一功能(例如打印每一 页的页头),就需要多次重复编写实现此功能的 程序代码,这使程序冗长,
7.1为什么要用函数
程序运行时输入:5,3
#include<math.h> #include<stdio.h> int main() {int m,n; double c; scanf("%d,%d",&m,&n); printf("%f",pow(m,n)); c=jiech(m)/(jiech(n)*jiech(m-n)); printf("%f",c); return 0;}
第一次函数调用结束后,将p的 值120带回做为jiech(m)的值. 供主调函数使用。
例7.1_1:设计一个求阶乘的函数。通过主函数对这个子函数的 多次调用来完成从m个数中取n个数的组合。
3
double jiech(int x)
{ int i; double p=1; for (i=1;i<=x;i++) p=p*i; return p;}
例7.1_1:设计一个求阶乘的函数。通过主函数对这个子函数的 多次调用来完成从m个数中取n个数的组合。
double jiech(int x)
{ int i; double p=1; for (i=1;i<=x;i++) p=p*i; return p;}
函数体(用于实现特定 功能的——在此程序中 是实现求阶乘功能的), 它包括声明部分和语句 部分
例7.1_1:设计一个求阶乘的函数。通过主函数对这个子函数的 多次调用来完成从m个数中取n个数的组合。
5
double jiech(int x)
{ int i; double p=1; for (i=1;i<=x;i++) p=p*i; return p;}
程序运行时输入:5,3
#include<math.h> #include<stdio.h> int main() {int m,n; double c; scanf("%d,%d",&m,&n); printf("%f",pow(m,n)); c=jiech(m)/(jiech(n)*jiech(m-n)); printf("%f",c); return 0;}
用函数实现模块化程序设计
通知
第14周周四(12月6号)上午08:00 ~09:30 自动化121-124班上机
第14周周四(12月6号)下午14:00 ~15:30 电气121-122班上机
实验八:字符数组程序设计(要求实验内容全做) 上传内容: 实验八的内容(二)、(三)、(四)、(五)、(六) 地点:五区515,516机房
第二次函数调用结束后,将p的 值6带回做为jiech(n)的值.供主 调函数使用。
例7.1_1:设计一个求阶乘的函数。通过主函数对这个子函数的 多次调用来完成从m个数中取n个数的组合。
2
double jiech(int x)
{ int i; double p=1; for (i=1;i<=x;i++) p=p*i; return p;}
第7章 用函数实现模块化程序设计
7.1为什么要用函数
7.2怎样定义函数
7.3 怎么调用函数
7.4对被调用函数的声明和函数原型
7.5函数的嵌套调用 7.6函数的递归调用
7.7数组作为函数参数 7.8局部变量和全局变量
7.9变量的存储方式和生存期
7.10 关于变量的声明和定义
7.11 内部函数和Fra Baidu bibliotek部函数
例7.1_1:设计一个求阶乘的函数。通过主函数对这个子函数的 多次调用来完成从m个数中取n个数的组合。
double jiech(int x)
{ int i; double p=1; for (i=1;i<=x;i++) p=p*i; return p;}
一个完整的函数。由 函数首部 函数体 组成的。
➢ 解决办法:采用“组装”的办法来简化程序设 计的过程。
1. 事先编好一批常用的实现各种不同功能的函数 2. 把它们保存在函数库中,需要时直接调用函数库中
对应的代码.执行这些代码,就得到预期的结果。
在设计一个较大的程序时,往往把它分为若干个程 序模块,每个模块包括一个或几个函数,每个函数实 现一个特定的功能。这就是模块化程序设计的思路。
例7.1_1:设计一个求阶乘的函数。通过主函数对这个子函数的 多次调用来完成从m个数中取n个数的组合。
double jiech(int x)
int i; double p=1; for (i=1;i<=x;i++) p=p*i;
这是函数的首部。其中 包括函数的类型、函数 的名称以及函数中所用 到的参数的类型及参数 的名称。P174
第三次函数调用结束后,将p的 值2带回做为jiech(m-n)的值. 供主调函数使用。
例7.1_1:设计一个求阶乘的函数。通过主函数对这个子函数的 多次调用来完成从m个数中取n个数的组合。
double jiech(int x)
{ int i; double p=1; for (i=1;i<=x;i++) p=p*i; return p;}