鞍山科技大学:《C语言程序设计与数据结构》第4章 函数

第4章函数 C语言是通过函数来实现模块化程序设计的。所以较大的C语言 应用程序,往往是由多个函数组成的,每个函数分别对应各自的功能 模块。 4,1函数的定义与调用 42函数的嵌套调用与递归调用 43内部变量与外部变量 44内部函数与外部函数 45变量的动态存储与静态存储
返回本章首页 下一页 上一页 第4章 函 数 C语言是通过函数来实现模块化程序设计的。所以较大的C语言 应用程序,往往是由多个函数组成的,每个函数分别对应各自的功能 模块。 4.1 函数的定义与调用 4.2 函数的嵌套调用与递归调用 4.3 内部变量与外部变量 4.4 内部函数与外部函数 4.5 变量的动态存储与静态存储 返回目录 上一章 下一章

4.1函数的定义与调用 4.1.1函数的定义 4.1.2函数的返回值与函数类型 4.1.3对被调用函数的说明和函数原型 4.1.4函数的调用 4.1.5函数的形参与实参
返回本章首页 下一页 上一页 4.1 函数的定义与调用 4.1.1 函数的定义 4.1.2 函数的返回值与函数类型 4.1.3 对被调用函数的说明和函数原型 4.1.4 函数的调用 4.1.5 函数的形参与实参

4.1.1函数的定义 1.任何函数(包括主函数main()都是由函数说明 和函数体两部分组成。根据函数是否需要参数,可将函 数分为无参函数和有参函数两种。 (1)无参函数的一般形式 函数类型函数名(void) 说明语句部分; 可执行语句部分; 注意:在旧标准中,函数可以缺省参数表。但在新 标准中,函数不可缺省参数表;如果不需要参 用 “void表示,主函数main()例外
返回本章首页 下一页 上一页 4.1 .1 函数的定义 1.任何函数(包括主函数main())都是由函数说明 和函数体两部分组成。根据函数是否需要参数,可将函 数分为无参函数和有参函数两种。 (1)无参函数的一般形式 函数类型 函数名( void ) { 说明语句部分; 可执行语句部分; } 注意:在旧标准中,函数可以缺省参数表。但在新 标准中,函数不可缺省参数表;如果不需要参数,则用 “void”表示,主函数main()例外

(2)有参函数的一般形式 函数类型函数名(数据类型参数[,数据类型参数2……]) 说明语句部分; 可执行语句部分; 有参函数比无参函数多了一个参数表。调用有参 函数时,调用函数将赋予这些参数实际的值。 为了与调用函数提供的实际参数区别开,将函数 定义中的参数表称为形式参数表,简称形参表
返回本章首页 下一页 上一页 (2)有参函数的一般形式 函数类型 函数名( 数据类型 参数[,数据类型 参数2……]) { 说明语句部分; 可执行语句部分; } 有参函数比无参函数多了一个参数表。调用有参 函数时,调用函数将赋予这些参数实际的值。 为了与调用函数提供的实际参数区别开,将函数 定义中的参数表称为形式参数表,简称形参表

案例41]定义一个函数,用于求两个数中的大数 /*案例代码文件名:AL41C* *功能:定义一个求较大数的函数并在主函数中调用* int max(int nl, int n2) /*定义一个函数maxO)*/ i return(n1>n2?n1: n2) maino i int max(int nl, int n2); /*函数说明* int numl num2: printf("input two numbers: n ); scanf(%od%d",&numl, &num2); printf("max=%od", max(numl, num2)); getcho /*使程序暂停,按任一键继续*
返回本章首页 下一页 上一页 [案例4.1] 定义一个函数,用于求两个数中的大数。 /*案例代码文件名:AL4_1.C*/ /*功能:定义一个求较大数的函数并在主函数中调用*/ int max(int n1, int n2) /*定义一个函数max()*/ { return (n1>n2?n1:n2); } main() { int max(int n1, int n2); /*函数说明*/ int num1,num2; printf("input two numbers:\n"); scanf("%d%d", &num1, &num2); printf("max=%d\n", max(num1,num2)); getch(); /*使程序暂停,按任一键继续*/ }

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

4.1.2函数的返回值与函数类型 C语言的函数兼有其它语言中的函数和过程两种功能,从这个 角度看,又可把函数分为有返回值函数和无返回值函数两种 1.函数返回值与 return语句 有参函数的返回值,是通过函数中的 Return语句来获 得的。 (1) return语句的一般格式: return(返回值表达 式) (2) return语句的功能:返回调用函数,并将“返回 值表达式”的值带给调用函数 注意:调用函数中无 return语句,并不是不返回一个值,而是 个不确定的值。为了明确表示不返回值,可以用“void定义成“无 空)类型
返回本章首页 下一页 上一页 4.1.2 函数的返回值与函数类型 C语言的函数兼有其它语言中的函数和过程两种功能,从这个 角度看,又可把函数分为有返回值函数和无返回值函数两种。 1.函数返回值与return语句 有参函数的返回值,是通过函数中的return语句来获 得的。 (1)return语句的一般格式: return ( 返回值表达 式 ); (2)return语句的功能:返回调用函数,并将“返回 值表达式”的值带给调用函数。 注意:调用函数中无return语句,并不是不返回一个值,而是一 个不确定的值。为了明确表示不返回值,可以用“void”定义成“无 (空)类型

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

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

