资源描述:
《计算机二级C语言chp7_函数课件.ppt》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、第7章函数7.1概述7.2函数的声明7.3函数的定义与返回值7.4函数的参数7.5函数的调用7.1概述7.1.1函数的概念结构化程序设计的原则:自顶向下,逐层分解,模块化复杂问题子问题1子问题i子问题n函数1函数i函数n模块1模块i模块n设计的角度实现的角度7.1.2函数的分类标准函数(库函数):由系统提供的通用函数例:printf、scanf、putchar、getchar等用户自定义函数:为解决特定问题而由程序员自行编写的函数7.1概述7.1概述7.1.3常用库函数1.数学函数包含文件:#include函数名:abs()、exp()、pow()、sqrt()、sin()、
2、log()等2.字符函数包含文件:#include函数名:isalpha()、isdigit()、isspace()、tolower()、toupper()7.1概述3.字符串函数包含文件:#include函数名:strcat()、strcpy()、strcmp()、strlen()、strstr()等4.输入输出函数包含文件:#include函数名:fopen、fclose、getchar、putchar、getc、putc、printf、scanf、fprintf、fscanf、fread、fwrite等7.1概述5.动态存储分配函
3、数包含文件:#include函数名:malloc、calloc、realloc、free、exit、rand、srand7.1概述7.1.4库函数的调用1.作为表达式的成分例1.y=pow(x,5)+sqrt(4.0);例2.for(printf(“:”);scanf(“%d”,&x);printf(“:”))2.作为独立的语句printf(“*****”);putchar(65);7.2函数的声明7.2.1自定义函数的使用步骤:#includevoidmain(){inta,b,c;intmax(int,int);scanf("%d,%d",&a,
4、&b);c=max(a,b);printf("Maxis%d",c);}intmax(intx,inty){intz;z=x>y?x:y;return(z);}1.函数声明3.函数调用2.函数定义7.2函数的声明7.2.2关于函数声明(函数说明/函数原型)1.函数声明的形式(1)一般应与函数定义的首部相同例,intmax(intx,inty);(2)形参的名称可以与首部不同,甚至可以省略例,intmax(inta,intb);或,intmax(int,int);(3)返回值类型及形参的类型一定要与函数首部相同例,doublemax(int,int);//error(4)可以用独立的函数声明语
5、句,也可以放在变量声明中例,intx,y,max(int,int);7.2函数的声明2.函数声明的作用对函数进行说明,使C语言的编译程序在编译时进行有效的类型检查例,voidmax(int,int)//函数声明……//函数调用max(3,5);//okmax(1,2,3);//errorx=max(1,2);//error7.2函数的声明3.函数声明的位置及缺省(1)若返回值为int型,则函数声明可省略(2)若函数定义放在main之前,则函数声明可省略7.3函数的定义及返回值7.3.1函数定义的一般形式返回值类型函数名(形参列表){声明部分;执行部分;}例:求最大值intmax(intx,i
6、nty){intz;z=x>y?x:y;return(z);}例:求最大值intmax(intx,y){intz;z=x>y?x:y;return(z);}函数首部函数体7.3函数的定义及返回值说明:(1)返回值类型缺省时默认为int型,无返回值时应为void型(2)可以没有形参,此时要保留小括号,或在括号内注明void(3)函数体可以为空,但要保留大括号(4)函数不可以嵌套定义例:无参函数printstar(){printf(“**********”);}或printstar(void){printf(“**********”);}例空函数voiddummy(){}7.3函数的定义
7、及返回值7.3.2函数的返回值1.函数返回值的获得:通过被调函数中的return语句2.return语句形式return(表达式);或return表达式;3.return语句功能:(1)把返回值带给调用函数(2)使程序流程从被调用函数返回到调用函数中7.3函数的定义及返回值3.说明:函数中可有多个return语句,但只能从一个return语句返回例,if(x>y)returnx;elsereturny;(2)