收藏 分销(赏)

函数和作用域市公开课一等奖百校联赛特等奖课件.pptx

上传人:快乐****生活 文档编号:3166377 上传时间:2024-06-23 格式:PPTX 页数:74 大小:300.73KB
下载 相关 举报
函数和作用域市公开课一等奖百校联赛特等奖课件.pptx_第1页
第1页 / 共74页
函数和作用域市公开课一等奖百校联赛特等奖课件.pptx_第2页
第2页 / 共74页
函数和作用域市公开课一等奖百校联赛特等奖课件.pptx_第3页
第3页 / 共74页
函数和作用域市公开课一等奖百校联赛特等奖课件.pptx_第4页
第4页 / 共74页
函数和作用域市公开课一等奖百校联赛特等奖课件.pptx_第5页
第5页 / 共74页
点击查看更多>>
资源描述

1、第四章第四章 函数和作用域函数和作用域函数定义和说明函数定义和说明函数调用函数调用函数参数函数参数内联函数内联函数函数重载函数重载函数嵌套调用和递归调用函数嵌套调用和递归调用作用域作用域C+C+系统函数系统函数第1页4.1 函数定义和说明函数定义和说明一、函数定义一、函数定义 ()函数返回值函数返回值类型类型第2页4.1 函数定义和说明函数定义和说明一、函数定义一、函数定义 ()函数标识函数标识第3页4.1 函数定义和说明函数定义和说明一、函数定义一、函数定义包含参数名和参数类型(无形参时,括号不可省)包含参数名和参数类型(无形参时,括号不可省)()函数调用时函数调用时形式参数形式参数第4页4

2、.1 函数定义和说明函数定义和说明一、函数定义一、函数定义 ()函数详细实现函数详细实现第5页例:例:int add(int x,int y)int z;z=x+y;return z;void nothing()第6页二、函数说明(申明)二、函数说明(申明)函数定义在后、调用在先,调用前必须说明;函数定义在后、调用在先,调用前必须说明;函数定义在先、调用在后,能够不加说明;函数定义在先、调用在后,能够不加说明;复杂调用中,常在程序头对全部被调用函数复杂调用中,常在程序头对全部被调用函数 一次性说明。一次性说明。();例:例:int add(int x,int y);原型说明原型说明第7页例例4

3、.2#include void fun1(),fun2(),fun3();void main()cout“It is in main.”endl;fun2();cout“It is back in main.”endl;void fun1()cout“It is in fun1.”endl;fun3();cout“It is back in fun1.”endl;void fun2()cout“It is in fun2.”endl;fun1();cout“It is back in fun2.”endl;void fun3()cout“It is in fun3.”endl;第8页4.2 函

4、数调用函数调用()void main()int a=3;int b=5;int c=add(a,b);/实参加形参个数相等,类型相同实参加形参个数相等,类型相同实参实参函数调用表示式值是函数调用表示式值是函数返回值函数返回值;函数调用表示式类型是函数调用表示式类型是函数类型函数类型;v 函数调用经过一个表示式实现:函数调用经过一个表示式实现:第9页return;或或 return;v 函数返回值经过函数返回值经过返回语句返回语句实现实现1)值作为函数返回值;值作为函数返回值;2)类型自动转换为函数类型;类型自动转换为函数类型;3)程序执行控制权转向调用函数;程序执行控制权转向调用函数;注:无返

5、回值函数用注:无返回值函数用“void”说明类型!说明类型!第10页一、函数传值调用一、函数传值调用1.传值调用传值调用将实参值拷贝一个副本给对应形参将实参值拷贝一个副本给对应形参;形参值改变不影响实参!形参值改变不影响实参!实参实参:常量、变量值或表示式值:常量、变量值或表示式值形参形参:变量:变量变量两种值:变量两种值:变量本身值变量本身值和和变量地址值变量地址值;传值调用分为:传值调用分为:传值调用传值调用和和传址调用传址调用;第11页例例4.3#include void swap1(int x,int y)int temp;temp=x;x=y;y=temp;/形参值交换形参值交换 c

6、out“x=”x“y=”yendl;void main()int a(5),b(9);swap1(a,b);cout“a=”a“b=”bendl;a=5,b=9x=9,y=5第12页将实参地址值赋给对应形参指针,使形参指将实参地址值赋给对应形参指针,使形参指针指向实参;针指向实参;经过改变形参所指向变量值来影响实参!经过改变形参所指向变量值来影响实参!实参实参:地址值(指针):地址值(指针)形参形参:指针:指针 2.传址调用传址调用一、函数传值调用一、函数传值调用 1.传值调用传值调用第13页例例4.4#include void swap2(int*x,int*y)int temp;temp=

