大学C语言课件 函数.ppt

  1. 1、本文档共54页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
大学C语言课件 函数

模块化程序设计思想 函数的定义 函数的调用和参数传递 变量的存储类别和作用域 预编译指令 大型程序,如何多人同时开发? 复杂的程序,如何调试? 类似的功能,如何避免重复的程序代码? 如何使程序结构更加清晰? 函数就是一个特定的功能模块,由一段连续的程序代码,完成特定的功能。 C程序往往是由一个和多个函数组成,这些函数并列定义,相互调用,协同工作,共同完成一个大的任务。 函数名是用户自定义的名称,须符合标识符命名规则。 函数体是函数的程序代码,须放在一对大括号内。 所有函数在定义时都是平行的,在一个函数的函数体内不能再定义其它函数。即:函数的定义不能嵌套。 函数的参数是外界给函数传递信息的通道。每个参数都有特定类型及名称,它们是函数的变量。参数可以有多个,也可以没有参数(无参函数)。 如果函数定义时省略了返回值类型,那么系统默认该函数的返回值类型是int型。 对于有返回值的函数,函数中应该有return语句来返回函数值,没有返回值的函数执行到函数体的右花括号结束。 预编译指令 所谓预编译是指,在对源程序进行编译之前,先对源程序中进行一些预处理;然后再将处理的结果,和源程序一起进行编译,以得到目标代码。 1.不带参数的宏定义(简单替换) 1、宏名遵循标识符规定,习惯用大写字母表示,以便区别普通的变量。 2、宏定义可以嵌套。 3、宏定义字符串不要以分号结束,否则分号也作为字符串的一部分参加展开。从这点上看宏展开实际上是简单的替换。 2.带参数的宏定义 1、正因为带参宏定义本质还是简单字符替换(除了参数替换),所以容易发生错误。 例:#define S(r) 3.14*r*r area=S(a+b); 总结:使用宏的优点 1、程序中的常量可以用有意义的符号代替,程序更加清晰,容易理解(易读)。 2、常量值改变时,不用在整个程序中查找修改,只要改变宏定义就可以。比如,提高PI精度值。 3、带参数宏定义比函数调用具有更高的时间效率,因为相当于代码的直接嵌入。(空间效率:多次调用占用空间较多,一次调用没有什么影响)。 (二)、文件包含 1、被包含的文件常常被称为“头文件”(#include一般写在文件的开头)。头文件常常以“.h”为扩展名(也可以用其它的扩展名,.h只是习惯或风格)。 2、一条#include只能包含一个头文件,如果要包含多个头文件,使用多条#include命令。 3、在一个被包含的文件中又可以包含另一个被包含文件,即文件包含是可以嵌套的。 4、被包含的头文件可以用“”括起来,也可以用括起来。区别在于: “”先在用户当前目录查找头文件,如果没找到,再到存放C库函数头文件的目录中查找;而直接到存放C库函数头文件的目录中查找。 一般地说,使用双引号比较保险。 5、习惯上,用户头文件一般在用户目录下,所以常常用“”;系统库函数的头文件一般在系统指定目录下,所以常常用。 #include stdio.h int gcd(int m,int n) //递归函数定义 { if(m%n==0) //如能整数,则n就是最大公约数 return n; else return gcd(n,m%n); //递归调用 } int main() { int m,n,result; printf(“请输入两个整数m、n:\n”); scanf(“%d%d”,m,n); result=gcd(m,n); printf(“%d和%d的最大公约数为:%d\n”,m,n,result); } 程序如下: 局部变量:又叫内部变量,指在一个语句块内部定义的变量。 作用域 :其作用范围局限于定义它的语句块内。 全局变量:又叫外部变量,指在任何语句块之外定义的变量。 作用域 : 从定义点到源文件结束。 局部变量 全局变量 局部变量举例 int f1(int a) { int b,c; … … } int f2(int x) { int y,z; … … } main() { int m,n,z; … … { int c; c=a+b; … … } … … } a,b,c作用域 x,y,z作用域 m,n,z作用域 c作用域 说明: 形式参数是局部变量。 主函数和其他函数的地位相同,只能使用本函数内定义的局部变量。 不同函数中可以使用同名的局部变量,互不干扰。 复合语句中定义的变量只在本

文档评论(0)

dajuhyy + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档