《c语言程序设计》电子教案课件-第7章_函数

上传人:aa****6 文档编号:51414082 上传时间:2018-08-14 格式:PPT 页数:38 大小:396.50KB
返回 下载 相关 举报
《c语言程序设计》电子教案课件-第7章_函数_第1页
第1页 / 共38页
《c语言程序设计》电子教案课件-第7章_函数_第2页
第2页 / 共38页
《c语言程序设计》电子教案课件-第7章_函数_第3页
第3页 / 共38页
《c语言程序设计》电子教案课件-第7章_函数_第4页
第4页 / 共38页
《c语言程序设计》电子教案课件-第7章_函数_第5页
第5页 / 共38页
点击查看更多>>
资源描述

《《c语言程序设计》电子教案课件-第7章_函数》由会员分享,可在线阅读,更多相关《《c语言程序设计》电子教案课件-第7章_函数(38页珍藏版)》请在金锄头文库上搜索。

1、 C语言程序设计第七章 函数目标要求课后作业讲课提纲讲课内容退出最常用的几个库函数 7.1 C的库函数简介函数原型 功 能 返回值 double fabs(double x)求x的绝对值 。 计算结果 double sqrt(double x) 计算x的算术平方根。 计算结果 double pow(double x, dluble y) 计算xy的值。 计算结果 double sin(double x) 计算sin(x)的值。计算结果 double cos(double x) 计算cos(x)的值。 计算结果 double log(dluble x) 计算lnx的值 计算结果 double e

2、xp(double x) 求ex的值计算结果 int rand(void) 产生一个0到32767之间 的随机整数。 随机整数 第7章 函数目标要求课后作业讲课提纲讲课内容退出最常用的几个库函数7.1 C的库函数简介char * strcat(char *str1,char *str2) 把str2接到str1的后面 ,str1最后面的0被取 消。 返回str1 char * strcpy(char *str1,char *str2) 把str2指向的字符串复 制到str1中去。 返回str1 unsigned strlen(char *str) 统计 字符串str中字符的 个数(不包括0)

3、返回字符个数 FILE *fopen(char *filename,char *mode) 以mode指定的方式打开 名为filename的文件。成功返回文件指针,否 则返回0 int fclose(FILE *fp) 关闭fp所指的文件,释 放文件缓冲区。 有错返回非0值,否则返 回0 int feof(FILE *fp) 检查 文件是否结束。 文件结束返回非0值,否 则返回0第7章 函数目标要求课后作业讲课提纲讲课内容退出使用库函数应注意:1、函数功能2、函数参数的数目和顺序,及各参数意义和类型3、函数返回值意义和类型4、需要使用的包含文件7.1 C的库函数简介第7章 函数目标要求课后作业

4、讲课提纲讲课内容退出7.2.1 函数定义的一般形式类型标识符 函数名(形式参数表) 函数声明部分; 函数语句部分; 现代风格:函数返回值类 型缺省int 型合法标识符函数体函数的参 数例 有参函数(现代风格)int max(int x,int y) int z;z=xy?x:y;return(z);例 无参函数printstar( ) printf(“*n”); 或printstar(void ) printf(“*n”); 例 空函数dummy( ) 第7章 函数目标要求课后作业讲课提纲讲课内容退出形式参数:在定义函数时函数名后面圆括号中的变量名 实际参数 :在主调用函数中调用一个函数时,函

