C语言完整函数教程ppt

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
调用时需要传递一些 供子程序计算和处理 的数据(参数);
子程序执行完成后需 要返回处理结果。
调用 返回
调用 返回
调用 返回
子程序1
子程序2
...
子程序n
返回
调用
主程序
调用 返回
调用 返回
子程序

②子程序1.1
③..④.
子程序
子程序1.n
⑧ ⑨
⑤ ⑦⑥
7
5.1 子程序设计
numß 1000;
返回值
子程序名 参数
判断素数的 子程序
子程序很重要的特点: 调用者只需要关心子 程序接口,不必了解 子程序内部实现细节。
可以设计子程序isPrim,用于判断一个整数是否是素数; 子程序reverse ,用于计算一个整数- 的逆数;
6
5.1 子程序设计
二.子程序的控制和调用机制
主程序 (主控模块)
通过子程序名进行调 用;
4
5.1 子程序设计
• 能否将完成上述独立功能的代码包装成一个单 元,并且可以供其他代码来调用?--答案是可 以使用子程序
一. 子程序的定义 子程序是封装并给以命名的一段程序代码,这 段程序代码完成子程序所定义的功能,可供调 用。 封装:调用者只需要关心代码能完成什么功能, 如何调用代码(即子程序接口),而不需要关 心代码的内部实现。
-
提纲
11
5.2.1 函数
C语言中用函数实现子程序设计思想。较大的C语 言应用程序,往往是由多个函数组成的(用户自定义 函数或标准库函数),每个函数完成明确的功能;
每一个函数应该只完成单一的预定好的任务,并且 函数名能有效地反映函数完成的任务;如果不能选择 简洁的函数名,那可能函数完成的功能太多,建议拆 分成几个较小的函数。
num≤9999 判断num是否素数
flag=isPrim(num)
调用
判断素数的
子程序
Y
num是素数 N
计算num的逆数reverseNum
判断reverseNum是否素数
reverseNum是
Y
素数 N
flag=isPrim(reverseNum)
调用
判断素数的 子程序
输出num
num=num+1
第五章 函数
1
5.1 子程序设计 5.2 函数 5.3 头文件 5.4 函数应用举例 5.5 变量作用域 5.6 变量的存储类别 5.7 内部函数和外部函数
-
提纲
2
5.1 子程序设计
• 编写程序,求所有四位可逆素数 ,所谓可逆素 数是这么一种素数,它的逆数也是素数。 包含的主要功能: – 判断一个数是否素数。 – 求一个整数的逆数。如1234的逆数是4321。
5
5.1 子程序设计
numß 1000;
num≤9999 判断num是否素数
Y
num是素数 N
计算num的逆数reverseNum
调用 调用
判断素数的
子程序 isPrim
计算逆数的 子程序
reverse
判断reverseNum是否素数
reverseNum是
Y
素数 N
输出nห้องสมุดไป่ตู้m
num=num+1
调用
C标准库提供了丰富的函数集,能够完成常用的数 学计算、字符串操作、输入/输出等有用操作,程序员 可以直接使用、从而减少工作量;
12
5.1 子程序设计 5.2 函数
5.2.1 函数 5.2.2 函数的定义 5.2.3 函数的调用 5.2.4 函数原型 5.3 头文件 5.4 函数应用举例 5.5 变量作用域 5.6 变量的存储类别 5.7 内部函数和外部函数
8
•5.1 子程序设计
三. 引入子程序的目的 1. 程序“复用”,避免在程序中使用重复代码; 2. 结构化程序设计的需要: 自顶向下、逐步细化,将复杂问题分解为相对 简单的子问题,这些子问题用子程序实现,从 而提高主程序结构的清晰性和易读性。 3.使程序的调试和 维护变得更加容易。
9
5.1 子程序设计
四. 子程序设计原则 高内聚:功能相对独立和完整; 低耦合:与外界的关系尽量松散, 不要太紧密,使其能方便地被重用;
需要合理地设计子程序参数和子程序执行的局 部环境 来达到以上目标。 五. 子程序在C语言中的实现机制
C语言中的函数机制
10
5.1 子程序设计 5.2 函数
5.2.1 函数 5.2.2 函数的定义 5.2.3 函数的调用 5.2.4 函数原型 5.3 头文件 5.4 函数应用举例 5.5 变量作用域 5.6 变量的存储类别 5.7 内部函数和外部函数
3
5.1 子程序设计
numß 1000; num≤9999
判断num是否素数
Y
num是素数 N
计算num的逆数reverseNum
判断reverseNum是否素数
reverseNum是
Y
素数 N
输出num
num=num+1
求可逆素数
-
• 本程序中判断素数的代码 会出现两次;
• 判断素数、求整数逆数这 两个功能是独立的功能, 且在多个程序中都有可能 用到: – 求一个整数的逆数:该 功能在判断一个整数是 否回文数中也被用到; – 判断一个数是否素数: 该功能在对整数进行素 数分解中用到。
-
提纲
13
5.2.2 函数的定义
• 函数设计的要求: – 明确该函数的功能; – 定义该函数的接口(即函数头,包括函数名、 参数和返回值) – 定义该函数的功能实现部分
14
5.2.2 函数的定义
函数定义的格式:
返回值类型 函数名( 参数列表 ) /*接口定义部分*/
2(所数(列(假的3(型(将定(能型但4(数调(型不、、据类接表123定实定又31简如假 , 要 一用1;2)23参))))、或返)))){}类型收定其现义无定并和致函;洁:数参如如如回指如rr函r部成r型,的义为eerr返将返,数、see果列数果果tteeq值返果tt数分vuu声即参为iuttu语u回“回则;n函ouu能参rr表列函不rar与回不类i无tnn名rr使n数vd明类nr值返值以数句nn数语语表数列o语反e。语给指型rr、是,iee型不是回的返(d句返1句句声不若出t映t函明句返upui[形;返。值类回in,,rr返回r的的明接参n出数返中ni回tn式回tn如型但表型值语则数回型值语一功了收数t/调回返函值f任为*,最函句等达说类值据i(表般 能句在 任的n功用值回表数何:数)。最t类好式明型类最达格:调何类者类p值值能达的将,型好明”一为r型好式式返型用参(的型i表式返则实不n功也确的致准明:回函数,t即;结,达参回返(是)能现明指值。(v;确调数,编函进果编o式一回数v确定。带如io部指数用时则译d行个值的译的i2d)定参给果…功分函器函参,类不类类器类义数…数数就*。/]
相关文档
最新文档