资源描述:
《C语言程序设计_第六章_函数ppt.ppt》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、第六章函数6.1引例6.2C语言函数的基本概念6.3函数调用6.4函数嵌套调用和递归调用6.5变量与函数6.6模块化程序设计6.1引例引例:编程实现如图结果。6.1引例【分析】从图中看到,三角形星号图形出现了三次能否仅编写一段程序代码,要输出星号图形时就使用该段代码?C语言提供了这样的功能,以函数的组织形式编写代码,当使用时就调用此函数。6.1引例【知识点】1.模块化程序设计。2.函数。6.2C语言函数的基本概念C语言中,一段有独立功能,又能够多次使用且具有独立名称与一定的输入、输出的代码,称为C语言的函数。
2、函数是C语言程序的基本组成单元一个C程序由一个main()和若干其它函数构成。程序的执行总是从主函数开始,到主函数结束。6.2.1函数的定义函数定义的一般形式:<类型说明><函数名>(<形参列表>){函数体}第一行称为函数首部,是由函数的数据类型、函数名和形参列表组成大括号括起来的若干语句是函数体,由完成某一功能的C语句组成6.2.1函数的定义在使用一个函数前,必须先对其进行定义程序中如果调用了某个函数,该函数就会在完成特定工作后,返回到调用它的地方按照返回结果不同有如下两种情况函数经过一系列运算,得出一个运
3、算结果,并需要返回运算结果函数只是完成一系列操作步骤,不需要返回任何结果。6.2.1函数的定义【例6-1】利用函数实现从键盘输入两个数,输出最大值。1、返回结果的函数定义#includeintmax(intx,inty)/*返回结果的函数定义*/{intz;z=x>y?x:y;/*z为x与y中最大的值*/printf("max()函数中找出了两数的最大值。");return(z);}intmain(void){inta,b,c;printf("请输入数值a和b的值:");scanf(
4、"%d,%d",&a,&b);printf("main()函数中输入a和b的值,下面调用max()函数");c=max(a,b);printf("main()函数中输出a、b中的最大值是%d。",c);return0;}6.2.1函数的定义返回结果的函数定义形式为:返回值类型标识符函数名(形参列表){变量声明语句部分}6.2.1函数的定义void函数名(形参表){函数体;}2、不返回结果的函数定义6.2.1函数的定义为了明确表示不需要函数返回值,用void定义函数为“无类型”。函数体中可以出现retu
5、rn语句,也可以省略。void类型的函数虽然不直接返回一个值,但它的作用通常可以实现屏幕输出等功能。2、不返回结果的函数定义6.2.1函数的定义【例6-2】编写函数实现打印五行十个星号。【分析】主调函数输入星号的行数及每行星号数,并调用打印星号函数;建立printstar(intm,intn)函数实现打印星号的功能,将星号直接屏幕输出。2、不返回结果的函数定义#includeintmain(void){voidprintstar(intm,intn);inta,b;printf("请输入要打
6、印星号的行数和每行的星号数:");scanf("%d,%d",&a,&b);printf("主调函数,下面要调用printstar()函数。");printstar(a,b);/*调用printstar()函数*/printf("返回到主调函数。");return0;}voidprintstar(intm,intn)/*printstar()函数的定义,不返回结果的定义*/{inti,j;printf("被调函数printstar(),要打印五行十个星号。");for(i=1;i<=m;i++
7、){for(j=1;j<=n;j++)printf("*");printf("");}}【说明】①函数定义的第一行是函数首部,后面不能加分号。②函数首部的类型标识符是指函数类型。如果省略函数的类型标识符,则默认的数据类型为int型。③函数名必须是有效的标识符。④形参列表中给出函数所有形参的名称和类型。各个形参之间用逗号分隔,每个形参前面的类型必须分别写明。⑤函数体写在一对大括号中,包括变量声明和语句部分。6.2.2函数返回值和函数类型从函数返回值的类型来看,有两种类型:有确定的运算结果返回给主调函数没有确
8、定的运算结果返回给主调函数1、函数返回值6.2.2函数返回值和函数类型函数结果返回形式:return返回值表达式;上述语句也可表示成:return(返回值表达式);return语句的功能有两个:一是结束子函数的运行;二是先求解表达式的值,然后返回调用函数,并将“返回值表达式”的值带给调用函数。1、函数返回值6.2.2函数返回值和函数类型【例6-4】利用函数调用实现两个数相加。【分析】编写sum()实