《C语言程序设计》课程教学课件(PPT讲稿)第八章 函数

第8章1 函数 §8.1概述 ★模块化程序设计 ★基本思想:将一个大程序按功能分割成一些小模块, 特点: ●模块相对独立、功能单一、接口简单 ●控制了程序设计的复杂性 ●提高元件的可靠性 ●缩短开发周期 ●避免程序开发的重复劳动 ●易于维护和功能扩充 冬开发方法:自上向下,逐步分解,分而治之
第8章 函数 §8.1 概述 模块化程序设计 基本思想:将一个大程序按功能分割成一些小模块, ❖特点: ⚫模块相对独立、功能单一、接口简单 ⚫控制了程序设计的复杂性 ⚫提高元件的可靠性 ⚫缩短开发周期 ⚫避免程序开发的重复劳动 ⚫易于维护和功能扩充 ❖开发方法: 自上向下,逐步分解,分而治之

★C是模块化程序设计语言 C程序 源程序文件1 源程序文件1 源程序文件n 预编译命令 函数1 函数n 说明部分 执行部分 C程序结构 四C是函数式语言,包括标准库函数和用户自定义函数 四必须有且只能有一个名为main主函数(开始1结束点) 四c程序的执行总是从main函数开始,在main中结束 四函数不能嵌套定义,可嵌套调用(主调和被调) 四main函数只能是主调函数,其他函数则两者皆可
C是模块化程序设计语言 源程序文件1 预编译命令 说明部分 执行部分 函数1 函数n 源程序文件i 源程序文件n C程序 C程序结构 C是函数式语言,包括标准库函数和用户自定义函数 必须有且只能有一个名为main主函数(开始\结束点) C程序的执行总是从main函数开始,在main中结束 函数不能嵌套定义, 可嵌套调用(主调和被调) main函数只能是主调函数,其他函数则两者皆可

★函数分类 必从用户角度 ●标准函数(库数):由系统提供 ●用户白自定义丞数 从函数形式 ●无参丞数 ●有参数 使用库函数应注意: 1、函数功能 2、函数参数的数目和顺序,及各参数意义和类型 3、函数返回值意义和类型 4、 需要使用的包含文件
函数分类 ❖从用户角度 ⚫标准函数(库函数):由系统提供 ⚫用户自定义函数 ❖从函数形式 ⚫无参函数 ⚫有参函数 使用库函数应注意: 1、函数功能 2、函数参数的数目和顺序,及各参数意义和类型 3、函数返回值意义和类型 4、需要使用的包含文件

函数返回值类 §8.2函数的定义 型缺省int型无 返回值,省略 ★一般格式 return,void 函数头 标准c定义: 函数类型 函数名(形参类型说明表) 函数体 声明部分 执行部分 例无参函数 printstar() {printf(*******n);} 或 printstar(void printf******n2”);}
§8.2 函数的定义 一般格式 函数返回值类 型缺省int型无 返回值,省略 return,void 函数体 函数类型 函数名(形参类型说明表) { 声明部分 执行部分 } 标准c定义: 例 有参函数(标准c) int max(int x,int y) { int z; z=x>y?x:y; return(z); } 例 有参函数(标准c) int max(int x, y) { int z; z=x>y?x:y; return(z); } 例 空函数 dummy( ) { } 函数体为空 例 无参函数 printstar( ) { printf(“**********\n”); } 或 printstar(void ) { printf(“**********\n”); } 函数头

函数头 函数类型 函数名(形参表) 经典c定义: 形参类型说明 说明部分 函数体 语句部分 例 有参函数(传统风格) int i max (x,y) int x,y; int z; z=x>y?x:y; return (z)
函数类型 函数名(形参表) 形参类型说明 { 说明部分 语句部分 } 经典c定义: 例 有参函数(传统风格) int max(x,y) int x,y; { int z; z=x>y?x:y; return(z); } 函数体 函数头