7、*x;*x=*y;*y=temp;/形参指针所指向变量值交换形参指针所指向变量值交换 cout“x=”*x“y=”*yendl;void main()int a(5),b(9);swap2(&a,&b);cout“a=”a“b=”bendl;a=9,b=5x=9,y=5第14页二、函数二、函数引用调用引用调用/C+特色特色将实参变量名赋给对应形参引用,相当于在将实参变量名赋给对应形参引用,相当于在被调用函数中使用了实参别名被调用函数中使用了实参别名;经过改变引用来经过改变引用来直接直接改变对应实参值改变对应实参值;引用调用比传址调用更直接。引用调用比传址调用更直接。形参形参:引用引用实参实参:

8、变量名变量名q引用是引用是变量别名变量别名q对引用操作就是对被引用变量操作对引用操作就是对被引用变量操作第15页例例4.5#include void swap3(int&x,int&y)int temp;temp=x;x=y;y=temp;/形参引用值交换形参引用值交换 cout“x=”x“y=”yendl;void main()int a(5),b(9);swap3(a,b);cout“a=”a“b=”bendl;a=9,b=5x=9,y=5形参形参:引用引用实参实参:变量变量第16页4.3 函数参数函数参数一、函数参数求值次序一、函数参数求值次序C+没有要求函数调用时实参求值次序,没有要求

9、函数调用时实参求值次序,各编译器自行要求;各编译器自行要求;当实参表示式中带有副作用运算符时,可当实参表示式中带有副作用运算符时,可能产生因为求值次序不一样而造成二义性;能产生因为求值次序不一样而造成二义性;第17页 例例4.6#include int add(int x,int y)return x+y;void main()int x(4),y(6);int z=add(+x,x+y);coutzendl;int t=+x;int z=add(t,x+y);第18页二、设置函数参数默认值二、设置函数参数默认值1.C+允许在允许在函数说明函数说明或或定义定义时为形参指定时为形参指定默认值;默

10、认值;2.按按从右至左次序从右至左次序设置参数默认值;设置参数默认值;3.函数调用,实参加形参结合时:函数调用,实参加形参结合时:a)若实参数目不足若实参数目不足,则使用形参默认值则使用形参默认值;b)若给定实参值,则使用给定实参值。若给定实参值,则使用给定实参值。第19页例例4.7#include void fun(int a=1,int b=3,int c=5)couta=a,b=b,c=cendl;void main()fun();fun(7);fun(7,9);fun(7,9,11);a=1,b=3,c=5a=7,b=3,c=5a=7,b=9,c=5a=7,b=9,c=11默认值默认值

11、函数定义函数定义第20页例例4.8#include int m(8);int add_int(int x,int y=7,int z=m);void main()int a(5),b(15),c(20);int s=add_int(a,b);coutsendl;int add_int(int x,int y,int z)return x+y+z;函数申明函数申明函数定义函数定义28第21页1)按按自右至左次序自右至左次序设置参数默认值;设置参数默认值;2)默认参数默认参数在函数申明中提供在函数申明中提供;3)现有函数申明又有函数定义时,定义现有函数申明又有函数定义时,定义中不允许默认参数;中不

12、允许默认参数;例例4.84)假如只有函数定义,默认参数才能够假如只有函数定义,默认参数才能够出现在函数定义中。出现在函数定义中。例例4.7v 设置参数默认值应注意问题:设置参数默认值应注意问题:第22页 三、使用数组作函数参数三、使用数组作函数参数 1.形参和实参都用数组形参和实参都用数组#includeint a8=1,3,5,7,9,11,13;void fun(int b,int n)for(int i=0;in-1;i+)b7+=bi;void main()int m=8;fun(a,m);couta7endl;例例4.949实参实参形参形参第23页 2.形参和实参都用指针形参和实参都

13、用指针#includeint a8=1,3,5,7,9,11,13;void fun(int*pa,int n)/指针指针pa指向实参数组指向实参数组 for(int i=0;in-1;i+)*(pa+7)+=*(pa+i);void main()int m=8;fun(a,m);couta7endl;例例4.1049实参实参第24页 3.实参用数组名形参用引用实参用数组名形参用引用#includetypedef int array8;/int a8=1,3,5,7,9,11,13;array a=1,3,5,7,9,11,13;void fun(array&b,int n)/为实参数组起为实

