C语言程序设计电子教案7

相关主题
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

归 纳:
• 函数声明的语法形式 类型标识符 函数名(形式参数表) { 语句序列 }
例: long square(long x) //函数定义(长整型) { long x_square; //说明部分
xre_tsuqrunarxe_=sxq*u若xa;无re;返/回//执/返值行回,部函写分数vo值id给square }
前/外的外层)的名字是作用于整个程序,因而外部函数相互之间不能同名。
静态函数/内部函数可以和外部函数同名,但同一文件或模块中的并行/同层函数不能同名;而不同层函 数名或其中定义的局部变量可同名而互不干扰(后讲)。
4) 参数表(形参表)
☻ 形式参数表说明函数参数的类型、名称和数目。参数数目可是零个或多个;如果没有参数,只写一
对括号(此为函数标志,不可省略) 。有多个参数时之间用逗号隔开。它应和调用处的实参在个数、类型上 一一对应。
☻ 函数的参数表也称为形参表/哑元。形参类型的定义可在括号内的形参处也可在函数体的前面(使用前)
定义。如: int max(int x,int y) int x,int y; int max(x, y); 多数为前者。
若无参数,写void
是被初始化的内部变量,同函数中的说 明部分一样,其寿命和可见性仅限于函 数内部。
类型long决定了返回值 表达式x_square的类型。
主函数main()开始
调用函数 实参 形参 调用函数的 下一语句
主函数结束
主函数与被调用函数之间的执行 关系示意图
函数开始执行
函数体
函数结束 return
主函数
第7章 函数及变量存贮类型
7.1 函数基础与C程序结构 7.2 7.3 7.4 7.5 变量的存贮类别
教材上的第二章2.7
7.1 函数基础与C程序结构 7.1.1 C程序的结构化设计思想
C程 序
源程 序1
源程 序2


源程 序n
数据 定义
图 7.1 C程序结构示意 图
main( )
自定 义函数
说明 部分

(类型名1 形参名1, 类型名2 形参名2, ……) 5)
♣ 函数中{…}括起来的部分称为函数体,函数体由说明部分和执行部分组成。说明部分是局部说明,执
行部分是完成具体任务的可执行语句序列。函数名通过函数体中结束/尾“return [(…)]”语句得到函数值, 而无函数返回值的void函数多无“return [(…)]”语句(也可用return结束)。
☻ 函数分为两类:①一类是由系统提供的标准库函数。例如,
用 #include <stdio.h> ห้องสมุดไป่ตู้含标准输入输出函数 (scanf,printf,getche,putchar, …);
用 #include <math.h> 包含数学计算函数 (sin, cos, fabs, sqrt, exp, log, pow(x,y) x^y …);
用 #include <stdio.h> 包含数据格式转换函数 (atoi, atof, scanf,sprintf, …);
用#include <string.h>包含字符串处理函数 (strlen,strcpy,strcmp, …) 等;这类函数可以由用户程序直接调用。②另一类是用户定义的函数,即
由用户自己编写的函数。下面介绍。
7.2 函数的定义和声明
7.2.1 函数的定义
1. 函数定义的一般形式为: [存贮类型符] 类型 函数名(类型说明及形式参数列表) {
语句部分 [return (…)] }
定义说明: 1)存贮类型 (分缺省默认extern和static两种) 说明函数的存贮类型(即规定函数可被调用的范围)。①extern指定为外部函数,外部函数可以被任何函数调 用;不指定即为缺省默认的extern; ②static为静态函数,指定和它只能在同一文件中定义的函数调用 。 2) 类型: ①特殊类型为void :又称为“空类型函数” ,若无函数返回值而只完成某项工作,函数类型则为void,此 时,函数相当于子程序,若无形参不可省掉括号( ) ,此时最好将参数表指定为void ;函数体内结束处可有可 无return语句。
执行 部分
7.1.2 函数概述
♣ C/C++语言程序系统:执行主函数void main()可调用若干函数(相当于其它高级语言中的过程或函数)。
void main()函数可调用其它若干函数来实现所需的功能。无论main()函数位于程序中什么位置,C++程序总 是从void main()函数开始执行。
掉形参名,且该行后有“;”)而在任何地方定义(此时函数头和函数体一并书写)。 如:double power(int, int); 和double power(int x, int n);是等价的。power函数是double类型,它有两个int
参数。
♣ 函数应用遵循“先定义,后调用”的原则。 ♣ 函数体语法上是一个带“{ …… }”复合语句。例:
♣ 注意:局部说明中说明/定义的变量,同形参一样,规定了其有效范围局限于该函数内部,不能由其它
任何并行/同层/外部函数调用,因该函数被调用执行完毕时,其变量、形参和嵌入式(内嵌式)函数即释放掉 了。
♣ 函数定义一般置于main()之前,也可先声明原型(即仅书写函数头,此时可仅书写括号中的形参类型而省
#include <stdio.h> long square(long); /*先函数声明*/ void main() { …… result=square(in_num); /*函数调用*/ …… } long square(long x) //后函数定义 { …. }
注意:行末有“;”
比较格式
注意:行末无有“;”
②指定了函数返回值的类型(非void):则函数有返回(一个)指定的类型值,此时,函数体必以 “return (返回值表达式)”结束/尾且给函数名赋值。故“类型” 决定了返回值表达式的类型。函数的 类型可以为任何基本类型、结构体和共用体类型。其中 int型函数定义时可以省略。
3) 函数名一般不要超过6个字符长,如max(),factor()等。注意:外部函数(主执行函数void main()之
相关文档
最新文档