浙江大学计算机学院:《C语言程序设计》 第六章 函数的基本使用

第六章函数 ■函数的基本使用 ■函数的嵌套调用 函数的递归调用 ■变量存储特征 宏
第 六 章 函 数 n 函数的基本使用 n 函数的嵌套调用 n 函数的递归调用 n 变量存储特征 n 宏

函数的概念 n!+m! for(=1;i<=n;i++) f=f*i scanf( %d%d%d,&m,&n,&k) fk= 1 for(=1;i=k;计++) fK=代k* for(=1;i<=m;++) 反复使用的代码段 fn= for(=1;i=n;i++) printf(%fn", fm/(fn+k))
函数的概念 k! n!+m! f=1; for(i=1; i<=n; i++) f=f*i; scanf("%d%d%d" , &m, &n, &k); fk=1; for(i=1; i<=k; i++) fk = fk*i; fm=1; for(i=1; i<=m; i++) fm = fm*i; fn=1; for(i=1; i<=n; i++) fn = fn*i; printf("%f\n" , fm/(fn+fk)); 反复使用的代码段

include include void maino void maino int k. mn int k. m n float fk fm fn float fk. fm. fn float fact(int n scanf("%d%d%d,&m,&n, &k) scanf("%d%d%d",&m, &n, &k) fke fm=fact(m) for(i=1; k<=k; i++) fn= fact(n) fk= fk fk= fact(k) fm=1: printf(%f\", fm/(fn+fk)) for(=1;i<=m;i+) fm fm*i float fact(int n fn=1 for(i=1; i<=n; i++) float f=1 fn= fn*i printf( %f\n", fm/(fn+fk)) for(i=1;i<≡n;i++) return f
# include void main() { int k, m, n; float fk, fm, fn; scanf("%d%d%d" , &m, &n, &k); fk=1; for(i=1; i void main() { int k, m, n; float fk, fm, fn; float fact(int n); scanf("%d%d%d" , &m, &n, &k); fm = fact(m); fn = fact(n); fk = fact(k); printf("%f\n" , fm/(fn+fk)); } float fact(int n) { int i; float f=1; for(i=1; i<=n; i++) f=f*i; return f; }

include void maino a∽ ink. m. n float fk, fm fn float fact(int n) scanf fact print scanf(%d%d%d",&m, &n,&k) fm =fact(m) 库函数自定义函数库函数 fn= fact(n 调用 fk= fact(k) printf( %f\n", fm/(fn+fk) ai主调函 float fact(int n) 定义 float f=1 for(=1;i≤≡n;i++) fact被调用函 f=fi 数 return f
# include void main() { int k, m, n; float fk, fm, fn; float fact(int n); scanf("%d%d%d" , &m, &n, &k); fm = fact(m); fn = fact(n); fk = fact(k); printf("%f\n" , fm/(fn+fk)); } float fact(int n) { int i; float f=1; for(i=1; i<=n; i++) f=f*i; return f; } main scanf print f fact 库函数 自定义函数 库函数 main 主调函 数 fact 被调用函 数 调用 定义

函数的概念 库函数 scant printf sqr(0 ■功能独立,反复使用的代码段 计算阶乘 factO ■模块化编程 学生成绩档案管理软件 成绩输入成绩修改成绩统计成绩打印
函数的概念 n 库函数 scanf() printf() sqrt() n 功能独立,反复使用的代码段 计算阶乘 fact() n 模块化编程 学生成绩档案管理软件 ┌─────┬─┴──┬────┐ 成绩输入 成绩修改 成绩统计 成绩打印

i include void maino Int in printf( 1 INPUT 2. EDIT 3 PROCESS 4. PRINT 5.EXITIn) while(1) printf("please input 1-5: scanf( %d", &in) if (in==5) break switch(int case 1: input(;break; case 2: edit(; break; case 3: process(); break; case 4: print(; break;
# include void main() { int in; printf("1. INPUT 2.EDIT 3. PROCESS 4.PRINT 5.EXIT\n"); while(1){ printf("please input 1-5:"); scanf("%d" ,&in); if (in==5) break; switch(in) { case 1: input( ); break; case 2: edit( ); break; case 3: process( ); break; case 4: print( ); break; } } }

void input()/成绩输入* void ed()∧*成绩修改* 4个函数的定义 void process()/*成绩统计 void print()/*成绩打印
void input( ) /* .成绩输入 */ { ............... } void edit( ) /* 成绩修改 */ { .............. } 4个函数的定义 void process( ) /* 成绩统计 */ { ............... } void print( ) /* 成绩打印 */ { ............... }

函数的定义和调用 void maino float fact(int n) i int i; int m, n float f=1 float fk. fm. fn float fact(int n) for(i=1; is=n; i++) f=代i fm=fact(6) return f 调用 定义
函数的定义和调用 void main() { int m, n; float fk, fm, fn; float fact(int n); fm = fact(6); …… } 调用 定义 float fact(int n) { int i; float f=1; for(i=1; i<=n; i++) f=f*i; return f; }

函数的定义和调用 void maino int m, n, float fk. fm. fn float fact(int n) fm=fact(6);调用 函数名(实际参数表) 参数传递 float fact(int n)定义 float f=1 返回值类型函数名(形式参数表) for(i=1; k<=n; i++) return f
函数的定义和调用 返回值类型 函数名(形式参数表) { …… } void main() { int m, n; float fk, fm, fn; float fact(int n); fm = fact(6); …… } float fact(int n) { int i; float f=1; for(i=1; i<=n; i++) f=f*i; return f; } 调用 定义 函数名(实际参数表) 参数传递

函数的参数 void maino 函数名(实际参数表) int m. n 返回值类型函数名(形式参数表) float fk. fm. fn float fact(int n) fm= fact(6) 1、函数的参数 float fact(int n m形式参数 类型1参数1,类型2参数2,…型n参数n float f=1 定义函数时需要知道的信息 for(=1;i形参
返回值类型 函数名(形式参数表) { …… } void main() { int m, n; float fk, fm, fn; float fact(int n); fm = fact(6); …… } float fact(int n) { int i; float f=1; for(i=1; i 形参 函数的参数 函数名(实际参数表)
按次数下载不扣除下载券;
注册用户24小时内重复下载只扣除一次;
顺序:VIP每日次数-->可用次数-->下载券;
- 浙江大学计算机学院:《C语言程序设计》 第五章 循环结构程序设计.ppt
- 浙江大学计算机学院:《C语言程序设计》 第四章 分支结构程序设计.ppt
- 浙江大学计算机学院:《C语言程序设计》 第三章 算法与c程序设计.ppt
- 浙江大学计算机学院:《C语言程序设计》 第二章 基本数据类型和表达式.ppt
- 浙江大学计算机学院:《C语言程序设计》 第十二章 文件.ppt
- 浙江大学计算机学院:《C语言程序设计》 第一章 用C语言编写程序.ppt
- 京语言文化大学:《C语言程序设计导论》 第四章 函数和程序结构.ppt
- 北京语言文化大学:《C语言程序设计导论》课程教学资源(PPT课件)第六章 数组.ppt
- 北京语言文化大学:《C语言程序设计导论》课程教学资源(PPT课件)第八章 结构及其它.ppt
- 北京语言文化大学:《C语言程序设计导论》课程教学资源(PPT课件)第五章 预处理命令.ppt
- 北京语言文化大学:《C语言程序设计导论》课程教学资源(PPT课件)第二章 数据类型、运算符与表达式.ppt
- 北京语言文化大学:《C语言程序设计导论》课程教学资源(PPT课件)第九章 文件.ppt
- 北京语言文化大学:《C语言程序设计导论》课程教学资源(PPT课件)第三章 语句及控制结构.ppt
- 北京语言文化大学:《C语言程序设计导论》课程教学资源(PPT课件)第七章 指针.ppt
- 北京语言文化大学:《C语言程序设计导论》课程教学资源(PPT课件)第一章 程序设计概述.ppt
- 北京语言文化大学:《C语言程序设计导论》课程教学资源(PPT课件)内容导航(崔雅娟).ppt
- 《实用网络技术》 第四章(4-4).ppt
- 《实用网络技术》 第四章(4-3) 地球同步卫星.ppt
- 《实用网络技术》 第四章(4-2) 同轴电缆.ppt
- 《实用网络技术》 第四章(4-1) 网络技术基础.ppt
- 浙江大学计算机学院:《C语言程序设计》 第七章 数口.ppt
- 浙江大学计算机学院:《C语言程序设计》 第八章 指针.ppt
- 浙江大学计算机学院:《C语言程序设计》 第九章 结构.ppt
- 浙江大学计算机学院:《C语言程序设计》 习题课(循环函数).ppt
- 浙江大学计算机学院:《C语言程序设计》 程序设计基础复习.ppt
- 《数据结构》课程教学资源:第一章 概论.ppt
- 《数据结构》课程教学资源:第二章 线性表及其顺序存储.ppt
- 《数据结构》课程教学资源:第三章 线性表的链式存储.ppt
- 《数据结构》课程教学资源:第四章 字符串、数组 和特殊矩阵.ppt
- 《数据结构》课程教学资源:第五章 递归.ppt
- 《数据结构》课程教学资源:第六章 树型结构.ppt
- 《数据结构》课程教学资源:第七章 二叉树.ppt
- 《数据结构》课程教学资源:第八章 图.ppt
- 《数据结构》课程教学资源:第九章 检索.ppt
- 《数据结构》课程教学资源:第十章 内排序.ppt
- 《数据结构》课程教学资源:第十一章 外排序.ppt
- 《数据结构》课程教学资源:第十二章 动态存储管理.ppt
- 《数据压缩技术概论》电子课件讲义.ppt
- 《CORBA技术》介绍电子课件讲解.ppt
- 《信息与网络安全》讲义 第四章 网络入侵与防范.doc