14、参数组起别名别名b for(int i=0;in-1;i+)b7+=bi;/对对b操作即对实参数组操作操作即对实参数组操作void main()int m=8;fun(a,m);couta7endl;例例4.1149实参实参第25页4.4 内联函数内联函数一、内联函数引入一、内联函数引入1.引入内联函数是为了处理函数调用时效引入内联函数是为了处理函数调用时效率问题;率问题;2.编译时,编译时,用内联函数函数体用内联函数函数体替换替换内联函内联函数调用表示式数调用表示式(普通函数在运行时被调(普通函数在运行时被调用);用);3.内联函数是以目标代码增加为代价来换内联函数是以目标代码增加为代价来换

15、取时间节约。取时间节约。第26页二、内联函数定义二、内联函数定义 inline ()#include inline int power(int x)return (x)*(x);void main()for(int i=1;i=10;i+)int p=power(i);couti“*”i“=”pendl;例例4.12第27页1.内联函数内联函数定义定义必须必须出现在出现在内联函数内联函数第第一次被调用一次被调用前前;2.内联函数体内内联函数体内不允许不允许用用循环语句循环语句和和开开关语句关语句;3.类结构中全部在类说明内部定义函数类结构中全部在类说明内部定义函数都是内联函数。都是内联函数。v

16、 使用内联函数时应注意:使用内联函数时应注意:第28页4.5 函数重载函数重载函数重载是指函数重载是指同一函数名同一函数名对应对应多个函数多个函数实现实现;函数重载时,要求同名函数在函数重载时,要求同名函数在参数个数参数个数上不一样,上不一样,或或参数类型上不一样参数类型上不一样;函数调用时,系统函数调用时,系统依据依据调用函数调用函数实参情实参情况选择某个函数实现况选择某个函数实现。第29页一、参数类型不一样函数重载一、参数类型不一样函数重载#include int add(int,int);double add(double,double);void main()coutadd(5,10)

17、endl;coutadd(5.0,10.5)endl;int add(int x,int y)return x+y;double add(double a,double b)return a+b;例例4.13第30页二、参数个数不一样函数重载二、参数个数不一样函数重载#include int min(int a,int b)return ab?a:b;int min(int a,int b,int c)int t=min(a,b);return min(t,c);void main()coutmin(5,4,9)endl;coutmin(-2,0)endl;例例4.14第31页4.6 函数嵌套

18、和递归调用函数嵌套和递归调用一、函数嵌套调用一、函数嵌套调用 main函数函数调用调用a函数函数结束结束 b函数函数 a函数函数调用调用b函数函数q在调用一个函数过程中,又调用另一个函数在调用一个函数过程中,又调用另一个函数第32页例例4.15#includeconst int k=4,n=6;int sum(int k,int n),powers(int m,int n);void main()coutsum(k,n)endl;int sum(int k,int n)/求求n个数个数k次幂之和次幂之和 for(int i=1,sum=0;i=n;i+)sum+=powers(i,k);ret

19、urn sum;int powers(int i,int k)/求求ik次幂次幂 for(int j=1,p=1;j=k;j+)p*=i;return p;第33页二、函数递归调用二、函数递归调用调用一个函数过程中又调用一个函数过程中又直接直接或或间接间接地地调用调用该函数本身该函数本身;1.含义含义2.特点特点1)每次分解出每次分解出新问题是原问题简化新问题是原问题简化子问题;子问题;2)最终分解出最终分解出新问题是一个新问题是一个已知解已知解;3)程序简练清楚,可读性强;程序简练清楚,可读性强;第34页3.过程过程q回归回归:从已知条件出发,:从已知条件出发,逐一求值回归逐一求值回归,最终

20、达递推开始处;最终达递推开始处;q递推递推:原问题不停:原问题不停分解为新子问题分解为新子问题,最终达递归结束条件最终达递归结束条件(已知已知);0!=1(已知已知)3!=3*2!2!=2*1!1!=1*0!递推递推递推递推递推递推1!=1*1=12!=2*1!=2*1=23!=3*2!=3*2=6回归回归回归回归回归回归例:例:第35页例例4.16#include long int fac(int n);void main()int n;coutn;long fa=fac(n);coutn!=faendl;long int fac(int n)long int p;if(n=0)p=1;el

