《C语言及其单片机系统开发单片机系统开发》培训课件(PPT讲稿,教师版,武汉原创)第2讲 函数

弗原創IT教育中心 第2讲函数 C语言是通过函数来实现模块化程序设计的。所以较 大的C语言应用程序,往往是由多个函数组成的,每个函 数分别对应各自的功能模块。 21函数的定义与调用 2.2函数的嵌套调用与递归调用 2.3数组作为函数参数 2.4内部变量与外部变量 2.5内部函数与外部函数 2.6变量的动态存储与静态存储
第2讲 函 数 C语言是通过函数来实现模块化程序设计的。所以较 语言是通过函数来实现模块化程序设计的。所以较 大的C语言应用程序,往往是由多个函数组成的,每个函 语言应用程序,往往是由多个函数组成的,每个函 数分别对应各自的功能模块。 数分别对应各自的功能模块。 2.1 函数的定义与调用 函数的定义与调用 2.2 函数的嵌套调用与递归调用 函数的嵌套调用与递归调用 2.3 数组作为函数参数 数组作为函数参数 2.4 内部变量与外部变量 内部变量与外部变量 2.5 内部函数与外部函数 内部函数与外部函数 2.6 变量的动态存储与静态存储 变量的动态存储与静态存储

弗原創IT教育中心 21函数的定义与调用 2.11函数的定义 2.1.2函数的返回值与函数类型 2.1.3对被调用函数的说明和函数原型 2.14函数的调用 2.1.5函数的形参与实参
2.1 函数的定义与调用 函数的定义与调用 2.1.1 函数的定义 2.1.2 函数的返回值与函数类型 函数的返回值与函数类型 2.1.3 对被调用函数的说明和函数原型 对被调用函数的说明和函数原型 2.1.4 函数的调用 2.1.5 函数的形参与实参 函数的形参与实参

弗原創IT教育中心 211函数的定义 1.任何函数(包括主函数main0)都是由函 数说明和函数体两部分组成。根据函数是否需要 参数,可将函数分为无参函数和有参函数两种 (1)无参函数的一般形式 函数类型函数名(vod) 说明语句部分; 可执行语句部分;
2.1 .1 2.1 .1 函数的定义 1.任何函数(包括主函数 .任何函数(包括主函数main())都是由函 数说明和函数体两部分组成。根据函 数说明和函数体两部分组成。根据函数是否需要 参数,可将函数分为无参函数和有参函数两种。 参数,可将函数分为无参函数和有参函数两种。 (1)无参函数的一般形式 )无参函数的一般形式 函数类型 函数名( void ) ( void ) { 说明语句部分; 说明语句部分; 可执行语句部分; 可执行语句部分; }

弗原創IT教育中心 (2)有参函数的一般形式 函数类型函数名(数据类型参数[,数据类型参数2.……]) 说明语句部分 可执行语句部分; 有参函数比无参函数多了一个参数表。调用有参函数时,调 用函数将赋予这些参数实际的值。 为了与调用函数提供的实际参数区别开,将函数定义中的参 数表称为形式参数表,简称形参表
(2)有参函数的一般形式 函数类型 函数名( 数据类型 参数[,数据类型 参数2……] ) { 说明语句部分; 可执行语句部分; } 有参函数比无参函数多了一个参数表。调用有参函数时,调 用函数将赋予这些参数实际的值。 为了与调用函数提供的实际参数区别开,将函数定义中的参 数表称为形式参数表,简称形参表