例8.1:求3个字符中的最大值 char char①max(char x,char v,char z→ max (x,y,z) char m; char x,y,x; m=x>y?x:y m=m>z?m:z main函数可在任何位置, return(m ) x、y、z形参,a、b、c为 ②main() 实参,函数不能自己执行, char a,b,c,d; 只能被调用 printf(“Enter three characters:\n”); scanf(“%c,%c,%c”,&a,&b,&c); d=max a,b,c printf(“Max=%c”,d);
例8.1:求3个字符中的最大值 char ①max(char x,char y,char z ) { char m; m = x > y ? x : y ; m = m > z ? m : z ; return( m ); } ②main( ) { char a,b,c,d; printf(“Enter three characters:\n”); scanf(“%c,%c,%c”,&a,&b,&c ); d = max( a,b,c ); printf(“Max = %c”, d); } main函数可在任何位置, x、y、z形参,a、b、c为 实参,函数不能自己执行, 只能被调用 char max(x,y,z); char x,y,x;

8.3函数的参数和返回值 ?形式参数:定义函数时函数名后面括号中的变量名 冬实际参数:调用函数时函数名后面括号中的表达式 比较两个数并输出大者 main() c=max(a,b);(main函数) {int a,b,c; max (int x,int y) scanf ("%d,%d",&a,&b) int z; (max函数) c=max (a,b); 实参 z=x>y?x:y; printf("Max is %d,c; return (z) 形参 max (int x,int y) int z; z=x>y?x:y; return(z);]
8.3 函数的参数和返回值 ❖形式参数:定义函数时函数名后面括号中的变量名 ❖实际参数:调用函数时函数名后面括号中的表达式 c=max(a,b); (main函数) (max函数) max(int x, int y) { int z; z=x>y?x:y; return(z); } 比较两个数并输出大者 main() {int a,b,c; scanf("%d,%d",&a,&b); c=max(a,b); printf("Max is %d",c); } max(int x, int y) { int z; z=x>y?x:y; return(z);} 形参 实参

★说明: 实参必须有确定的值,可是常量、变量或表达式 冬形参必须指定类型 冬形参与实参类型一致,个数相同 冬若形参与实参类型不一致,自动按形参类型转 换一 函数调用转换(标准c定义) 冬对于经典c函数定义,当参数个数和类型不匹配 时,运行结果错误 形参在函数被调用前不占内存;无确定值,函数 调用时为形参分配内存,接收传递来的实参值; 调用结束,内存释放 ?形参是函数内部的局部变量,可以和实参同名
说明: ❖实参必须有确定的值,可是常量、变量或表达式 ❖形参必须指定类型 ❖形参与实参类型一致,个数相同 ❖若形参与实参类型不一致,自动按形参类型转 换— 函数调用转换(标准c定义) ❖对于经典c函数定义,当参数个数和类型不匹配 时,运行结果错误 ❖形参在函数被调用前不占内存;无确定值,函数 调用时为形参分配内存,接收传递来的实参值; 调用结束,内存释放 ❖形参是函数内部的局部变量,可以和实参同名

例 计算x的立方 #include a 1.2 float cube(float x) product 1.728 return (x*x*x); main() float a,product; printf("Please input value of a:") scanf ("%f",&a); product=cube(a); printf("Cube of %4f is %4f\n",a,product)
例 计算x的立方 #include float cube(float x) { return(x*x*x); } main() { float a, product; printf("Please input value of a:"); scanf("%f",&a); product=cube(a); printf(”Cube of %.4f is %.4f\n",a,product); } x a product ×× ×× 1.2 1.2 1.728

返回语句 例 无返回值函数 形式return(表达式);或r void swap(int x,int y 功能:①为完成一定的处玛 {int temp; 无返回值;②为得到计算 temp=x; 调函数返回调用函数,同 x=y; 说明:函数中可有多个 y=temp; 若无return语句,遇}时} 若函数类型与return语句中表达式值的类型不一致, 按前者为准,自动转换- 函数调用转换 无返回值的函数应定义为void型,否则返回一个不确 定的值 return语句的功能是结束被调函数的运行,返回主调 函数继续执行后面的语句。无返回值的函数可用 return
返回语句 形式return(表达式);或return 表达式;或return; 功能:①为完成一定的处理功能,被调函数只执行处理, 无返回值;②为得到计算处理结果,使程序控制从被 调函数返回调用函数,同时把返回值给调用函数 说明:函数中可有多个return语句 若无return语句,遇}时,自动返回调用函数 若函数类型与return语句中表达式值的类型不一致, 按前者为准,自动转换-函数调用转换 无返回值的函数应定义为void型,否则返回一个不确 定的值 return语句的功能是结束被调函数的运行,返回主调 函数继续执行后面的语句。无返回值的函数可用 return ; 例 无返回值函数 void swap(int x,int y ) {int temp; temp=x; x=y; y=temp; }
按次数下载不扣除下载券;
注册用户24小时内重复下载只扣除一次;
顺序:VIP每日次数-->可用次数-->下载券;
- 《C语言程序设计》课程教学课件(PPT讲稿)第九章 预处理命令.ppt
- 《C语言程序设计》课程教学课件(PPT讲稿)第五章 选择结构程序设计.ppt
- 《C语言程序设计》课程教学课件(PPT讲稿)第七章 数组.ppt
- 《C语言程序设计》课程教学课件(PPT讲稿)第六章 循环控制.ppt
- 《C语言程序设计》课程教学课件(PPT讲稿)第三章 数据描述.ppt
- 《C语言程序设计》课程教学课件(PPT讲稿)第四章 最简单的c程序设计——顺序程序设计.ppt
- 《C语言程序设计》课程教学课件(PPT讲稿)第二章 程序的灵魂——算法.ppt
- 《C语言程序设计》课程教学课件(PPT讲稿)第一章 C语言概述.ppt
- 《C语言程序设计》课程教学资源(作业习题)选择题样题(无答案).doc
- 《C语言程序设计》课程教学资源(作业习题)习题集(末页含答案).ppt
- 《C语言程序设计》课程教学资源(作业习题)选择填空题(无答案).doc
- 《C语言程序设计》课程教学资源(作业习题)判断题样题(无答案).doc
- 《C语言程序设计》课程实验指导(讲义)实验一 C语言程序设计准备.doc
- 《C语言程序设计》课程实验指导(讲义)实验九 指针与字符串.doc
- 《C语言程序设计》课程实验指导(讲义)实验八 指针及其运算.doc
- 《C语言程序设计》课程实验指导(讲义)实验十 指针与数组.doc
- 《C语言程序设计》课程实验指导(讲义)实验五 数组和字符串.doc
- 《C语言程序设计》课程实验指导(讲义)实验六 函数与变量.doc
- 《C语言程序设计》课程实验指导(讲义)实验七 定义编译预处理.doc
- 《C语言程序设计》课程实验指导(讲义)实验四 循环结构和转移语句.doc
- 《C语言程序设计》课程教学课件(PPT讲稿)第十章 指针.ppt
- 《力学》课程教学资源(作业习题)静力学测验(无答案).pdf
- 《力学》课程教学资源(作业习题)运动学模拟试题(无答案).pdf
- 《力学》课程教学资源(作业习题)动力学试题(无答案).pdf
- 《力学》课程教学资源(作业习题)材料力学习题解.doc
- 《力学》课程教学资源(作业习题)材料力学试题(样卷,含答案).doc
- 《力学》课程教学资源(作业习题)工程力学试题(样卷,含参考答案).doc
- 《力学》课程教学资源(PPT课件)材料力学——扭转.ppt
- 《力学》课程教学资源(PPT课件)工程力学——杆件的内力.ppt
- 《力学》课程教学资源(PPT课件)实验力学——静态测量.ppt
- 《数据结构》课程实验指导.pdf
- 《数据结构》课程作业习题(无答案).pdf
- 《微型计算机技术及应用》课程教学大纲 Microcomputer Principle and Its Applications.pdf
- 《微型计算机技术及应用》课程授课教案(讲义)第3章 C51基本语法.doc
- 《微型计算机技术及应用》课程授课教案(讲义)第5章 51单片机的外围模块及应用 5.1 并口.doc
- 《微型计算机技术及应用》课程授课教案(讲义)第2章 51系列单片机系统结构.doc
- 《微型计算机技术及应用》课程授课教案(讲义)第5章 51单片机的外围模块及应用 5.2 定时器及其应用.doc
- 《微型计算机技术及应用》课程授课教案(讲义)第1章 单片微型计算机基础知识.doc
- 《微型计算机技术及应用》课程授课教案(讲义)第5章 51单片机的外围模块及应用 5.3 串口UART.doc
- 《微型计算机技术及应用》课程授课教案(讲义)第7章 C51应用程序设计.doc