21、se p=n*fac(n-1);return p;第36页例例4.17#include const int N=8;long fibo(int n);void main()long f=fibo(N);coutfendl;long fibo(int n)if(n=1)return 0;else if(n=2)return 1;else return fibo(n-1)+fibo(n-2);第37页4.7 作用域作用域一、标识符作用域规则一、标识符作用域规则1.标识符只能标识符只能在在其其说明或定义范围内可见说明或定义范围内可见,在该范围之外不可见!在该范围之外不可见!2.“可见可见”即能够进行

22、即能够进行存取存取或或访问访问;3.标识符标识符说明和定义不完全一样说明和定义不完全一样;4.定义一个标识符总是在一定范围内定义,定义一个标识符总是在一定范围内定义,作用范围有大有小作用范围有大有小;第38页二、作用域种类二、作用域种类1.程序级程序级(项目级最大)(项目级最大)作用域:作用域:组成程序全部文件组成程序全部文件;包含:包含:外部变量外部变量和和外部函数外部函数;2.文件级文件级作用域:作用域:定义该标识符文件内定义该标识符文件内;包含:包含:外部静态类变量外部静态类变量和和内部函数内部函数;第39页3.函数级函数级作用域:作用域:定义该标识符函数体内定义该标识符函数体内;包含:

23、包含:函数形参函数形参、函数内自动类变量函数内自动类变量、内内部静态类变量部静态类变量、语句标号语句标号;4.块级块级(最小)(最小)定义在定义在分程序分程序中、中、if语句语句、switch语句语句中中以及以及循环体循环体中中自动类变量自动类变量和和内部静态类内部静态类变量变量。二、作用域种类二、作用域种类第40页三、重新定义标识符作用域三、重新定义标识符作用域1.在标识符作用域某个子范围内能够重新定在标识符作用域某个子范围内能够重新定义该标识符!义该标识符!void fun()int a;/函数体内函数体内 float a;/分程序内分程序内 2.原定义标识符在子范围内不可见,原定义标识符

24、在子范围内不可见,但仍存但仍存在(暂时被隐藏);在(暂时被隐藏);第41页#includevoid main()int a(5),b(7),c(10);couta b cendl;int b(8);float c(8.8);couta b cendl;a=b;int c=b;couta b cendl;couta b cendl;couta b cendl;5 7 105 8 8.88 8 88 8 8.88 7 10例例4.18第42页#include void main()int x(3);for(;x0;x-)int x(5);/重新定义变量重新定义变量x,作用域作用域:块级块级cout

25、x ;coutendlxendl;5 5 5 0例例4.19第43页四、局部变量和全局变量四、局部变量和全局变量1.局部变量局部变量1)作用域:作用域:函数级函数级和和块级块级;2)包含:包含:自动类变量自动类变量、内部静态变量内部静态变量和和函数形参函数形参;q自动类变量自动类变量 autoq存放器类变量存放器类变量registerv内部静态类变量内部静态类变量(static)定义在定义在函数体内函数体内或分程序内,定义时或分程序内,定义时有默认值有默认值;生存期长生存期长,可见性可见性与与存在性不一致存在性不一致(作用域外不可见作用域外不可见但仍存在,回到作用域仍保留原值但仍存在,回到作用

26、域仍保留原值););第44页例例4.20#include void other();void main()int a(3);register int b(5);static int c;couta=a,b=b,c=cendl;other();other();void other()int a(5);static int b(12);/内部静态类变量内部静态类变量 a+10;b+=20;couta=a,b=bendl;a=3,b=5,c=0 a=5,b=32 a=5,b=52第45页2.全局变量全局变量1)作用域:作用域:程序级程序级和和文件级文件级;2)包含:包含:外部变量外部变量和和外部静态

27、类变量外部静态类变量;v外部变量定义外部变量定义 定义在函数体外定义在函数体外,定义时不加任何存放类说明;,定义时不加任何存放类说明;v外部变量说明(申明)外部变量说明(申明)用用说明符说明符“extern”对外部变量进行说明对外部变量进行说明使用后定义外部变量,在使用前必须说明;使用后定义外部变量,在使用前必须说明;在一个文件中使用另一个文件定义外部变量,必须说在一个文件中使用另一个文件定义外部变量,必须说明;明;一个外部变量只能定义一次,但能够说明屡次。一个外部变量只能定义一次,但能够说明屡次。第46页int add(int a,int b)int s=a+b;return s;void