弗原創IT教育中心 [案例21定义一个函数,用于求两个数中的大数。 /*功能:定义一个求较大数的函数并在主函数中调用*/ int max(int nl, int n2) i return(n1>n2:n1: n2); maino int max( int n1,intn2);/*函数说明*/ int numl, 2; printf("input two numbers: n); scanf(%/d%od",&num1, &num2); printf("max=%od\n", max(num1, num2); retch; 程序运行(1)
[案例2.1] 定义一个函数,用于求两个数中的大数。 定义一个函数,用于求两个数中的大数。 /*功能:定义一个求较大数的函数并在主函数中调用 功能:定义一个求较大数的函数并在主函数中调用*/ int max(int max(int n1, int n2) { return (n1>n2?n1:n2) { return (n1>n2?n1:n2); } main() { int max(int max(int n1, int n2);/*函数说明*/ int num1,num2 num1,num2; printf("input printf("input two numbers: two numbers:\n"); scanf("%d%d scanf("%d%d", &num1, &num2) ", &num1, &num2); printf("max printf("max=%d\n", max(num1,num2)) n", max(num1,num2)); getch(); } } 程序运行(1)

弗原創IT教育中心 2.说明 (1)的数定义不允许嵌套。 在C语言中,所有函数(包括主函数manO)都是平 行的。一个函数的定义,可以放在程序中的任意位置, 主函数main0之前或之后。但在一个函数的函数体内, 不能再定义另一个函数,即不能嵌套定义。 (2)空函数一—既无参数、函数体又为空的函数。 其一般形式为: [函数类型]函数名(void) (3)在老版本C语言中,参数类型说明允许放在函 数说明部分的第2行单独指定
2.说明 (1)函数定义不允许嵌套。 在C语言中,所有函数(包括主函数main())都是平 行的。一个函数的定义,可以放在程序中的任意位置, 主函数main()之前或之后。但在一个函数的函数体内, 不能再定义另一个函数,即不能嵌套定义。 (2)空函数──既无参数、函数体又为空的函数。 其一般形式为: [函数类型] 函数名(void) { } (3)在老版本C语言中,参数类型说明允许放在函 数说明部分的第2行单独指定

弗原創IT教育中心 21.2函数的返回值与函数类型 C语言的函数兼有其它语言中的函数和过程两种功 能,从这个角度看,又可把函数分为有返回值函数和无 返回值函数两种 函数返回值与 return语句 有参函数的返回值,是通过函数中的 return语 句来获得的。 (1) return语句的一般格式: return(返回 值表达式) (2) return语句的功能:返回调用函数,并 将“返回值表达式”的值带给调用函数
2.1.2 函数的返回值与函数类型 函数的返回值与函数类型 C语言的函数兼有其它语言中的函数和过 C语言的函数兼有其它语言中的函数和过程两种功 能,从这个角度看,又可把函数分为有返回值函数和无 ,又可把函数分为有返回值函数和无 返回值函数两种。 返回值函数两种。 1.函数返回值与 .函数返回值与return语句 有参函数的返回值,是通过函数中的 有参函数的返回值,是通过函数中的return语 句来获得的。 (1)return语句的一般格式: 语句的一般格式: return ( return ( 返回 值表达式 ); (2)return语句的功能:返回调用函数,并 语句的功能:返回调用函数,并 将“返回值表达式”的值带给调用函数。 的值带给调用函数

弗原創IT教育中心 2.函数类型 在定义函数时,对函数类型的说明,应与 return 语句中、返回值表达式的类型一致。 如果不一致,则以函数类型为准。如果缺省函数 类型,则系统一律按整型处理。 定好的程序设计习惯:为了使程序具有良好的可 读性并减少出错,凡不要求返回值的函数都应定义为 空类型;即使函数类型为整型,也不使用系统的缺省 处理
2.函数类型 在定义函数时,对函数类型的说明,应与return 语句中、返回值表达式的类型一致。 如果不一致,则以函数类型为准。如果缺省函数 类型,则系统一律按整型处理。 良好的程序设计习惯:为了使程序具有良好的可 读性并减少出错,凡不要求返回值的函数都应定义为 空类型;即使函数类型为整型,也不使用系统的缺省 处理

弗原創IT教育中心 21.3对被调用函数的说明和函数原型 在 ANSI C新标准中,采用函数原型方式,对被调用 函数进行说明,其一般格式如下: 函数类型函数名(数据类型[参数名数据类型[…4 C语言同时又规定,在以下2种情况下,可以省去对 被调用函数的说明: (1)当被调用函数的函数定义出现在调用函数之前 时。因为在调用之前,编译系统已经知道了被调用函数的 函数类型、参数个数、类型和顺序。 (2)如果在所有函数定义之前,在函数外部(例如 文件开始处)预先对各个函数进行了说明,则在调用函数 中可缺省对被调用函数的说明
2.1.3 对被调用函数的说明和函数原型 对被调用函数的说明和函数原型 在ANSI C新标准中,采用函数原型方式,对被调用 新标准中,采用函数原型方式,对被调用 函数进行说明,其一般格式如下: 函数进行说明,其一般格式如下: 函数类型 函数名(数据类型[ 参数名][, 数据类型[ …]); C语言同时又规定,在以下 C语言同时又规定,在以下2种情况下,可以省去对 种情况下,可以省去对 被调用函数的说明: 被调用函数的说明: (1)当被调用函数的函数定义出现在调 )当被调用函数的函数定义出现在调用函数之前 时。因为在调用之前,编译系统已经知道了被调用函数的 因为在调用之前,编译系统已经知道了被调用函数的 函数类型、参数个数、类型和顺序。 函数类型、参数个数、类型和顺序。 (2)如果在所有函数定义之前,在函数外部(例如 )如果在所有函数定义之前,在函数外部(例如 文件开始处)预先对各个函数进行了说明,则在调用函数 开始处)预先对各个函数进行了说明,则在调用函数 中可缺省对被调用函数的说明。 中可缺省对被调用函数的说明

弗原創IT教育中心 214函数的调用 在程序中,是通过对函数的调用来执行函数体的,其 过程与其它语言的子程序调用相似。 C语言中,函数调用的一般形式为:函数名(实际参 数表 切记:实参的个数、类型和顺序,应该与被调用函数 所要求的参数个数、类型和顺序一致,才能正确地进行 数据传递。 在C语言中,可以用以下几种方式调用函数 (1)所数表达式。 (2)所数语句 (3)所数实参
2.1.4 函数的调用 在程序中,是通过对函数的调用来执行函数体的,其 过程与其它语言的子程序调用相似。 过程与其它语言的子程序调用相似。 C语言中,函数调用的一般形式为: C语言中,函数调用的一般形式为: 函数名([实际参 数表]) 切记:实参的个数、类型和顺序,应该与被调用函 :实参的个数、类型和顺序,应该与被调用函数 所要求的参数个数、类型和顺序一致,才能正确地进行 型和顺序一致,才能正确地进行 数据传递。 在C语言中,可以用以下几种方式调用函数: 在C语言中,可以用以下几种方式调用函数: (1)函数表达式。 (2)函数语句。 (3)函数实参
按次数下载不扣除下载券;
注册用户24小时内重复下载只扣除一次;
顺序:VIP每日次数-->可用次数-->下载券;
- 《C语言及其单片机系统开发单片机系统开发》培训课件(PPT讲稿,教师版,武汉原创)第1讲 单片机概述.pdf
- 《C语言及其单片机系统开发单片机系统开发》培训课件(PPT讲稿,教师版,武汉原创)第19讲 单片机系统抗干扰设计、电源的设计.pdf
- DSP集成开发环境(CCS).ppt
- 比高公司:《HD7279A 串行接口8位LED数码管及64键键盘智能控制芯片》学习资料(第四版).pdf
- 江西师范大学通信系:《光纤通信技术与应用》讲义PPT课件(叶志清).ppt
- 清华大学电机系FACTS研究所:《可编程序控制器(PLC)实验讲座》总结及考核(于庆广).ppt
- 清华大学电机系FACTS研究所:《可编程序控制器(PLC)实验讲座》第五讲 EM-II型PLC介绍(于庆广).ppt
- 清华大学电机系FACTS研究所:《可编程序控制器(PLC)实验讲座》实验一 验机和基本指令练习(于庆广).ppt
- 清华大学电机系FACTS研究所:《可编程序控制器(PLC)实验讲座》第三讲 日立(HITACHI)(PLC)分类(于庆广).ppt
- 清华大学电机系FACTS研究所:《可编程序控制器(PLC)实验讲座》第二讲 典型继电器控制线路(于庆广).ppt
- 清华大学电机系FACTS研究所:《可编程序控制器(PLC)实验讲座》第一讲 PLC的定义(于庆广).ppt
- 中国移动通信:《移动智能网原理》讲义(PPT课件).ppt
- 浙江大学:《通信原理》课程教学资源(PPT课件讲稿)第七章 模拟信号的数字传输.ppt
- 浙江大学:《通信原理》课程教学资源(PPT课件讲稿)第六章 正弦载波数字调制.ppt
- 浙江大学:《通信原理》课程教学资源(PPT课件讲稿)第六章 恒包络调制.ppt
- 浙江大学:《通信原理》课程教学资源(PPT课件讲稿)第五章 数字基带传输系统.ppt
- 浙江大学:《通信原理》课程教学资源(PPT课件讲稿)第四章 模拟通信系统.ppt
- 浙江大学:《通信原理》课程教学资源(PPT课件讲稿)第三章 信道.ppt
- 浙江大学:《通信原理》课程教学资源(PPT课件讲稿)第二章 随机信号分析.ppt
- 浙江大学:《通信原理》课程教学资源(PPT课件讲稿)第十一章 同步原理.ppt
- 《C语言及其单片机系统开发单片机系统开发》培训课件(PPT讲稿,教师版,武汉原创)第3讲 数组.pdf
- 《C语言及其单片机系统开发单片机系统开发》培训课件(PPT讲稿,教师版,武汉原创)第4讲 指针.pdf
- 《C语言及其单片机系统开发单片机系统开发》培训课件(PPT讲稿,教师版,武汉原创)第5讲 结构.pdf
- 《C语言及其单片机系统开发单片机系统开发》培训课件(PPT讲稿,教师版,武汉原创)第6讲 单片机内部结构和工作原理.pdf
- 《C语言及其单片机系统开发单片机系统开发》培训课件(PPT讲稿,教师版,武汉原创)第7讲 80C51系列单片机指令系统 系列单片机指令系统.pdf
- 《C语言及其单片机系统开发单片机系统开发》培训课件(PPT讲稿,教师版,武汉原创)第8讲 中断系统.pdf
- 《C语言及其单片机系统开发单片机系统开发》培训课件(PPT讲稿,教师版,武汉原创)第9讲 汇编语言程序设计.pdf
- 《C语言及其单片机系统开发单片机系统开发》培训课件(PPT讲稿,教师版,武汉原创)第10讲 80C51定时/计数器.pdf
- 《C语言及其单片机系统开发单片机系统开发》培训课件(PPT讲稿,教师版,武汉原创)第11讲 串行通信.pdf
- 《C语言及其单片机系统开发单片机系统开发》培训课件(PPT讲稿,教师版,武汉原创)第12讲 单片机系统扩展.pdf
- 《C语言及其单片机系统开发单片机系统开发》培训课件(PPT讲稿,教师版,武汉原创)第13讲 IIC总线编程技术.pdf
- 《C语言及其单片机系统开发单片机系统开发》培训课件(PPT讲稿,教师版,武汉原创)第14讲 实时时钟芯片DS12887 DS12887应用.pdf
- 《C语言及其单片机系统开发单片机系统开发》培训课件(PPT讲稿,教师版,武汉原创)第15讲 A/D转换接口技术.pdf
- 《C语言及其单片机系统开发单片机系统开发》培训课件(PPT讲稿,教师版,武汉原创)第16讲 D/A转换器接口.pdf
- 《C语言及其单片机系统开发单片机系统开发》培训课件(PPT讲稿,教师版,武汉原创)第17讲 单片机与键盘接口.pdf
- 《C语言及其单片机系统开发单片机系统开发》培训课件(PPT讲稿,教师版,武汉原创)第18讲 点阵式LCD显示设计.pdf
- 清华大学:《模拟电子技术基础》课程教学资源(第三版,习题)第一章 半导体基础知识自测题(童诗白、华成英).doc
- 清华大学:《模拟电子技术基础》课程教学资源(第三版,习题)第七章 信号的运算和处理自测题(童诗白、华成英).doc
- 清华大学:《模拟电子技术基础》课程教学资源(第三版,习题)第三章 多级放大电路自测题(童诗白、华成英).doc
- 清华大学:《模拟电子技术基础》课程教学资源(第三版,习题)第九章 功率放大电路自测题(童诗白、华成英).doc