《C语言程序设计》课程授课教案(PPT教学课件)第七章 函数

第7章函数 C语言是通过函数来实现模块化程序设计的。较大的 C语言应用程序往往是由多个函数组成的,每个函数分别 对应各自的功能模块。从用户的使用角度看,函数有两种: 标准函数(即库函数)和用户自定义函数。本章主要讨论 的是用户自定义函数。通过本章的学习,读者应该掌握以 下内容: 函数的定义与函数声明 函数的调用 函数的嵌套调用与递归调用 数组作为函数参数
第7章 函数 C语言是通过函数来实现模块化程序设计的。较大的 C语言应用程序往往是由多个函数组成的,每个函数分别 对应各自的功能模块。从用户的使用角度看,函数有两种: 标准函数(即库函数)和用户自定义函数。本章主要讨论 的是用户自定义函数。通过本章的学习,读者应该掌握以 下内容: 函数的定义与函数声明 函数的调用 函数的嵌套调用与递归调用 数组作为函数参数

。内部变量与外部变量 。变量的动态存储与静态存储 。内部函数与外部函数
内部变量与外部变量 变量的动态存储与静态存储 内部函数与外部函数

7.1函数的定义与函数说明 7.1.1相关知识 C语言是由函数组成,一个C语言程序必须包含一个 且仅一个main函数,由main函数开始调用其他函数,其 他函数也可相互调用,但最终返回主函数结束程序。 7.1.2程序范例 通过下例程序认识和学习函数的定义,理解函数的执 行过程。 1.范例一 任务:定义一个函数,用于求两个数中的大数。 源程序:
7.1 函数的定义与函数说明 7.1.1 相关知识 C语言是由函数组成,一个C语言程序必须包含一个 且仅一个main函数,由main 函数开始调用其他函数,其 他函数也可相互调用,但最终返回主函数结束程序。 7.1.2 程序范例 通过下例程序认识和学习函数的定义,理解函数的执 行过程。 1.范例一 任务:定义一个函数,用于求两个数中的大数。 源程序:

