- 1、本文档共22页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
c语言教程(课件)第4章.ppt
C语言的模块化功能: 函数式的程序结构:程序整体由一个或多个函数构成,每个函数具有各自独立的功能和明显的界面。 允许使用不同存储类别的变量,控制模块内部和外部的信息交换。 具有编译预处理功能,为程序的调试、移植提供了方便。 支持模块化程序设计。 一、C程序结构 用C语言编写程序的任务:编写函数。至少要有一个main()函数。 C语言执行: C语言的执行就是执行main()函数,从开始main()函数的第一个花括号开始,到最后一个花括号结束。其它函数,均是在main()被执行时才被调 用。 C语言程序设计方法:自顶向下、逐步细化。 先集中考虑main()中的算法,某些功能先用一个函数表达式表示。 main()设计完毕,再考虑所要用到的函数,有的直接拿来使用,没有的就开始动手设计。 结构化程序设计举例 多级管理的实现:一般用菜单方式(例L4-1) 高校事务管理系统 1、办公室管理 2、教务管理 3、科研管理 4、人事管理 5、财务管理 6、后勤管理 7、图书管理 8 、退出系统 请您选择功能(1-8): 二、函数的定义与声明 例4-2 main() {… double fun(int a,int b); … } Double fun(int a,int b) { /*函数体*/ } (一)函数的定义 函数名:函数名要符合C的标识的规定。 形式参数: 要在函数名后的括号内,有多个时,以逗号分隔。 形式参数只有在程序运行时才临时分配存储空间,用完则释放该空间,因此函数中的参数值的变化不返回(例L4-2-2),称为值传递。 函数体:是一个分程序结构,和主程序一样,一般也由变量定义部分和语句组成。但允许只有语句甚至整个函数为空。 函数的返回值: 有返回值,则要声明函数的类型,并用return返回其值。 没有返回值,则函数类型声明为void型,且若函数中的return在最后时,可省去。 函数的外部特性: 函数不允许嵌套:函数是平等的,不能在函数中再定义函数。 (二)函数的声明 在主调函数中,要对在本函数中将要调用的函数事先作一声明。其作用是向编译系统提供必要的信息:函数名,函数类型,参数的个数、类型及排列次序。并注意这些应与函数的定义部分一一对应(一般只要将函数的定义复制过来,并加一个“ ;”即可。) 虽然,在主调函数前定义的函数,可不声明,但一般还是养成声明的习惯为好,这样可以清楚地知道,在主调 函数中到底要用到哪些函数。 三、函数的嵌套调用 C语言中允许函数中再调用函数。 四、函数的递归调用 函数的递归调用就是一个函数直接或间接地调用它自身。 例L4-9 求n! 要求n!可以: 只先求出(n-1)!,再乘以n。 要求(n-1)!,只先求出(n-2)!,再乘以n-1。 …… 终于变成了求1!(这个值是已知的,也叫递归终止条件) 再回推过去。 这就是一个递归调用问题。 void hanoi(int n,char a,char b,char c) { if(n0) {hanoi(n-1,a,c,b); /*将n-1个盘子借助c,从a移至b */ printf(\n Move disc %d from pile %c to pile %c,n,a,c); getch(); /*将第n个盘子从a移至c*/ hanoi(n-1,b,a,c); /*将n-1个盘子借助a,从b移至c*/ } } main() {int n; clrscr(); printf(n=); scanf(%d,n); hanoi(n,a,b,c); } 变量的存储属性 变量除类型外,还有存储属性。 变量的存储器属性 变量的生存周期 变量的可用域(可见性) 一、动态变量 动态变量是在程序执行的某一时刻被动态地建立,并在另时刻被动态地撤消的一种变量。它们存在于程序的局部,也只在这个局部中以用。有两种: 自动变量(auto) 寄存器变量(register) 自动变量:是C中用的最多的变量,因为建立和撤消这些变量都是由系统在程序执行中自动完成的。自动变量定义: 格式:[auto] 数据类型 变量名[=初值表达式] , … ; 特点: 自动变量是局部变量。 在对变量赋初值前,其值是不确定的。 例L4-11-0 、 L4-11-1、 L4-13(多
文档评论(0)