大学计算机c语言函数函数的定义和使用.ppt





《大学计算机c语言函数函数的定义和使用.ppt》由会员分享,可在线阅读,更多相关《大学计算机c语言函数函数的定义和使用.ppt(29页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、1关于大学计算机关于大学计算机关于大学计算机关于大学计算机C C语语语语言函数函数的定义和言函数函数的定义和言函数函数的定义和言函数函数的定义和使用使用使用使用现在学习的是第1页,共29页2一、函数的概念一、函数的概念 函数是形式上独立、功能上完整的程序段(块)。在C程序设计中常将一些常用功能模块编写成函数。函数可以完成特定的计算或操作处理功能。C程序由函数组成;函数在形式上是平行的,不允许嵌套定义;C程序只执行主函数,子函数必须通过主函数或其他子函数的调用才能被执行;子函数不能调用主函数。实质上,设计程序就是设计函数。5.1 程序设计的艺术程序设计的艺术 (略)(略)5.2 函数的定义和使用
2、函数的定义和使用现在学习的是第2页,共29页3二、函数的分类二、函数的分类(一)从用户的角度分(一)从用户的角度分1.1.标准函数,即库函数标准函数,即库函数 ANSI CANSI C预先定义的用户可直接使用的函数;预先定义的用户可直接使用的函数;使用库函数时,必须用使用库函数时,必须用#include#include把该函数所在的头文件包含进来。把该函数所在的头文件包含进来。2.2.用户自定义函数用户自定义函数 是用户为了解决各种应用问题而自行设计的函数是用户为了解决各种应用问题而自行设计的函数。用户用户自定义函数必须先定义后使用自定义函数必须先定义后使用!(二)从形式上分(二)从形式上分1
3、.1.无参函数:无参函数:即无形式参数的函数。即无形式参数的函数。如:如:getchar()getchar()2.2.有参函数有参函数 即带有形式参数的函数即带有形式参数的函数 如:如:putchar(ch)putchar(ch)、sqrt(x)sqrt(x)现在学习的是第3页,共29页4三、函数的定义三、函数的定义1、无参函数的定义无参函数的定义函数返回值类型函数返回值类型函数返回值类型函数返回值类型 函数名函数名(void)函数体函数体其中:函数返回值类型表示函数的返回结果值类型,函数只能有一其中:函数返回值类型表示函数的返回结果值类型,函数只能有一个返回值,若函数无返回值即用个返回值,若
4、函数无返回值即用void声明;返回函数值需使用:声明;返回函数值需使用:return 变量变量|表达式;表达式;函数名由用户按标识符的命名规则自行给定,但不能与标函数名由用户按标识符的命名规则自行给定,但不能与标准函数同名;准函数同名;圆括号中的关键字圆括号中的关键字void表示函数无形式参数;表示函数无形式参数;函数体是由实现函数功能必需的语句组成。函数体是由实现函数功能必需的语句组成。现在学习的是第4页,共29页5例例1:无参函数的定义。:无参函数的定义。#includevoid PrintMessage(void)printf(t*n);printf(t Programming is f
5、un.n);printf(t*n);int main(void)PrintMessage();PrintMessage();PrintMessage();return 0;现在学习的是第5页,共29页6函数返回值类型函数返回值类型函数返回值类型函数返回值类型 函数名函数名函数名函数名(数据类型数据类型数据类型数据类型 参数参数参数参数1,1,1,1,数据类型数据类型 参数参数参数参数2,2,2,2,)函数体函数体函数体函数体 说明说明说明说明:函数返回值类型、函数名、函数体的含义与无参函数相同;函数返回值类型、函数名、函数体的含义与无参函数相同;函数返回值类型、函数名、函数体的含义与无参函数相
6、同;函数返回值类型、函数名、函数体的含义与无参函数相同;形式参数的格式如:数据类型形式参数的格式如:数据类型形式参数的格式如:数据类型形式参数的格式如:数据类型 形式参数形式参数形式参数形式参数1 1 1 1 形式参数(简称形参)必须单个独立定义,形参是用来接收函形式参数(简称形参)必须单个独立定义,形参是用来接收函形式参数(简称形参)必须单个独立定义,形参是用来接收函形式参数(简称形参)必须单个独立定义,形参是用来接收函数被调用时对应实际参数传递的值或地址的,因此形参只能是变量,数被调用时对应实际参数传递的值或地址的,因此形参只能是变量,数被调用时对应实际参数传递的值或地址的,因此形参只能是
7、变量,数被调用时对应实际参数传递的值或地址的,因此形参只能是变量,形参的存储空间是函数被调用时临时分配的动态空间、用完即释放形参的存储空间是函数被调用时临时分配的动态空间、用完即释放形参的存储空间是函数被调用时临时分配的动态空间、用完即释放形参的存储空间是函数被调用时临时分配的动态空间、用完即释放(不能永久存储数据)。(不能永久存储数据)。(不能永久存储数据)。(不能永久存储数据)。2 2、有参函数的定义、有参函数的定义现在学习的是第6页,共29页7intintintint Average(Average(Average(Average(intintintint x,x,x,x,intinti
8、ntint y)y)y)y)intintintint result;result;result;result;result=(x+y)/2;result=(x+y)/2;result=(x+y)/2;result=(x+y)/2;returnreturnreturnreturn result;result;result;result;函数首部函数体函数体例例2 2:定义有参函数计算两个整数的平均。:定义有参函数计算两个整数的平均。现在学习的是第7页,共29页8#includeinclude intint Average(Average(intint x,x,intint y)y)intint
9、result;result;result=(x+y)/2;result=(x+y)/2;return return result;result;int mainint main(void)(void)intint a1=12,b1=36,a2=24,b2=46,a3=5,b3=25;a1=12,b1=36,a2=24,b2=46,a3=5,b3=25;intint ave1,ave2,ave3;ave1,ave2,ave3;ave1=Average(a1,b1);ave1=Average(a1,b1);ave2=Average(a2,b2);ave2=Average(a2,b2);ave3=A
10、verage(a3,b3);ave3=Average(a3,b3);printfprintf(Average of%d and%d is%d.n,a1,b1,ave1);(Average of%d and%d is%d.n,a1,b1,ave1);printfprintf(Average of%d and%d is%d.n,a2,b2,ave2);(Average of%d and%d is%d.n,a2,b2,ave2);printfprintf(Average of%d and%d is%d.n,a3,b3,ave3);(Average of%d and%d is%d.n,a3,b3,av
11、e3);return 0;return 0;形参为整形变量x和y变量a1和b1为实际参数现在学习的是第8页,共29页91 1 1 1、函数调用的一般形式:、函数调用的一般形式:、函数调用的一般形式:、函数调用的一般形式:函数名(实在参数表)函数名(实在参数表)函数名(实在参数表)函数名(实在参数表)其中:其中:其中:其中:形参形参形参形参(形式参数)定义函数时在函数名后括号中声明的参数;形式参数)定义函数时在函数名后括号中声明的参数;形式参数)定义函数时在函数名后括号中声明的参数;形式参数)定义函数时在函数名后括号中声明的参数;实参实参实参实参(实际参数实际参数实际参数实际参数 )在主调在主调
12、在主调在主调函数中调用函数时函数名后面括号中的参数函数中调用函数时函数名后面括号中的参数函数中调用函数时函数名后面括号中的参数函数中调用函数时函数名后面括号中的参数(或表或表或表或表达式达式达式达式);调用函数时实参的个数、顺序、类型必须与形参一一对应调用函数时实参的个数、顺序、类型必须与形参一一对应调用函数时实参的个数、顺序、类型必须与形参一一对应调用函数时实参的个数、顺序、类型必须与形参一一对应(赋值相容);实参可是常量、变量、函数或表达式;(赋值相容);实参可是常量、变量、函数或表达式;(赋值相容);实参可是常量、变量、函数或表达式;(赋值相容);实参可是常量、变量、函数或表达式;函数调
13、用时实参和形参是采用函数调用时实参和形参是采用函数调用时实参和形参是采用函数调用时实参和形参是采用单向值传递单向值传递单向值传递单向值传递形式即将实参的数形式即将实参的数形式即将实参的数形式即将实参的数值或地址单向传给对应的形参。值或地址单向传给对应的形参。值或地址单向传给对应的形参。值或地址单向传给对应的形参。四、函数的调用四、函数的调用现在学习的是第9页,共29页10有返回值时(有返回值时(即函数功能为某种计算功能即函数功能为某种计算功能)返回值返回值 =函数名函数名(实参表列实参表列););例如:以赋值语句形式调用函数例如:以赋值语句形式调用函数例如:以赋值语句形式调用函数例如:以赋值语
14、句形式调用函数如如如如 c=max(a,b);c=max(a,b);c=max(a,b);c=max(a,b);例如:作为另一个函数的参数形式调用函数例如:作为另一个函数的参数形式调用函数例如:作为另一个函数的参数形式调用函数例如:作为另一个函数的参数形式调用函数如如如如 c=max(max(a,b),c);c=max(max(a,b),c);printf(%dn,max(a,b);printf(%dn,max(a,b);无返回值时(无返回值时(即函数功能是完成某种操作或处理)即函数功能是完成某种操作或处理)例如:以表达式语句形式调用函数例如:以表达式语句形式调用函数例如:以表达式语句形式调用
15、函数例如:以表达式语句形式调用函数如如如如 display(a,b);display(a,b);函数名函数名(实参表列实参表列););2 2、具体调用形式、具体调用形式现在学习的是第10页,共29页11理解函数的调用理解函数的调用理解函数的调用理解函数的调用参数的传递参数的传递参数的传递参数的传递int mainint main(void)(void)intint a=12;a=12;intint b=24;b=24;intint ave;ave;ave=Average(a,b);ave=Average(a,b);printfprintf(Average of%d and%d is%d.nAv
16、erage of%d and%d is%d.n,a,b,ave);,a,b,ave);return 0;return 0;#include#include int Average(int x,int y)int Average(int x,int y)int result;int result;result=(x+y)/2;result=(x+y)/2;return result;return result;现在学习的是第11页,共29页12例例3:定义求:定义求n!函数,然后调用该函数求函数,然后调用该函数求sum=1!+2!+3!+m!的值。的值。#include#include doub
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 大学计算机 语言 函数 定义 使用

限制150内