int max(int n1,int n2) *定义一个int类型 的名为max的函数*1 return (n1>n2?n1:n2); *函数体! main() *主函数main(0*/ int max(int n1,int n2); *函数声明*1 int num1,num2; printf("input two numbers:\n");
int max(int n1,int n2) /*定义一个int类型 的名为max的函数*/ { return (n1>n2?n1:n2); /*函数体*/ } main() /*主函数main()*/ { int max(int n1, int n2); /*函数声明*/ int num1,num2; printf("input two numbers:\n");

scanf("%d%d",&num1,&num2); printf("max=%dn,max(num1,num2);/*调用max函数*/ getchar(); 使程序暂停,按任一键继续*1 输入:518 运行结果: max=18 程序说明:上述程序由两个函数组成:main0和max0。程
scanf("%d%d", &num1,&num2); printf("max=%d\n, max(num1,num2)); /*调用max函数*/ getchar(); /*使程序暂停,按任一键继续*/ } 输入:5 18 运行结果: max=18 程序说明:上述程序由两个函数组成:main()和max()。程

序由main0为入口,当执行到printf('"max=%dn", max(num1,num2);语句时,暂停主函数,转去执行 max0函数,当max0函数执行完毕,通过return;返回一 个int型值到main0函数的暂停处继续后面语句的执行。 2.范例二 任务:编写函数将小写字母转换成大写字母作为函数值返回, 其他字符不变。用字符@结束输入。 源程序: #include char bigchar(char ch) *定义一个char类
序由main()为入口,当执行到printf("max=%d\n", max(num1,num2));语句时,暂停主函数,转去执行 max()函数,当max()函数执行完毕,通过return返回一 个int型值到main()函数的暂停处继续后面语句的执行。 2.范例二 任务:编写函数将小写字母转换成大写字母作为函数值返回, 其他字符不变。用字符@结束输入。 源程序: #include char bigchar(char ch) /*定义一个char类

型的名为bigchar的函数*I if(ch>='a'&&ch<='z') bigchari函数的函 数体 ch=ch-32; return ch; } main() 定 义一个main0函数*/ char c;
型的名为bigchar的函数*/ { if(ch>='a'&& ch<='z') /*bigchar函数的函 数体*/ ch=ch-32; return ch; } main() /*定 义一个main()函数*/ { char c;

while((c=getchar())!=@) 循环判断是否为@*! c=bigchar(c); *调用bigchar(0*/ putchar(c); 输入:ab123WER@ 输出:AB123WER 程序说明:上述程序由main0和bigchar()函数组成,由 main0为入口,当执行到c=bigchar(c);语句时,暂停主
while((c=getchar())!='@') /*循环判断是否为@*/ { c=bigchar(c); /*调用bigchar()*/ putchar(c); } } 输入:ab123WER@ 输出:AB123WER 程序说明:上述程序由main()和bigchar()函数组成,由 main()为入口,当执行到c=bigchar(c);语句时,暂停主

函数的执行,转去执行bigchar(0函数,当bigchar(0函数执 行完毕,通过returnj返回一个char型值到main0暂停处继 续后面语句的执行。 7.1.3知识归纳 通过观察以上程序,我们可以得出以下要点: 1.函数的定义 (1)任何函数(包括主函数main0)都是由函数说明和函 数体两部分组成。根据函数是否需要参数,可将函数分为 无参函数和有参函数两种
函数的执行,转去执行bigchar()函数,当bigchar()函数执 行完毕,通过return返回一个char型值到main()暂停处继 续后面语句的执行。 7.1.3 知识归纳 通过观察以上程序,我们可以得出以下要点: 1.函数的定义 (1)任何函数(包括主函数main())都是由函数说明和函 数体两部分组成。根据函数是否需要参数,可将函数分为 无参函数和有参函数两种

1)无参函数的一般形式: 函数类型函数名() {【说明语句部分: 可执行语句部分: 2)有参函数的一般形式: 函数类型「 函数名(数据类型参数1[,数据类型参数 2.]) {说明语句部分;
1)无参函数的一般形式: 函数类型 函数名( ) { 说明语句部分; 可执行语句部分; } 2)有参函数的一般形式: 函数类型 函数名( 数据类型 参数1[,数据类型 参数 2.] ) { 说明语句部分;
按次数下载不扣除下载券;
注册用户24小时内重复下载只扣除一次;
顺序:VIP每日次数-->可用次数-->下载券;
- 《C语言程序设计》课程授课教案(PPT教学课件)第一章 C语言概论.ppt
- 清华大学:《C语言程序设计》课程PPT教学课件(谭浩强教材第二版,共七章).ppt
- 呼和浩特职业学院:《C/C++程序设计》课程电子教案(PPT课件)第四章 C程序流程设计.pps
- 呼和浩特职业学院:《C/C++程序设计》课程电子教案(PPT课件)第六章 函数.pps
- 呼和浩特职业学院:《C/C++程序设计》课程电子教案(PPT课件)第五章 数组.pps
- 呼和浩特职业学院:《C/C++程序设计》课程电子教案(PPT课件)第七章 指针.pps
- 呼和浩特职业学院:《C/C++程序设计》课程电子教案(PPT课件)第二章 顺序结构程序设计.pps
- 呼和浩特职业学院:《C/C++程序设计》课程电子教案(PPT课件)第三章 数据输入与输出.pps
- 呼和浩特职业学院:《C/C++程序设计》课程电子教案(PPT课件)第一章 程序的灵魂-算法.pps
- 呼和浩特职业学院:《C/C++程序设计》课程电子教案(PPT课件)第一章 C语言概述(授课教师:张媛).pps
- 呼和浩特职业学院:《C/C++程序设计》课程教学资源(各章习题)第十章 位运算(答案).doc
- 呼和浩特职业学院:《C/C++程序设计》课程教学资源(各章习题)第十章 位运算(试题).doc
- 呼和浩特职业学院:《C/C++程序设计》课程教学资源(各章习题)第九章 结构体与共用体(答案).doc
- 呼和浩特职业学院:《C/C++程序设计》课程教学资源(各章习题)第八章 指针(答案).doc
- 呼和浩特职业学院:《C/C++程序设计》课程教学资源(各章习题)第九章 结构体与共用体(试题).doc
- 呼和浩特职业学院:《C/C++程序设计》课程教学资源(各章习题)第八章 指针(试题).doc
- 呼和浩特职业学院:《C/C++程序设计》课程教学资源(各章习题)第七章(答案).doc
- 呼和浩特职业学院:《C/C++程序设计》课程教学资源(各章习题)第七章(试题).doc
- 呼和浩特职业学院:《C/C++程序设计》课程教学资源(各章习题)第六章(答案).doc
- 呼和浩特职业学院:《C/C++程序设计》课程教学资源(各章习题)第六章(试题).doc
- 《C语言程序设计》课程授课教案(PPT教学课件)第三章 最简单的C.ppt
- 《C语言程序设计》课程授课教案(PPT教学课件)第二章 数据类型、运算符及表达式.ppt
- 《C语言程序设计》课程授课教案(PPT教学课件)第五章 循环结构.ppt
- 《C语言程序设计》课程授课教案(PPT教学课件)第八章 编译预处理、第九章 指针、第十章 结构体、共用体及枚举类型、第十一章 文件.ppt
- 《C语言程序设计》课程授课教案(PPT教学课件)第六章 数组.ppt
- 《C语言程序设计》课程授课教案(PPT教学课件)第四章 选择结构.ppt
- 《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讲稿)第01章 C语言概述.ppt
- 《C语言程序设计》课程教学课件(PPT讲稿)第02章 数据类型、运算符与表达式.ppt
- 《C语言程序设计》课程教学课件(PPT讲稿)第03章 顺序结构程序设计.ppt
- 《C语言程序设计》课程教学课件(PPT讲稿)第04章 选择结构程序设计.ppt
- 《C语言程序设计》课程教学课件(PPT讲稿)第05章 循环结构程序设计.ppt
- 《C语言程序设计》课程教学课件(PPT讲稿)第06章 数组.ppt