资源描述:
《C语言 子函数》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、第七章函数7.1概述二、C函数与C程序结构⑴C程序由主函数(main函数)和若干个子函数构成;⑵主函数调用子函数;⑶子函数在定义时是并列的;⑷子函数可相互调用,也可被多次调用。将一个C程序分为若干模块,每个模块实现一个特定的功能,在C语言中用函数来实现模块的功能。函数是具有某种功能的独立程序段。一、C函数的概念mainabcdefghhieg函数调用示例:main()/*主函数*/{print_star();/*调用print_star函数画****/print_message();/*调用print_message函数写字*/print_star();}/*调用print_star函
2、数画****/print_star()/*定义print_star函数*/{prinf(“**********”);}print_message()/*定义print_message函数*/{prinf(“Hello!”);}运行结果:**********Hello!**********⑴一个源文件由一个或多个函数组成,是一个独立编译单元。⑵一个C程序由一个或多个源文件组成;⑶C程序执行总是从main函数开始,调用其他函数后流程回到main。⑷函数不能嵌套定义,但可互相调用。注意不能调用main函数。四、函数的分类1.函数参数形式无参函数有参函数2.从用户使用的角度分标准函数(
3、库函数)用户自己定义的函数库函数编译系统提供的已设计好的函数,用户只需调用而无需要去实现它(scanf,printf,getchar,putchar等)。用户自定义函数程序员自己定义和设计的函数。有参函数例(输出两数中大者)#includemain(){intmax(intx,inty);intn1,n2,a;scanf("%d,%d",&n1,&n2);a=max(n1,n2);printf("max=%d",a);}intmax(intx,inty){intz;if(x>y)z=x;elsez=y;return(z);}无参函数例main(){print_star
4、();print_message();print_star();}print_star(){prinf(“**********”);}print_message(){prinf(“Hello!”);}7.2函数的定义与应用例如:print_message(){printf(“Hello!”);}二、有参函数的定义形式类型标识符函数名(形参表列){说明部分语句}有参数传递例如:求x和y二者中大者intmax(intx,inty)/*x,y为形参*/{intz;/*函数体中变量的说明*/z=x>y?x:y;return(z);}/*将z的值作为函数返回值*/类型标识符函数名()
5、{说明部分语句}无参数传递一、无参函数的定义形式三、空函数的定义形式类型标识符函数名(){}功能:调用后什么也不做。用处:建立程序结构,在需要时补充功能。例如:dummy(){}若无参数,类型标识符写void或不写函数返回值的类型,若不说明类型,默认为整型。是被初始化的内部变量,寿命和可见性仅限于函数内部三、形式参数和实际参数形式参数定义函数时函数名后面括弧中的变量名,简称形参。实际参数调用函数时函数名后面括弧中的表达式,简称实参。c=max(a,b);-----------------------实参:在运行时把函数的max(intx,inty)把值传给函数。结果赋给{………函数名r
6、eturu(z);形参:通知系统}要预留内存位置。上例中形参与实参、函数名与返回值之间的关系main(){intmax(intx,inty);inta,b,c;scanf(“%d,%d,&a,&b);c=max(a,b);printf(“Maxis%d”,c);}intmax(intx,inty){intz;z=x>y?x:y;return(z);}形参表实参表⑷实参可是常量、变量或表达式,必须有确定的值;多个实参间用逗号隔开;⑶对每个形参必须指明其名字和数据类型;⑸实参个数、类型必须与对应的形参一致;⑵形参是函数的内部变量,只在函数内部才有意义;⑹实参对形参的数据传递是值传递,即单向
7、传递,只由实参传递给形参,反之不可。调用结束后,只有形参单元被释放,实参单元中的值不变。⑴形参调用前不占内存单元,调用时占用,调用后释放;关于参数的几点说明main(){intmax(intx,inty);inta,b,c;scanf(“%d,%d,&a,&b);c=max(a,b);printf(“Maxis%d”,c);}intmax(intx,inty){intz;z=x>y?x:y;return(z);}函数的返回值语句return将被