函数和模块设计ppt培训课件

上传人:aa****6 文档编号:57145011 上传时间:2018-10-19 格式:PPT 页数:98 大小:757.50KB
返回 下载 相关 举报
函数和模块设计ppt培训课件_第1页
第1页 / 共98页
函数和模块设计ppt培训课件_第2页
第2页 / 共98页
函数和模块设计ppt培训课件_第3页
第3页 / 共98页
函数和模块设计ppt培训课件_第4页
第4页 / 共98页
函数和模块设计ppt培训课件_第5页
第5页 / 共98页
点击查看更多>>
资源描述

《函数和模块设计ppt培训课件》由会员分享,可在线阅读,更多相关《函数和模块设计ppt培训课件(98页珍藏版)》请在金锄头文库上搜索。

1、第 6 章函 数 和 模 块 设 计,第 6 章 函数和模块设计,对大千世界的许多描述大都可以在计算机中运用程序设计中的函数问题来解决,C语言程序设计也不例外。一个功能较大的系统,它一定包含有若干个相对独立的子功能,通过子程序模块来描述这些子功能,再通过对这些子程序的组织和调用,来实现整个程序的功能要求。而这些功能比较独立的子程序模块则称之为函数 。本章用于揭开函数的真面目!,2018/10/19,程序设计基础(C语言)wh,4,6.1 结构化程序设计,6.1.1 结构化程序设计的基本概念结构化程序设计基本思想:将一个大的程序按功能分割成一些子模块,再通过对这些子模块的组织和调用,来实现整个程

2、序的功能要求。,2018/10/19,程序设计基础(C语言)wh,5,#include “stdio.h“void main( )float a,b,c,v;scanf(”%f,%f,%f”,输出体积,组织和调用,计算立方体,示例:编程序计算一立方体的体积,并在屏幕上输出。,2018/10/19,程序设计基础(C语言)wh,6,6.1 结构化程序设计,6.1.1 结构化程序设计的基本概念,结构化程序设计特点: 各模块相对独立、功能单一、结构清晰; 控制了程序设计的复杂性; 提高元件的可靠性 缩短开发周期; 避免程序开发的重复劳动; 易于维护和功能扩充; 开发方法: 自上向下,逐步求精 ,模块化

3、 ,限制使用goto语句。,2018/10/19,程序设计基础(C语言)wh,7,6.1 结构化程序设计,6.1.2 结构化程序设计的基本特征,1. 程序的三种基本结构,2018/10/19,程序设计基础(C语言)wh,8,2. C语言是模块化程序设计语言,2018/10/19,程序设计基础(C语言)wh,9,3.程序设计采用自顶向下逐步细化过程,2018/10/19,程序设计基础(C语言)wh,10,6.2 函数的定义和调用,函数是C语言程序的一种基本组成部分,C语言程序的功能是通过函数之间的调用来实现,一个完整的C语言程序可由一个或多个函数组成。,2018/10/19,程序设计基础(C语言

4、)wh,11,示例:编一个程序,计算一立方体的体积, 并在屏幕上输出立方体的体积。,#include “stdio.h“void main( )float a,b,c,v;scanf(”%f,%f,%f”,说明:,C是函数式语言,必须有且只能有一个名为main的主函数,执行总是从main函数开始,在main中结束。,一个C语言程序可由一个或多个函数组成。,C语言中函数与函数之间都是互相独立的,不能嵌套定义。,除main函数之外,其他函数是通过调用来执行的。,自定义函数必须先定义后使用,volume函数中的return(v)语句是返回语句,2018/10/19,程序设计基础(C语言)wh,12,

5、6.2 函数的定义和调用,6.2.1 函 数 的 定 义,一 般 格 式,函数类型 函数名(形参类型说明表) 说明部分语句部分 ,传统格式,函数类型 函数名(形参表) 形参类型说明 说明部分语句部分 ,现代格式,2018/10/19,程序设计基础(C语言)wh,13,函数类型 函数名(形参类型说明表) 说明部分语句部分 ,现代格式,函数返回值类型 缺省 int 型 无返回值 void,合法标识符,可以为空 也可以有多个参数,例 无参函数void print_message( )printf(”v=%f”,v);,2018/10/19,程序设计基础(C语言)wh,14,6.2 函数的定义和调用,

6、6.2.2 函 数 的 调 用,一.函数调用格式及执行过程,调用形式,函数名(实参列表);,说明: 实参与形参个数相等,类型一致,按顺序一一对应; 实参列表求值顺序,因系统而定(Turbo C 自右向左); 实参的量可以是常量、有值的变量或运算表达式.,2018/10/19,程序设计基础(C语言)wh,15,【例6_3】 实参求值顺序举例。,运行结果: n=0,运行结果: n=1,i(1),+i(2),a(1),b(2),c=0;,i(2),+i(2),a(2),b(2),c=1;,2018/10/19,程序设计基础(C语言)wh,16,函数调用语句的执行过程:首先计算每个实参表达式的值,并把

7、此值存入所对应的形参单元中,执行流程转入函数体,执行函数体中的各语句。函数体执行完之后,return (c)返回到调用该函数的函数中的调用处的下一条语,/*计算面积*/ #include “stdio.h“void main( )int x=5,y=4,s=0;s=f(x,y);printf(”ns=%dn”,s);f(int a,int b) c=a*b;return(c);,x=5 y=4,a=5 b=4,c=5*4=20,s=20,运行结果: s=20,2018/10/19,程序设计基础(C语言)wh,17,二. 函 数 的 调 用 方 式,3. 以函数调用中的一个实际参数形式调用 例如

