1 / 111
文档名称:

第5章 程序结构.ppt

格式:ppt   页数:111
下载后只包含 1 个 PPT 格式的文档,没有任何的图纸或源代码,查看文件列表

如果您已付费下载过本站文档,您可以点这里二次下载

分享

预览

第5章 程序结构.ppt

上传人:中国课件站 2011/10/11 文件大小:0 KB

下载得到文件列表

第5章 程序结构.ppt

文档介绍

文档介绍:第5章程序结构
作用域与可见性
生存期
局部变量和全局变量
静态成员
友元
常类型
多文件结构
编译预处理
作用域与可见性
作用域
作用域是一个标识符在程序正文中有效的区域。C++的作用域有函数原型作用域、块作用域(亦称局部作用域)和文件作用域。
1. 函数原型作用域
函数原型作用域是C++程序中最小的作用域。前面介绍过,在函数原型的声明中一定要包含参数的类型声明。
这里参数的声明就属于函数原型作用域,它开始于函数原型声明的左括号“(”,结束于右括号“)”。例如,有如下函数声明:
double Area(double length,double width);
由于形参length和width只在括号之内有效,在程序的其它地方无法引用这个标识符,如果要引用,必须重新定义。例如:
double Area(double length,double width); //函数声明
length=10;
width=5;
这段代码会引起无定义的标识符编译错误。所以,对于这种情况,标识符length和width实际上是可有可无的,省去它,也决不会影响到程序的编译和运行结果。例如:
double Area(double,double);
但是,考虑到程序的可读性,还是要在函数原型声明时,给形参指定一个有意义的标识符,而且一般总是与该函数定义时声明的参数标识符一致。
例如:
double Area(double length,double width); //函数声明
//...
double Area(double length,double width) //函数定义
{
//...
}

块作用域又称局部作用域。当标识符的声明出现在由一对花括号“{}”所括起来的程序(块)内时,则此块中声明的标识符的作用域从声明处开始,一直到块结束的花括号为止。为了理解块作用域,我们来看一个例子:
#include<>
void main( )
{
int n;
for(int i=0;i<5;i++)
{
int m;
if(i%2) m作用域 i作用域 n作用域
n++;
}
m=n/2; //错误,m未定义
n=i;
}
在这个例子中,函数体main( )是一个块,for语句之后的循环体又是一个较小的块。变量n和i的作用域从声明处开始,到它所在的块,即整个函数体main( )结束处为止。变量m的作用域从声明处开始到它所在的块,即循环体结束为止。因此,编译时m=n/2会出错,因为它试图在m作用域之外引用m。而n=i是允许的,因为此时还在i的作用域内。如果在上面的程序中加入一个函数fun1( ),情况会怎么样呢?
#include<>
void main( )
{
void fun1( ); //fun1( )函数声明
int n;
for(int i=0;i<5;i++)
{
int m;
if(i%2)
n++;
}
m=n/2; //错误,m未定义
fun1( ); //fun1( )函数调用
n=i;
}
void fun1( )
{
cout<<"i="<<i<<endl; //错误,i未定义
}

最近更新

2025年硅湖职业技术学院单招职业倾向性测试模.. 40页

2025年福州职业技术学院单招综合素质考试模拟.. 39页

2025年福建幼儿师范高等专科学校单招职业倾向.. 40页

2026年山西经贸职业学院单招职业技能测试模拟.. 42页

2025年福建艺术职业学院单招综合素质考试模拟.. 41页

2025年聊城职业技术学院单招职业适应性考试模.. 40页

2025年苏州农业职业技术学院单招职业适应性测.. 40页

2025年苏州市职业大学单招职业技能测试题库含.. 41页

2026年广东省河源市单招职业适应性考试题库必.. 41页

2026年广州工程技术职业学院单招职业适应性考.. 41页

2025年衡水职业技术学院单招职业倾向性考试模.. 41页

2025年西南交通大学希望学院单招综合素质考试.. 39页

2026年广西省柳州市单招职业倾向性考试题库及.. 42页

2026年庆阳职业技术学院单招职业倾向性测试模.. 42页

2025年西安高新科技职业学院单招职业倾向性测.. 42页

2026年成县师范单招测试题附答案 43页

2025年贵州建设职业技术学院单招职业技能考试.. 40页

2026年攀枝花攀西职业学院单招职业倾向性考试.. 42页

2025年贵阳幼儿师范高等专科学校单招职业倾向.. 39页

2026年朔州职业技术学院单招职业倾向性考试题.. 42页

2026年校联考单招试题必考题 42页

2025年辽宁广告职业学院单招职业倾向性测试模.. 40页

2026年毕节幼儿师范高等专科学校单招职业适应.. 41页

2026年江苏农林单招试题及答案1套 43页

2025年辽宁职业学院单招职业倾向性测试题库带.. 40页

2026年江西应用工程职业学院单招职测考试题库.. 42页

2025年邯郸幼儿师范高等专科学校单招职业适应.. 39页

2026年江西省抚州市单招职业适应性考试题库附.. 42页

2025年郑州城市职业学院单招综合素质考试模拟.. 39页

2025年郑州旅游职业学院单招职业技能考试模拟.. 40页