5、数名 后面圆括号中的表达式 例 比较两个数并输出大者7.3.1形式参数和实际参数 main() int a,b,c;scanf(“%d,%d“,c=max(a,b);printf(“Max is %d“,c); max(int x, int y) int z;z=xy?x:y;return(z); 实参形参c=max(a,b);(main 函数)(max 函数)max(int x, int y) int z;z=xy?x:y;return(z); 第7章 函数目标要求课后作业讲课提纲讲课内容退出返回语句:形式: return(表达式);或 return 表达式;或 return;功能:使程序控

6、制从被调用函数返回到调用函 数中,同时把返值带给调用函数说明:若无return语句,遇时,自动 返回调用函数若函数类型与return语句中表达 式值的类型不一致,按前者为准,自动转换- 函数调用转换7.3.2函数的返回值 第7章 函数目标要求课后作业讲课提纲讲课内容退出7.3.1形式参数和实际参数 形式参数:在定义函数时函数名后面圆括号中的变量名 实际参数 :在主调用函数中调用一个函数时,函数名 后面圆括号中的表达式 说明:实参必须有确定的值,以传值给形参形参必须指定类型形参与实参类型一致,个数相同若形参与实参类型不一致,自动按形参类型转换 函数调用转换形参在函数被调用前不占内存;函数调用时为

7、形参 分配内存;调用结束,内存释放第7章 函数目标要求课后作业讲课提纲讲课内容退出调用形式:函数名(实参表);说明:实参与形参个数相等,类型一致,按顺序一一 对应无参函数调用时,圆括号不可省略函数定义与函数调用的区别:函数的定义中有“类型标识符”而函数的调 用中没有。函数的定义中的参数为“形参”,而函数的 调用中参数为“实参”。函数的定义后没有“;”,而函数的调用中 有“;”(函数作为实参外)。7.2.2函数调用的一般形式 第7章 函数目标要求课后作业讲课提纲讲课内容退出函数调用方式函数语句:例 printf(“I love China!n“);函数表达式:例 c=max(a,b);函数参数:

8、例 printf(“%dn“,max(a,b);putchar(getchar();实参表求值顺序,因系统而定(Turbo C 自右向左)7.2.2函数调用的一般形式 第7章 函数目标要求课后作业讲课提纲讲课内容退出main() int i=2,p;p=f(i,+i); printf(“%d“,p); int f(int a, int b) int c;if(ab) c=1;else if(a=b) c=0;else c=-1;return(c); main() int i=2,p;p=f(i, i+); printf(“%d“,p); int f(int a, int b) int c;if

9、(ab) c=1;else if(a=b) c=0;else c=-1;return(c); 运行结果:0运行结果:17.2.2函数调用的一般形式 第7章 函数目标要求课后作业讲课提纲讲课内容退出调用函数时,对被调函数的要求: 必须是已存在的函数 库函数: #include 用户自定义函数: 函数类型声明 函数声明: 一般形式:函数类型 函数名(形参类型 形参名, ); 作用:告诉编译系统函数类型、参数个数及类型,以便检验 函数定义与函数声明不同 函数声明位置:程序的数据说明部分(函数内或外) 下列情况下,可不作函数声明1、若函数返值是char或int型,系统自动按int型处理2、被调用函数定

10、义出现在主调函数之前3、在所有函数的定义之前,在文件的开头已经作了函数声明 7.2.3对被调用函数的声明 第7章 函数目标要求课后作业讲课提纲讲课内容退出7.2.3对被调用函数的声明 main() float add(float,float); /*函数原型声明 */float a,b,c;scanf(“%f,%f“,c=add(a,b);printf(“sum is %f“,c); float add(float x, float y) /*函数首部*/ float z; /*函数体*/ z=x+y;return(z); float add(float x, float y) float z

11、;z=x+y;return(z); main() float a,b,c;scanf(“%f,%f“,c=add(a,b);printf(“sum is %f“,c); 被调函数出现在主调函数 之前,不必函数说明main() float a,b;int c;scanf(“%f,%f“,c=max(a,b);printf(“Max is %dn“,c); max(float x, float y) float z;z=xy?x:y;return(z); int型函数可不作函数说明第7章 函数目标要求课后作业讲课提纲讲课内容退出例 交换两个数7.3.1形式参数和实际参数 711x:y:调用前:调用

12、结束:711x:y:main() int x=7,y=11;printf(“x=%d,ty=%dn“,x,y);printf(“swapped:n“);swap(x,y);printf(“x=%d,ty=%dn“,x,y); swap(int a,int b) int temp;temp=a; a=b; b=temp; 调用: 711a:b:711x:y:swap:711x:y:117a:b:temp第7章 函数目标要求课后作业讲课提纲讲课内容退出例 函数返回值类型转换7.3.2 函数的返回值main() int max(float,float)float a,b;int c;scanf(“%

13、f,%f“,c=max(a,b);printf(“Max is %dn“,c); max(float x, float y) float z;z=xy?x:y;return(z); 第7章 函数目标要求课后作业讲课提纲讲课内容退出7.2.1 函数定义的一般形式类型标识符 函数名(形式参数表) 函数声明部分; 函数语句部分; 合法标识符函数体函数的参 数第7章 函数目标要求课后作业讲课提纲讲课内容退出形式参数:在定义函数时函数名后面圆括号中的变量名 实际参数 :在主调用函数中调用一个函数时,函数名 后面圆括号中的表达式 例 比较两个数并输出大者7.3.1形式参数和实际参数 main() int

14、a,b,c;scanf(“%d,%d“,c=max(a,b);printf(“Max is %d“,c); max(int x, int y) int z;z=xy?x:y;return(z); 实参形参c=max(a,b);(main 函数)(max 函数)max(int x, int y) int z;z=xy?x:y;return(z); 第7章 函数目标要求课后作业讲课提纲讲课内容退出模块化程序设计基本思想:将一个大的程序按功能 分割成一些小模块开发方法: 自上向下,逐步分解, 分而治之概述第7章 函数目标要求课后作业讲课提纲讲课内容退出概述C程序结构第7章 函数目标要求课后作业讲课提

15、纲讲课内容退出函数是程序的基本组成单位 必须有且只能有一个名为main的主函数C程序的执行总是从main函数开始,在main中结束函数与函数之间是平行的独立的,不能嵌套定义,可以嵌套调用概述第7章 函数目标要求课后作业讲课提纲讲课内容退出C规定:函数定义不可嵌套,但可以嵌套调用函数7.4.1函数的嵌套调用 main( )调用函数a结束a函数b函数调用函数b 第7章 函数目标要求课后作业讲课提纲讲课内容退出例 求三个数中最大数和最小数的差值7.4.1函数的嵌套调用 int dif(int x,int y,int z);int max(int x,int y,int z);int min(int x,int y,int z);main() int a,b,c,d;scanf(“%d%d%d“,d=dif(a,b,c);printf(“Max-Min=%dn“,d); int dif(int x,int y,int z) return max(x,y,z)-min(x,y,z); int max(int

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 办公文档 > PPT模板库 > 教育/培训/课件

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号