中国农业大学:《C语言程序设计》课程教学课件(PPT讲稿)第05章 函数

一个程序应当是轻盈的、灵活的,它的子程 序就像一串珍珠一样连接着。它的精神和意 图应该贯穿始终。在程序中,内容既不应太 多,也不应太少;既不应该有不需要的循环 结构,也不该有冗余的变量;既不缺乏结构 性,又不过分僵化。 -Geoffrey James的《编程之道》
一个程序应当是轻盈的、灵活的,它的子程 序就像一串珍珠一样连接着。它的精神和意 图应该贯穿始终。在程序中,内容既不应太 多,也不应太少;既不应该有不需要的循环 结构,也不该有冗余的变量;既不缺乏结构 性,又不过分僵化。 - Geoffrey James的《编程之道》

模块化程序设计 Clock png Mail_-_1.png iPhoto.png Internet.png iMovie.png Music.png
模块化程序设计

第5章函数 ◆5.1函数的定义 5.2函数的调用 5.3函数的声明 5.4函数参数的传值 5.5嵌套调用和递归调用 5.6变量的使用范围和存储类别
第5章 函数 5.1 函数的定义 5.2 函数的调用 5.3 函数的声明 5.4 函数参数的传值 5.5 嵌套调用和递归调用 5.6 变量的使用范围和存储类别

一个C程序可由一个主函数和若干个其他 函数(子函数)构成。由主函数调用其他 函数,其他函数也可以互相调用,但不能 调用主函数。 main
一个C程序可由一个主函数和若干个其他 函数(子函数)构成。由主函数调用其他 函数, 其他函数也可以互相调用, 但不能 调用主函数

函数分类 从用户角度 标准函敖(詹函数):由系琥提供 用户百定义函数 从函数形式 函数原型 int abs(int_X)) 1、函数功能 求绝对值 2、函数参数的数目、类型、顺序、 1个n类型的参数,表示对此参数 意义 求绝对值 3、函数返回值类型、意义 int类型的返回值,表示取绝对值 之后的结果 4、使用时所需要包含的头文件 math.h
函数分类 从用户角度 标准函数(库函数):由系统提供 用户自定义函数 从函数形式 无参函数 有参函数 函数原型 int abs(int _X) 1、函数功能 求绝对值 2、函数参数的数目、类型、顺序、 意义 1个int类型的参数,表示对此参数 求绝对值 3、函数返回值类型、意义 int类型的返回值,表示取绝对值 之后的结果 4、使用时所需要包含的头文件 math.h

1.一个函数中可有多个return语句。 2.return语句后面可以是变量、常量、表达式,可以用小 括号将它括起来。 3.若无returni语句,遇“}”时,程序自动返回调用函数 4.函数类型最好与returni语句返回的值类型保持一致。若 不一致,函数结果以函数类型为准,由C编译系统自动完成 类型转换。 函数体 int f (inta,int b) int s; s=a+b; return s;
有一道数学题目:有三个未知数a,b,c, 其中c = f(a,b) = a+b; 函数定义的一般形式 函数类型,即:函数值(或者称 为函数的因变量)的类型。 缺省表示int型,无返回值void 函数类型 函数名(类型1形式参数1, 类型2 形式参数2,.) { 说明部分 语句部分 } 函数首部或函数头 函数体 int f(int a, int b) { int s; s = a + b; return s; } 用合法标识符命名, 最好见名知意 简称形参,指函数中的自变量,是从函数外部向函数 内部运送值的数据通道。可根据需要有0到多个。定义 时每个形参都应指出各自的类型。 变量说明部分主要是定义运算所需要的变量。因为这 些变量在函数内部定义,又称为局部变量。只在函数 内部使用有效,不能在函数外部使用。 语句部分主要是利用已定义的变量进行运算,得到结果。 函数最终需要得到一个结果时,末尾会写return 语句。 否则可以不写返回语句,此时函数类型应写为void。 return是从函数内部向外部传送值的数据通道 1. 一个函数中可有多个return语句。 2. return语句后面可以是变量、常量、表达式,可以用小 括号将它括起来。 3. 若无return语句,遇“}”时,程序自动返回调用函数 4. 函数类型最好与return语句返回的值类型保持一致。若 不一致,函数结果以函数类型为准,由C编译系统自动完成 类型转换

【例5.1】用C程序函数实现数学函数的功能
【例5.1】用C程序函数实现数学函数f的功能