8、 k=hust(hust(m,n),j); printf(”%d”,power(a,b);,2. 以函数表达式的一个运算对象形式调用例如 k=hust(m,n)*hust(i,j);,1. 以函数调用语句形式调用例如 hust( );,2018/10/19,程序设计基础(C语言)wh,18,三.对被调用函数的使用说明,在程序中调用另一个函数时,要满足以下三个条件: 被调用函数可以是已存在的用户自定义函数或库函数。, 若是库函数,应用#include命令将有关库函数所需的信息包含到本文件中,#include “stdio.h“void main( )printf( “*”);, 若是用户自定义的

9、函数,且该函数与调用它的函数(即调用函数)在同一个源文件中,则在调用函数中应对被调用函数返回值的类型加以说明。,2018/10/19,程序设计基础(C语言)wh,19,#include “stdio.h“void main( )float volume(float a,float b,float c) float x,y,z,v; scanf(”%f%f%f”, ,【例6_4】 求长方形体积的程序。,对自定义函数volume说明,调用自定义函数volume,2018/10/19,程序设计基础(C语言)wh,20,6.2 函数的定义和调用,6.2.3 函数的返回值,返回语句形式,return(表

10、达式);,说明: 系统默认的返回值类型为int型 当函数有返回值时,凡是允许表达式出现的地方,都可以调用该函数 当函数没有返回值时,函数的返回值类型可以说明为void型(空类型) 若无return语句,遇 时,自动返回调用函数 函数中可有多个return语句,或,return 表达式;,或,return ;,功能:利用return语句,将计算结果(或不带结果)返回给调用程序,同时,也使程序的执行流程转到调用语句的下一语句去执行。,2018/10/19,程序设计基础(C语言)wh,21,float count(int n) int i; float s;if(n=0); printf(”The%

11、d is invalid”,n);return(0);else s=0;for(i=1;i=n;i+)s+=1/(float)i; return(s); ,【例6_5】编一函数,求112131n的值。,强制转换成实型,2018/10/19,程序设计基础(C语言)wh,22,void spc(int n) int i; for(i=0;in;i+) printf(”%c”, ); return(0);,【例6_6】 打印n个空格的函数。,void spc(int n) int i; for(i=0;in;i+) printf(”%c”, ); ,返回调用函数,或,2018/10/19,程序设计基

12、础(C语言)wh,23,void line(int n),line(int n) int i; for(i=1;i=n;i+) printf(”%c”,-); return; 调用该函数:printf(”%d”,line(30);,当无返回值的函数将void省掉时, 函数将返回一个不确定的值。例如:,输出一段虚线的同时,还输出line函数的返回值,它是一个不确定的值。,引起编译错误,2018/10/19,程序设计基础(C语言)wh,24,double power(float x,int n) int i; double pw;pw=l;for(i=1;i=0)putchar(stri);,【例

13、6_8】将一个给定的整数转换成相应的字符串后显示出来。,将数值型的数据转换成数值字符的内码,2018/10/19,程序设计基础(C语言)wh,26,6.2 函数的定义和调用,6.2.4 函数参数及函数间的数据传递,形式参数:定义函数时函数名后面括号中的变量名。 实际参数:调用函数时函数名后面括号中的表达式。,例如,形参与实参,2018/10/19,程序设计基础(C语言)wh,27,/*计算面积*/ #include “stdio.h“void main( )int x=5,y=4,s=0;s=f(x,y);printf(”ns=%dn”,s);f(int a,int b) c=a*b;retu

14、rn(c);,实参,形参,2018/10/19,程序设计基础(C语言)wh,28,6.2 函数的定义和调用,6.2.4 函数参数及函数间的数据传递,形式参数:定义函数时函数名后面括号中的变量名。 实际参数:调用函数时函数名后面括号中的表达式。,形参与实参,说明: 实参可以是常量、已赋值的变量或表达式。 实参在次序、类型和个数上应与相应形参表中的形参保持一致。 通常,当需要从调用函数中传值(或传地址)到被调用函数中的形参时应设置实参。,2018/10/19,程序设计基础(C语言)wh,29,6.2 函数的定义和调用,6.2.4 函数参数及函数间的数据传递,值的传递 :调用函数将实参(常数、变量、

15、数组元素或可计算 的表达式)的值传递到被调用函数形参设置的临时变量存储 单元中,被调用函数形参值的改变对调用函数的实参没有 影响。调用结束后,形参存储单元被释放,实参仍保持原 值不变。,传递形参值的两种方法,特点 : 形参与实参占用不同的内存单元. 单向传递,2018/10/19,程序设计基础(C语言)wh,30,#include “stdio.h“void main( )int i=25;printf(”The value of i in main( ) before calling sqr(x) is %dn”,i); printf(”Calling sqr(x):sqr(%d)=%dn”,i, sqr(i) ); printf(”The value of i in main( ) after calling sqr(x) is %dn”,i); sqr(int x) x=x*x; return(x);,【例6_9】值的传递程序举例,运行结果:The value of i in main( ) before calling sqr(x) is 25Calling sqr(x):sqr(25)=625The value of i in main( ) after calling sqr(x) is 25,

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 办公文档 > PPT模板库 > PPT素材/模板

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号