4.1.4函数的调用 在程序中,是通过对函数的调用来执行函数体的,其过程与其它 语言的子程序调用相似。 C语言中,函数调用的一般形式为:函数名(实际参数表] 切记:实参的个数、类型和顺序,应该与被调用函数所要求的 参数个数、类型和顺序一致,才能正确地进行数据传递 在C语言中,可以用以下几种方式调用函数: )的数表达式。函数作为表达式的一项,出现在表达式中 以函数返回值参与表达式的运算。这种方式要求函数是有返回值的。 (2)的数语句。C语言中的函数可以只进行某些操作而不返回 函数值,这时的函数调用可作为一条独立的语句 (3)函数实参。函数作为另一个函数调用的实际参数出现。这 种情况是把该函数的返回值作为实参进行传送因此要求该函数必 须是有返回值的
返回本章首页 下一页 上一页 4.1.4 函数的调用 在程序中,是通过对函数的调用来执行函数体的,其过程与其它 语言的子程序调用相似。 C语言中,函数调用的一般形式为: 函数名([实际参数表]) 切记:实参的个数、类型和顺序,应该与被调用函数所要求的 参数个数、类型和顺序一致,才能正确地进行数据传递。 在C语言中,可以用以下几种方式调用函数: (1)函数表达式。函数作为表达式的一项,出现在表达式中, 以函数返回值参与表达式的运算。这种方式要求函数是有返回值的。 (2)函数语句。C语言中的函数可以只进行某些操作而不返回 函数值,这时的函数调用可作为一条独立的语句。 (3)函数实参。函数作为另一个函数调用的实际参数出现。这 种情况是把该函数的返回值作为实参进行传送,因此要求该函数必 须是有返回值的
按次数下载不扣除下载券;
注册用户24小时内重复下载只扣除一次;
顺序:VIP每日次数-->可用次数-->下载券;
- 鞍山科技大学:《C语言程序设计与数据结构》第3章 结构控制语句.ppt
- 鞍山科技大学:《C语言程序设计与数据结构》第2章 简单程序设计.ppt
- 鞍山科技大学:《C语言程序设计与数据结构》第1章 C语言概述.ppt
- 鞍山科技大学:《C语言程序设计与数据结构》目录.ppt
- 《Linux 实用教程》linux系统调用.ppt
- 《Linux 实用教程》Linux文件管理.ppt
- 《Linux 实用教程》Linux内核结构与进程管理.ppt
- 《Linux 实用教程》Linux存储管理.ppt
- 《Linux 实用教程》DeviceAndModule.ppt
- 《Linux 实用教程》第9章 Linux编程基础.ppt
- 《Linux 实用教程》第8章 Linux网络安全.ppt
- 《Linux 实用教程》第7章 Web应用服务.ppt
- 《Linux 实用教程》第6章 Internet应用服务器的配置.ppt
- 《Linux 实用教程》第5章 Intranet服务器.ppt
- 《Linux 实用教程》第4章 Linux网络基础.ppt
- 《Linux 实用教程》第3章 Linux系统管理.ppt
- 《Linux 实用教程》第2章 Linux的常用命令.ppt
- 《Linux 实用教程》第1章 Linux概况及安装.ppt
- 《Linux 实用教程》Linux下的shel1与make.doc
- 《数据结构》课程教学资源:研究的内容.ppt
- 鞍山科技大学:《C语言程序设计与数据结构》第5章 数据的顺序存储结构及应用.ppt
- 鞍山科技大学:《C语言程序设计与数据结构》第6章 指针.ppt
- 鞍山科技大学:《C语言程序设计与数据结构》第7章 数据的链式存储及应用.ppt
- 鞍山科技大学:《C语言程序设计与数据结构》第8章 树的存储结构及应用.ppt
- 鞍山科技大学:《C语言程序设计与数据结构》第9章 查找与排序.ppt
- 鞍山科技大学:《C语言程序设计与数据结构》第10章 位运算.ppt
- 鞍山科技大学:《C语言程序设计与数据结构》第11章 文件.ppt
- 清华大学:《计算机组成原理》存储器习题.doc
- 清华大学:《计算机组成原理》第一讲 计算机系统概述.ppt
- 清华大学:《计算机组成原理》第二讲 计算机发展简史.ppt
- 清华大学:《计算机组成原理》第三讲 逻辑电路设计基础.ppt
- 清华大学:《计算机组成原理》第四、五讲 信息表示与编码.ppt
- 清华大学:《计算机组成原理》第六-八讲 计算机算法和算法逻辑实现.ppt
- 清华大学:《计算机组成原理》第九-十讲 存储器.ppt
- 清华大学:《计算机组成原理》第十一、十二讲 指令系统.ppt
- 清华大学:《计算机组成原理》第二十一、二十三讲 流水线处理机.ppt
- 清华大学:《计算机组成原理》第二十七、二十八讲 输入输出设备.ppt
- 清华大学:《计算机组成原理》第二十九、三十二讲 输入输出系统.ppt
- 清华大学:《计算机组成原理》第三讲 逻辑电路设计基础.ppt
- 清华大学:《计算机组成原理》第八讲 控制器.ppt