第四讲函数和指针优秀PPT.ppt
《第四讲函数和指针优秀PPT.ppt》由会员分享,可在线阅读,更多相关《第四讲函数和指针优秀PPT.ppt(39页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、第四讲函数和指针第一页,本课件共有39页函数考点考点考核几率考核几率分值分值函数的定义与返回值函数的定义与返回值80%13库函数库函数60%12函数调用及形参与实参之间函数调用及形参与实参之间的数据传递(难点)的数据传递(难点)100%24函数的声明函数的声明60%01第二页,本课件共有39页一、函数的定义一、函数的定义1、函数定义函数定义功能单一且独立的程序模块,用于完成特定的任功能单一且独立的程序模块,用于完成特定的任务并根据需要返回一个确定的值。务并根据需要返回一个确定的值。2 2、函数定义的格式、函数定义的格式 返回值类型返回值类型函数名函数名(类型类型1 1形参名形参名1,1,类型类
2、型2 2 形参名形参名2 2,)说明部分说明部分 语句部分语句部分 首部首部+函数体函数体第三页,本课件共有39页3 3、注意事项、注意事项(1 1)函数返回值类型名缺省时,返回值类型)函数返回值类型名缺省时,返回值类型默认为默认为intint,无返回值时类型是,无返回值时类型是voidvoid。(2 2)函数名和形参名是用户标识符。主函数)函数名和形参名是用户标识符。主函数的函数名必须为的函数名必须为mainmain。(3 3)函数名后面的括号)函数名后面的括号“()()”不能省。形参用不能省。形参用于数据传递,可以缺省。于数据传递,可以缺省。(4 4)一对花括号中的内容为函数体,包含两)一
3、对花括号中的内容为函数体,包含两部分:说明部分和语句部分。部分:说明部分和语句部分。(5 5)函数不能嵌套定义。)函数不能嵌套定义。第四页,本课件共有39页二、函数返回值二、函数返回值return语句格式为:语句格式为:return(表达式表达式);注意:注意:(1)表达式可以不加括号。)表达式可以不加括号。(2)表达式的值就是函数的返回值,类型应)表达式的值就是函数的返回值,类型应和函数定义返回值的类型一致,否则系统强和函数定义返回值的类型一致,否则系统强制转换。制转换。(3)如果有多个)如果有多个return语句,则只有第一个语句,则只有第一个起作用,因为一旦遇到起作用,因为一旦遇到ret
4、urn语句就会结束语句就会结束当前函数的运行。当前函数的运行。第五页,本课件共有39页double area(double a,double b)double s;s=a*b;return s;第六页,本课件共有39页int max(int a,int b)int c;if(ab)c=a;else c=b;return c;第七页,本课件共有39页例1int isprime(int a)int i;for(i=2;i=a/2;i+)if(a%i=0);第八页,本课件共有39页三、库函数三、库函数C语言自己提供的函数称为库函数。语言自己提供的函数称为库函数。在使用某一类库函数的时候,需要在程序的
5、在使用某一类库函数的时候,需要在程序的开头使用开头使用include命令包含头文件。命令包含头文件。如,使用如,使用printf和和scanf函数时,开头要加上函数时,开头要加上#include 使用数学函数类里的函数时开头要加上使用数学函数类里的函数时开头要加上#include“math.h”“”可以换成可以换成 附录五附录五 P190 第九页,本课件共有39页四、函数调用四、函数调用1、函数调用的形式、函数调用的形式 函数名函数名(实参实参);说明:说明:(1)不写返回值类型和实参类型。)不写返回值类型和实参类型。(2)实参可以是常量、变量、表达式、函数调用。)实参可以是常量、变量、表达式
6、、函数调用。(3)参数传递方向:实参)参数传递方向:实参形参(单向)。形参(单向)。(4)若函数返回值类型是)若函数返回值类型是void,则函数调用不,则函数调用不能出现在表达式中,不能赋值给变量。能出现在表达式中,不能赋值给变量。(5)函数可以直接或间接的调用自己,称为递)函数可以直接或间接的调用自己,称为递归调用。归调用。第十页,本课件共有39页函数数据的传递函数数据的传递注意:注意:(1)数据只能从实参单向传到形参,无论形参)数据只能从实参单向传到形参,无论形参值如何改变,都不会影响到对应实参的值;值如何改变,都不会影响到对应实参的值;(2)函数最多只能返回一个函数值。)函数最多只能返回
7、一个函数值。形参在函数被调用时临时分配存储空间,一旦函形参在函数被调用时临时分配存储空间,一旦函数使用完毕,这些空间马上被释放。数使用完毕,这些空间马上被释放。第十一页,本课件共有39页void swap(int x,int y)int t;t=x;x=y;y=t;printf(%d%d,x,y);main()int a=3,b=4;swap(a,b);printf(%d%d,a,b);第十二页,本课件共有39页2008年4月(12)以下程序的输出结果是:#include void fun(int x)if(x/20)fun(x/2);printf(“%d”,x);main()fun(3);p
8、rintf(“n”);第十三页,本课件共有39页五、函数的声明1、函数声明的形式、函数声明的形式返回值类型返回值类型 函数名函数名(类型类型1 形参形参1,类型类型2 形形参参2,);即在函数的首部加上分号。即在函数的首部加上分号。2、函数声明的注意事项、函数声明的注意事项(1)可省略形参名,不可省略形参的类型。)可省略形参名,不可省略形参的类型。如,如,double area(double ,double);第十四页,本课件共有39页(2)声明时的参数名可与定义时的形参名)声明时的参数名可与定义时的形参名相同,也可不同。相同,也可不同。如如,double area(double x,doub
9、le y);(3)声明的位置:在函数的内部,该函数)声明的位置:在函数的内部,该函数属于私有函数;如果在所有函数的外部,属于私有函数;如果在所有函数的外部,则属于公有函数。则属于公有函数。3、函数的两种使用方式、函数的两种使用方式(1)先定义,后调用。)先定义,后调用。(2)先声明,后调用,最后定义。)先声明,后调用,最后定义。第十五页,本课件共有39页void swap(int x,int y)int t;t=x;x=y;y=t;printf(%d%d,x,y);main()int a=3,b=4;swap(a,b);printf(%d%d,a,b);main()int a=3,b=4;vo
10、id swap(int,int);swap(a,b);printf(%d%d,a,b);void swap(int x,int y)int t;t=x;x=y;y=t;printf(%d%d,x,y);第十六页,本课件共有39页2008年4月(34)有以下程序#include int f(int x)int y;if(x=0|x=1)return(3);y=x*x-f(x-2);return y;main()int z;z=f(3);printf(“%dn”,z);程序的运行结果是:A)0 B)9 C)6 D)8 第十七页,本课件共有39页2007年9月试题分析(25)若函数调用时的实参为变量
11、时,以下关于函数形参和实参的叙述中正确的是A)函数的实参和其对应的形参共占同一存储单元B)形参只是形式上的存在,不占用具体存储单元C)同名的实参和形参占同一存储单元D)函数的形参和实参分别占用不同的存储单元第十八页,本课件共有39页(8)以下程序的运行结果是。int k=0;void fun(int m)m+=k;k+=m;printf(“m=%dn k=%d”,m,k+);main()int i=4;fun(i+);printf(“i=%d k=%dn”,i,k);第十九页,本课件共有39页指针考点考点考核几率考核几率分值分值变量的地址和指针(难点)变量的地址和指针(难点)60%24指针变量
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 第四 函数 指针 优秀 PPT
限制150内