28、main()extern int x,y;/外部变量说明外部变量说明 coutadd(x,y)endl;int x(20),y(5);/外部变量定义外部变量定义使用后定义外部变量使用后定义外部变量必须提前说明必须提前说明例:例:第47页例例4.21#include void fun1(),fun2(),fun3();/函数说明函数说明int i(5);/外部变量:程序级外部变量:程序级void main()i=20;fun1();coutmain():i=iendl;fun2();coutmain():i=iendl;fun3();coutmain():i=iendl;文件:文件:main.c

29、pp第48页#includestatic int i;/外部静态变量:文件级外部静态变量:文件级void fun1()i=50;coutfun1():i(static)=iendl;1)fun1():i(static)=50文件:文件:file1.cpp第49页3)fun2():i(auto)=154)fun2():i(extern)=20#includevoid fun2()int i=15;/自动类变量:函数级自动类变量:函数级 coutfun2():i(auto)=iendl;if(i)extern int i;/申明外部变量:程序级申明外部变量:程序级 coutfun2():i(ext

30、ern)=iendl;extern int i;void fun3()i=30;coutfun3():i(extern)=iendl;if(i)int i=10;coutfun3():i(auto)=iendl;文件:文件:file2.cpp第50页第51页例例4.21#include void fun1(),fun2(),fun3();int i(5);/外部变量:程序级外部变量:程序级void main()i=20;fun1();coutmain():i=iendl;fun2();coutmain():i=iendl;fun3();coutmain():i=iendl;2)main():i

31、=20文件:文件:main.cpp第52页例例4.21#include void fun1(),fun2(),fun3();int i(5);/外部变量:程序级外部变量:程序级void main()i=20;fun1();coutmain():i=iendl;fun2();coutmain():i=iendl;fun3();coutmain():i=iendl;文件:文件:main.cpp第53页例例4.21#include void fun1(),fun2(),fun3();int i(5);/外部变量:程序级外部变量:程序级void main()i=20;fun1();coutmain()

32、:i=iendl;fun2();coutmain():i=iendl;fun3();coutmain():i=iendl;5)main():i=20文件:文件:main.cpp第54页例例4.21#include void fun1(),fun2(),fun3();int i(5);/外部变量:程序级外部变量:程序级void main()i=20;fun1();coutmain():i=iendl;fun2();coutmain():i=iendl;fun3();coutmain():i=iendl;文件:文件:main.cpp第55页#includevoid fun2()int i=15;/

33、自动类变量:函数级自动类变量:函数级 coutfun2():i(auto)=iendl;if(i)extern int i;/申明外部变量:程序级申明外部变量:程序级 coutfun2():i(extern)=iendl;extern int i;/申明外部变量:程序级申明外部变量:程序级 void fun3()i=30;coutfun3():i(extern)=iendl;if(i)int i=10;/自动类变量:块级自动类变量:块级 coutfun3():i(auto)=iendl;6)fun3():i(extern)=307)fun3():i(auto)=10文件:文件:file2.cp

34、p第56页例例4.21#include void fun1(),fun2(),fun3();int i(5);/外部变量:程序级外部变量:程序级void main()i=20;fun1();coutmain():i=iendl;fun2();coutmain():i=iendl;fun3();coutmain():i=iendl;8)main():i=30文件:文件:main.cpp第57页例例4.21#include void fun1(),fun2(),fun3();int i(5);/外部变量:程序级外部变量:程序级void main()i=20;fun1();coutmain():i=

35、iendl;fun2();coutmain():i=iendl;fun3();coutmain():i=iendl;8)main():i=30文件:文件:main.cpp第58页第59页第60页五、内部函数和外部函数五、内部函数和外部函数1.内部函数内部函数内部函数只在定义它文件中可用!内部函数只在定义它文件中可用!static()2.外部函数外部函数extern()外部函数作用域是整个程序!外部函数作用域是整个程序!第61页4.8 C+系统函数系统函数一、一、C+系统函数概述系统函数概述1.了解所用了解所用C+系统系统提供哪些系统函数提供哪些系统函数;2.知道某系统知道某系统函数说明放在哪个