将数学函数f(a,b)对应写为C程序函数: int f(int a,intb)/*定义函数f,形式参数a,b为整型*/ { /*函数的开始*/ int s; 心声明部分,定义本函数中用到的变量s*/ a s=a+b; +b return s; 输 入 出
将数学函数f (a , b)对应写为C程序函数: int f(int a, int b) /*定义函数f, 形式参数a,b为整型*/ { /*函数f的开始*/ int s; /*声明部分,定义本函数中用到的变量s*/ s = a + b; /*语句部分,运算求和结果放入s中*/ return s; /*将s的值返回给函数f,即: f(a,b) = s; */ } /*函数f的结束 a b a + b s 输 出 输 入

找找我是否有错? int f(int a,b) int f(int a,int b) int s; int s; error s=a+b; s=a+b; return s; return s; 3
找找我是否有错? int f(int a, b) { int s; s = a + b; return s; } int f(int a, int b) { int s; s = a + b; return s; } error

找找我是否有错? int f(int a,int b); int f(int a,int b) { int s; int s; s=a+b; error s=a+b; return s; return s; 3
找找我是否有错? int f(int a, int b); { int s; s = a + b; return s; } int f(int a, int b) { int s; s = a + b; return s; } error
按次数下载不扣除下载券;
注册用户24小时内重复下载只扣除一次;
顺序:VIP每日次数-->可用次数-->下载券;
- 中国农业大学:《C语言程序设计》课程教学课件(PPT讲稿)第07章 预处理命令.ppt
- 中国农业大学:《C语言程序设计》课程教学课件(PPT讲稿)第08章 结构体.ppt
- 中国农业大学:《C语言程序设计》课程教学课件(PPT讲稿)第09章 文件.ppt
- 《C语言程序设计》课程教学资源(讲义资料)考试知识点复习(C语言程序设计复习样题及部分解析).doc
- 中国农业大学:《C语言程序设计》课程教学资源(试卷习题)C程序设计讲义与习题(含参考答案).pdf
- 《C语言程序设计》课程教学资源(讲义资料)C语言程序设计期中测试(分支与循环以前知识点,带答案).pdf
- 《C语言程序设计》课程教学资源(讲义资料)C语言程序设计期中测试(数组,带答案).pdf
- 中国农业大学:《C语言程序设计》课程教学课件(PPT讲稿)第06章 指针.ppt
- 《C语言程序设计》课程教学资源(讲义资料)C语言程序设计期中测试(函数,带答案).pdf
- 《C语言程序设计》课程教学课件(PPT讲稿)c语言指针完整教程.ppt
- 《C语言程序设计》课程教学课件(PPT讲稿)C语言指针详解.ppt
- 《C语言程序设计》课程教学资源(讲义资料)C语言指针用法详解.pdf
- 《C语言程序设计》课程教学资源(讲义资料)C指针详解(经典详细).pdf
- 《C语言程序设计》课程教学资源(讲义资料)C语言中详解指针.doc
- 《计算机导论》课程教学课件(英文讲稿)7-a- Web.pdf
- 《计算机导论》课程教学课件(英文讲稿)6-b- The Internet.pdf
- 《计算机导论》课程教学课件(英文讲稿)6-a- The Internet.pdf
- 《计算机导论》课程教学课件(英文讲稿)5-b- LANS_WANS.pdf
- 《计算机导论》课程教学课件(英文讲稿)5-a- LANS_WANS.pdf
- 《计算机导论》课程教学课件(英文讲稿)4-a- File mangement.pdf
- 中国农业大学:《C语言程序设计》课程教学课件(PPT讲稿)第04章 数组.ppt
- 中国农业大学:《C语言程序设计》课程教学课件(PPT讲稿)第03章 三种基本控制结构(下).ppt
- 中国农业大学:《C语言程序设计》课程教学课件(PPT讲稿)第04章 三种基本控制结构(上).ppt
- 中国农业大学:《C语言程序设计》课程教学课件(PPT讲稿)第02章 数据类型、运算符和表达式.ppt
- 中国农业大学:《C语言程序设计》课程教学课件(PPT讲稿)第01章 C语言概述(主讲:李辉).ppt
- 《数据结构》课程实验教学大纲 Data Structure.doc
- 《数据结构》课程设计教学大纲 Course Design of Data Structure.doc
- 《数据结构》课程教学大纲 Data Structure.doc
- 《数据结构》课程教学资源(作业习题)练习题及答案8.doc
- 《数据结构》课程教学资源(作业习题)练习题及答案6.doc
- 《数据结构》课程教学资源(作业习题)练习题及答案7.doc
- 《数据结构》课程教学资源(作业习题)练习题及答案9.doc
- 《数据结构》课程教学资源(作业习题)练习题及答案2.doc
- 《数据结构》课程教学资源(作业习题)练习题及答案3.doc
- 《数据结构》课程教学资源(作业习题)练习题及答案4.doc
- 《数据结构》课程教学资源(作业习题)练习题及答案1.doc
- 《数据结构》课程教学资源(试卷习题)第10章 排序自测卷空题(无答案).doc
- 《数据结构》课程教学资源(试卷习题)第9章 自测卷空题(无答案).doc
- 《数据结构》课程教学资源(试卷习题)第6章 二叉树课练空题(无答案).doc
- 《数据结构》课程教学资源(试卷习题)第7章 自测空题(无答案).doc