欢迎来到天天文库
浏览记录
ID:50174113
大小:585.00 KB
页数:93页
时间:2020-03-06
《C语言项目开发教程PPT 第4章.ppt》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、第4章函数在大型程序中,一个同样的程序段可能需要出现多次,这样,程序将变得十分冗长,一旦这部分程序需要调整,程序的修改工作将十分繁重。因此,C语言中提供了函数方式,利用这种方式,可以将一个复杂的问题分解为很多小问题,给每一个小问题编写一段程序(函数体),为这段程序设定名称(函数名)以及接收数据的方式(参数)。最后把很多个这样的函数通过函数调用组合成一个完成复杂功能的有机体。这就是C语言结构化设计的思想。通过这种结构化的设计,将复杂的程序任务分解为很多个更小、更简单的任务。每一个任务由一个函数完成,而函数中的变量和代码也独立于程序的其他部分,这样使得程
2、序编写更容易。同时如果程序中有错误,可以将问题缩小到特定的函数,使程序更加容易调试。C语言中的函数有两种:标准函数和自定义函数。前者由系统提供,如之前用到的printf()、puts(),数据处理函数sin(x)、cos(x)等,这类函数只要把其对应的头文件包括进来即可以直接调用;后者是程序员根据需要自己定义的函数。本章主要讨论自定义函数的使用方法。任务4.1数学能力测试系统任务目标了解函数的功能和优点。掌握函数的定义形式。掌握函数的调用方法。掌握形参和实参的概念。掌握函数说明语句的形式和用法。掌握函数的值的概念。掌握函数返回值的用法。完成数学能力测试
3、程序设计。4.1.1函数的定义函数定义就是确定函数完成什么功能以及如何运行的程序模块。函数必须先定义,然后才能使用。创建一个函数时,必须指定函数头作为定义的第一行,接着是这个函数放在一对大括号内的执行代码。这些代码成为函数体。函数头指明了函数的返回值类型、函数的名称和参数,函数体完成函数所有的处理操作。函数定义的一般形式为:类型标志符函数名([形式参数表]){变量说明执行语句}其中,类型标志符即函数类型,函数类型和函数返回值的类型一致,如果没有返回值,则函数类型为void。有的函数有返回值,有的函数没有返回值。函数的返回值是指函数被调用之后,执行函数体
4、中的程序段所取得的并返回给主调用函数的值。有返回值的参数,其函数体中必须有相应的返回语句return。函数名是唯一标识一个函数的名称,应为一个合法的标识符。形式参数列表由0个、1个或多个参数组成。参数之间用逗号隔开,每个参数都包括参数的类型和名称。例如intmax(inta,intb);中声明了两个参数,它们均为int类型。用大括号括起来的部分为函数体,包括变量说明和执行语句,这一部分的代码表明了函数可以实现的功能。函数体内可以没有代码,但是大括号必须存在。空的函数体在调试大型程序时经常用到。出现在形式参数列表中的形参,以及出现在函数体变量说明中的变量
5、都是局部变量,只在函数内部生效。下面是合法的函数定义的例子。【案例4-1】输出简单图形。voidprint(){inti,j;for(i=1;i<=10;i++){for(j=1;j<=i;j++)printf("*");printf("");}}案例4-1中定义了一个void类型的无参数函数print,该函数的功能为在屏幕上打印一个10行的三角形。当函数没有返回值时,必须说明函数类型为void,这里的void不可以省略。【案例4-2】根据参数输出简单图形。voidprint(intx){inti,j;for(i=1;i<=x;i++){for(j
6、=1;j<=i;j++)printf("*");printf("");}}案例4-2中定义的函数print包含一个参数,其功能同样为在屏幕上打印一个三角形,不同的是三角形的行数是由函数的参数确定的。函数运行前首先接收通过函数调用传递的参数,确定x的取值,然后执行后续操作。下面几个关于函数定义的案例是不正确的。【案例4-3】定义函数,根据输入的参数输出一个长方形。voidprint(intx,y){inti,j;for(i=1;i<=x;i++){for(j=1;j<=y;j++){if(i==1
7、
8、j==1
9、
10、i==x
11、
12、j==y)printf("
13、*");elseprintf("");}printf("");}}在函数定义中,每一个形参都必须用一个类型说明符单独说明,不可以公用。将上述案例中的函数定义改为voidprint(intx,inty),则函数定义正确。【案例4-4】定义一个函数,输出一个数的平方。voidadd(intx,inty){intresult;voidsquart(intx);result=suqart(x)+squart(y)printf("%d",result);}案例4-4中,在一个函数的函数体内又定义了另外一个函数,这种现象为函数的定义嵌套,这是不正确的。在C语言
14、中,所有的函数定义,包括main()函数在内,都是平行的,也就是说一个函数的函数体内,不能定义
此文档下载收益归作者所有