36、头文件函数说明放在哪个头文件中;中;3.调用一个函数时,要清楚其调用一个函数时,要清楚其功效功效、参数参数和和返回值返回值。第62页二、字符串处理函数二、字符串处理函数q调用字符串处理函数时,要包含头文件调用字符串处理函数时,要包含头文件string.h1.字符串长度函数字符串长度函数strlen()int strlen(const char *s);返回字符一个字符串长度,空字符不计在内返回字符一个字符串长度,空字符不计在内2.字符串拷贝函数字符串拷贝函数strcpy()char*strcpy(char*s1,char*s2);char*strncpy(char*s1,char*s2,int

37、 n);实现字符串复制,返回实现字符串复制,返回s1地址地址第63页3.字符串连接函数字符串连接函数strcat()char*strcat(char*s1,char*s2);char*strncat(char*s1,char*s2,int n);4.字符串比较函数字符串比较函数strcmp()int strcmp(const char*s1,const char*s2);int strncmp(const char*s1,const char*s2,int n);返回值整数:大于返回值整数:大于0、等于、等于0、小于、小于0第64页小小 结结函数定义和说明函数定义和说明函数调用(函数调用(传值

38、传值、传址传址、引用引用)嵌套调用和递归调用嵌套调用和递归调用函数参数(函数参数(默认值默认值)内联函数(内联函数(inline)函数重载(函数重载(参数个数、类型不一样参数个数、类型不一样)作用域(作用域(4级级)C+系统函数(字符串处理函数)系统函数(字符串处理函数)第65页实实 验验 一一1.调试调试例例4.8、例例4.13,掌握参数默认值设置和,掌握参数默认值设置和函数重载;函数重载;2.编制程序,经过调用编制程序,经过调用引用作参数函数引用作参数函数,实现两,实现两个字符串交换。个字符串交换。1.测试:测试:char a50=“hello”;2.char b50=“how are y

39、ou”;3.编写程序验证编写程序验证哥德巴赫猜测哥德巴赫猜测:任何一个充分大:任何一个充分大偶数偶数(=6)总能够表示成两个素数之和。总能够表示成两个素数之和。第66页作作 业业 题题#includevoid f(int j);void main()for(int i(1);i=4;i+)f(i);void f(int j)static int a(10);/内部静态类变量内部静态类变量 int b(1);/自动类变量自动类变量 b+;couta+b+j=a+b+jendl;a+=10;三三(3)10+2+1=1320+2+2=2430+2+3=3540+2+4=46第67页三三(6)(6)传

40、址调用传址调用#includevoid fun(int,int,int*);void main()int x,y,z;fun(5,6,&x);fun(7,x,&y);fun(x,y,&z);coutx,y,zendl;void fun(int a,int b,int*c)b=b+a;*c=b-a;666实参:地址实参:地址形参:指针形参:指针第68页三三(7)(7)函数参数默认值函数参数默认值#includeint add(int x,int y=8);void main()int a(5);coutsum1=add(a)endl;coutsum2=add(a,add(a)endl;couts

41、um3=add(a,add(a,add(a)endl;int add(int x,int y)return x+y;sum1=13sum2=18sum3=23函数申明函数申明第69页三三(10)(10)引用作函数返回值引用作函数返回值#includeint&f(int n,int s)/函数类型为函数类型为“引用引用”int&m=sn;return m;void main()int s=5,4,3,2,1,0;f(3,s)=10;/返回值返回值“引用引用”作赋值语句左值作赋值语句左值 coutf(3,s)endl;10 s=5,4,3,10,1,0引用引用第70页 float&fun(floa

42、t r)float temp;temp=r*r*3.14;return temp;void main()fun(1.5)=12.4;v不是全部返回引用都能够作为不是全部返回引用都能够作为“左值左值”计算!计算!v返回不在作用域范围内变量引返回不在作用域范围内变量引用,错误!用,错误!问题:引用作函数返回值问题:引用作函数返回值局部变量局部变量第71页 float temp;float&fun(float r)temp=r*r*3.14;return temp;void main()fun(1.5)=12.4;/此处此处temp“可见可见”问题:引用作函数返回值问题:引用作函数返回值全局变量全局

43、变量第72页三三(12)(12)函数重载函数重载#includevoid ff(int),ff(double);void main()float a(88.18);ff(a);char b(a);ff(b);void ff(double x)coutff(double):xendl;void ff(int x)coutff(int):xendl;ff(double):88.18ff(int):97第73页三三 1.581114三三 2.25三三 4.6,11三三 5.5!+4!+3!+2!+1!=153三三 8.720三三 9.a=5,b=8a=8,b=5三三 11.u1998abcd第74页

展开阅读全文
相似文档                                   自信AI助手自信AI助手
猜你喜欢                                   自信AI导航自信AI导航
搜索标签

当前位置:首页 > 考试专区 > 中考

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        获赠5币

©2010-2024 宁波自信网络信息技术有限公司  版权所有

客服电话:4008-655-100  投诉/维权电话:4009-655-100

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :gzh.png    weibo.png    LOFTER.png 

客服