C语言程序设计 李晓东 庞岩梅 娄嘉鹏 第6章

C语言程序设计 李晓东 庞岩梅 娄嘉鹏 第6章

ID:40238536

大小:1.62 MB

页数:107页

时间:2019-07-28

C语言程序设计 李晓东 庞岩梅 娄嘉鹏 第6章_第1页
C语言程序设计 李晓东 庞岩梅 娄嘉鹏 第6章_第2页
C语言程序设计 李晓东 庞岩梅 娄嘉鹏 第6章_第3页
C语言程序设计 李晓东 庞岩梅 娄嘉鹏 第6章_第4页
C语言程序设计 李晓东 庞岩梅 娄嘉鹏 第6章_第5页
资源描述:

《C语言程序设计 李晓东 庞岩梅 娄嘉鹏 第6章》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、第6章代码质量16.1模块化6.2编程风格6.3提高代码可靠性6.4友好的界面6.5性能提高26.1模块化6.1.1变量的作用范围6.1.2服务的概念与函数的使用6.1.3多个文件模块6.1.4C语言的局部变量、全局变量和静态变量6.1.5C语言函数的使用36.1.1变量的作用范围对于程序,变量就是一个关联着特定数据类型和存储空间的名字。变量在程序中同样有相应的作用范围。变量定义允许出现在代码的各个地方。inta=0;staticintaa=1;voidmain(){charb;intc;c=1;{intd;d=a;a=c;c=d;}a=a+1;for(c=0;

2、c<10;c++){floate=1.5;charb;a=a+e;b=’b’;}intf;a=a+f;}charg;voidmyfunc(){inth=3;intc=2;c=c+h;}6.1.1变量的作用范围变量a和g不在任何函数内,其作用范围为其定义语句之后直到该代码文件结束。通过extern语句还可以把它们的作用范围扩展到该代码文件的全部甚至其他代码文件。main函数声明部分中的变量b和c的作用范围为其定义语句之后直到main函数结束。6.1.1变量的作用范围变量d的作用范围为其定义语句之后直到包含它的本层({}把代码分成许多层)的}为止。for循环中的变量

3、e和b的作用范围为其定义语句之后直到for循环终止。变量f的作用范围为其定义语句之后直到main函数结束。myfunc函数声明部分中的变量h和c的作用范围为其定义语句之后直到myfunc函数结束。6.1.1变量的作用范围一个变量只有在自己的作用范围内才能被别人看见和使用。两个变量的作用范围(有时称为作用域)之间只存在包含或不相交的情况,而不可能相互交叉。若其作用范围存在包含情况,则有可能在某个代码位置两者都有效,这时C语言规定更小的作用范围优先。即本地优先。6.1.1变量的作用范围一个变量的作用范围有大有小,从大到小依次为:多个代码文件本代码文件函数函数中的语句

4、(即从该变量定义语句之后到包含它的最小的复合语句结束)。6.1.1变量的作用范围变量除了具有作用范围(即生存的空间),还有生命周期(即生存时间的各个阶段)。一个变量(静态变量除外,如staticchara;)从代码的运行进入其作用范围时出生,直到代码的运行跑出其作用范围时消亡。全局变量以及定义时加static的变量,其生命周期为程序的整个运行期间(即变量所分配的存储空间在程序的整个运行期间都不释放)。6.1.1变量的作用范围程序运行时一个变量可能会不断出生和消亡(对应的是变量的存储空间不断被分配和释放)。6.1.2服务的概念与函数的使用可以让整个程序只有main

5、函数而没有其他任何一个函数,这样的程序一样能够完成功能,结构却不好。代码之间和社会一样可以有分工合作,在C语言中这是通过函数实现的。一个函数为一个程序片断,它通过约定好的接口为其他代码提供服务。在C语言中,每个函数都是平等的,一个函数可以为各个函数提供服务。6.1.3多个文件模块若我们的程序比较大,我们还可以把它分为多个代码文件,这就是多个文件模块。除主文件模块外,其他文件模块规范的方式为一个.h文件和一个.c文件。6.1.3多个文件模块主文件模块(通常为main函数)文件模块文件模块文件模块函数函数函数函数函数函数.h.c6.1.4C语言的局部变量、全局变量和

6、静态变量变量具有作用范围(即生存的空间,作用域),还有生命周期(即生存的时间,生存期)。根据作用范围的不同,变量可以分为:局部变量全局变量根据生命周期的不同,变量可以分为:静态存储变量动态存储变量6.1.4C语言的局部变量、全局变量和静态变量1.局部变量局部变量是在函数内部作定义说明的。其作用域仅限于包含它的复合语句内(若该变量不在任何一个复合语句中,则作用域仅限于其所在的函数内)。举例intf1(inta)//函数f1{intb,c;……}intf2(intx1,charx2)//函数f2{inty,z;……}intf3()//函数f3{intm;……{int

7、n;……}printf("n=%d",n);}举例函数f1内定义了三个变量,a为形参,b,c为一般变量。a,b,c变量的作用域限于f1内,在f2中就不能使用f1中所定义的a,b,c这三个变量。函数f2内定义了三个变量,x1和x2为形参,y,z为一般变量。x1,x2,y,z变量的作用域限于f2内。函数f3内定义了两个变量m是在函数开始处定义的,n是在由“{}”所指出的复合语句开始处定义的,因此m在函数f3中始终都是可用的,而n只能在该“{}”中使用在程序最后一句的printf中对n的引用必然造成编译错误。6.1.4C语言的局部变量、全局变量和静态变量关于局部变量作

8、用域的几点说明主函数中定

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

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

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