函数与C程序结构课件.ppt

函数与C程序结构课件.ppt

ID:57013135

大小:562.50 KB

页数:88页

时间:2020-07-26

函数与C程序结构课件.ppt_第1页
函数与C程序结构课件.ppt_第2页
函数与C程序结构课件.ppt_第3页
函数与C程序结构课件.ppt_第4页
函数与C程序结构课件.ppt_第5页
资源描述:

《函数与C程序结构课件.ppt》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、程序设计技术C语言数据描述和C程序设计初步结构化程序设计基础和C语言的控制结构数组及其应用函数与C程序结构指针与函数指针与数组字符串及其应用结构体类型和联合体类型C语言的文件处理及其应用位运算与枚举类型函数与程序结构函数的定义和调用函数的嵌套调用和递归调用变量的作用域和生存期编译预处理多源文件C程序的组织方法函数与程序结构模块化程序设计技术就是通过开发和维护一些小的程序块(即模块)的方法构建一个大型程序,是人类解决较大的复杂问题所采用的一种“分而治之”的策略。本章主要讨论C语言实现模块化程序设计技术的手段以及在模块化实现

2、过程中所遇到的一系列问题。4.1函数的定义和调用C程序的一般结构C源程序源文件1源文件i源文件n预处理语句函数1函数n说明/定义部分执行部分图4.1C程序结构4.1.1函数的定义和声明函数定义就是编写完成某种具有一定功能的程序模块。1)现代风格的函数定义形式:返回类型符函数名(形式参数表及其说明)//函数头{变量定义和说明及函数执行语句//函数体}函数体:由变量定义与函数执行语句组成。二者全无则是空函数,先占位置,以后补上。/*现代风格*/longfac(intn)//函数头{longy=1;inti;for(i=1;i

3、<=n;i++)y=y*i;return(y);}4.1.1函数的定义和声明函数体long为函数返回值类型return语句将n!返回调用函数调用函数处获取n的值函数的定义内容如下:函数返回值类型可是任何有效类型,void表示函数无返回值。函数名用户自定义标识符,不能重名。形式参数(简称形参)的数目、类型为函数接受外来数据提供变量名、类型和数目。return<表达式>语句函数执行结果(按函数定义的返回类型)返回给主调函数。如果函数定义时返回类型为void,可缺省return语句。4.1.1函数的定义和声明注意:C语言中的每

4、一个函数都是一个独立的代码块。一个函数的代码块是隐藏于函数内部的,不能被任何其它函数中的任何语句(除调用它的语句之外)所访问。它既不能影响程序其它部分,也不受其它部分的影响。在一个函数的内部不能定义其他函数(即函数不能嵌套定义)。这个规定保证了每个函数都是一个相对独立的程序模块。由多个函数组成的C程序中,各个函数的定义顺序是任意的,它不影响C程序运行时函数的执行顺序4.1.1函数的定义和声明2)函数的声明在主调函数中,要对本函数将要调用的函数事先进行必要的声明。所谓“声明”是指向编译系统提供必要的信息:函数名,函数的返回

5、值类型,函数参数的个数、类型及排列次序,以便编译系统对函数的调用进行检查。例如,检查形参与实参类型是否一致,函数返回值的类型是否正确。C语言的函数分为标准库函数和用户自定义函数两大类。下面分别介绍他们的声明方法。4.1.1函数的定义和声明标准库函数的声明使用标准库函数时,由于系统提供的标准库函数的说明都分门别类集中在一些称为“头文件”的文本文件中,所以在程序中如果要调用系统标准库函数,也要在程序的适当位置使用编译预处理语句来进行声明。例如:#include或#inlcude“stdio.h”作用:将调用

6、有关库函数的必要信息包含到本源文件中来。4.1.1函数的定义和声明用户自定义函数的声明对于用户自定义函数,如果被调用函数(简称被调函数)与调用它的函数(简称主调函数)在同一源文件中,在函数调用之前,需要对被调函数进行声明。被调函数声明的一般形式:返回类型符函数名(形式参数表及其说明);4.1.1函数的定义和声明#includevoidmain(){longfactorial(intn);intnum;printf("Inputthenum:");scanf("%d",&num);printf("%d!=

7、%ld",num,factorial(num));}longfactorial(intn)//函数factorial的定义{inti;longfact=1;for(i=1;i<=n;i++)fact*=i;returnfact;}函数声明告诉编译系统factorial是返回类型long,只有一个int参数的函数程序演示4.1.1函数的定义和声明在函数声明中,形参变量名字无关紧要(可与函数定义不同或缺省)factorial的声明语句可写成如下两种形式:longfactorial(int);/*缺省形参名*/longfa

8、ctorial(intx);/*形参名与定义不同*/注意:在下列情况下可以不对被调函数进行声明:①被调函数的定义出现在主调函数之前,不必进行说明,其原因是编译系统此时已经知道了被调函数的返回类型。程序演示4.1.1函数的定义和声明函数调用一个函数调用另外一个函数以完成某一特定的功能称之为函数调用。调用者称为主调函数被

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。