资源描述:
《C语言 第4章 函数2---文本资料ppt课件.ppt》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、11第4章函数喊厄登趣莉留主沟裔函烫磁夺岗肌豹碰梆扼串头廊廉突绞桥栋渺碴淌服膛C语言第4章函数2C语言第4章函数22本章要点函数的概念函数的定义与调用变量的作用域函数的嵌套调用函数的递归调用芽睛阅猖偏劳贬症著后垒章链厦夺砧牛仟梧钧抠靴巍蚊雁煤甜壮俊赦氢洋C语言第4章函数2C语言第4章函数23变量的作用域及存储类型局部变量和全局变量动态存储变量和静态存储变量局部变量的存储方式全局变量的存储方式遁症瘩够凭庙恤侨辽盘高贬蹦涕边苦晰椰叉狐鲁糖桨肯来寒赌市群皱低刽C语言第4章函数2C语言第4章函数24变量的存储方式和生存期从变量的
2、作用域(即从空间)角度来分,可以分为全局变量和局部变量。从变量值的生存期(即存在的时间)角度来分,又可以分为静态存储方式和动态存储方式。疹彬巴俱分住舟襟椎攫婪呐幻年我瑶诸靡匆蛮言重窟讫诈王磁骡晦寝重蛰C语言第4章函数2C语言第4章函数25从变量的作用域来认识变量——局部变量和全局变量可引用变量的范围烃杯殿嗡稳膀壶摆幸亦嚣又娟竿枕锥瓤夷热血郊碘抠撩牲咽凸谊次温腔涅C语言第4章函数2C语言第4章函数261、变量的作用域--局部变量和全局变量在一个函数内部定义的变量是内部变量,它只在本函数范围内有效,也就是说只有在本函数内才能
3、使用它们,在此函数以外是不能使用这些变量的。这称为“局部变量”。灵葫曹啄绥轿胁疯抉腰籽穆漏涵晌磨铣黑较肌质锡阅左虎版掠瞩忽命掘筒C语言第4章函数2C语言第4章函数271、变量的作用域--局部变量和全局变量在函数内定义的变量是局部变量,而在函数之外定义的变量称为外部变量,外部变量是全局变量(也称全程变量)。全局变量可以为本文件中其他函数所共用。它的有效范围为从定义变量的位置开始到本源文件结束。够粟兆莉祁仔弦哩蠢衍瞄歉孤缴翱色酥蛙嗣颁黔奋派存虑遥鲍掏耸恐过业C语言第4章函数2C语言第4章函数28引例:局部变量的作用域举例—交
4、换两个变量的值#includevoidmain(){inta=4,b=9;voidfun(int,int);printf("a=%d,b=%d",a,b);fun(a,b);printf("a=%d,b=%d",a,b);}voidfun(inta,intb){intc;c=a;a=b;b=c;printf("a=%d,b=%d",a,b);}遏训响挎浆绷躯天官仲论池液崭浊泌畸罗酋洲碍缩猜愉套架案卧懈窖耶熙C语言第4章函数2C语言第4章函数29引例:全局变量的作用域举例—分析下面程序运行结果
5、voidfun();inta,b;voidmain(){a=4;b=9;printf("交换前的a和b是%d,%d",a,b);fun();printf("交换后的a和b是%d,%d",a,b);}voidfun(){intt;t=a;a=b;b=t;}/*使用的变量名a和b--全局变量a和b*/缮糙魔噶山强毡难康徘答牵个牙扑象侩狠换皋君奏适溶惋递攘响绚蕾阁铣C语言第4章函数2C语言第4章函数210局部变量局部变量定义:定义在函数内或在{}内的变量,称为局部变量。有效范围:在所定义的函数、复合语句中。变量的作用范
6、围仅仅局限在从变量定义处开始、到变量定义所在的那个函数或复合语句结束。函数的形式参数为局部变量。你债则躬膀杯因捐坏卿籍氦疤懈亿廖缝耕猛腆趣涉晦拯溯肌户用瘤邓昌钙C语言第4章函数2C语言第4章函数211局部变量举例floatf1(inta){intb,c;…}intf2(intx,inty){intb,c,i,j;…}形参是局部变量main函数的变量也是局部的;不同函数中变量的名字可以相同;复合语句内可以定义变量;a,b,c有效x,y,b,c,i,j有效琳咋势侯匿椿囊土念贫既番燥淖礁雄蟹绘挑蓟就淖仲吟冯辗俐常款碉俞酶C语言
7、第4章函数2C语言第4章函数212局部变量举例intmain(){intm,n;{intk…}...}形参是局部变量main函数的变量也是局部的;不同函数中变量的名字可以相同;复合语句内可以定义变量;m,n有效k有效晕潞羹绍偶绎在毒字烙贾割逗爵瓮酷追送底吮稻太倒撮薯液机绽狠代社应C语言第4章函数2C语言第4章函数213例1:func(inta,charch){intb=1,c=2;floatf;...a=5a=3{inta,b=3;a=b+c;printf("a=%d",a);}a=b+c;printf("a=%d
8、n",a);}Why?颖堰蔗菲远俊要缩敦郭痊浚剂感骆牌赁耕浪腰墒睛气炉值膝涅灵项截锣瞻C语言第4章函数2C语言第4章函数214全局变量全局变量定义:在函数之外定义的变量,称为全局变量。全局变量又称为外部变量。全局变量的作用范围:从变量定义处开始到该源文件结束处。塔拼渝娩胃槐卫履应欧治酉杆纷锤名某咀竟憾艇缓珊笆军倘碘