C语言程序设计与项目实践
模块化与团队协作
———模块化程序设计
项目6
回顾
函数的结构包括:返回值类型、函数名、参数列表、函数体
函数的调用
函数的参数传递
目标
掌握变量的作用域范围
理解外部函数与内部函数
预习检查
什么叫作用域
内部函数与外部函数
项目任务
任务6-2、多人协作完成一个任务
1、如何实现多人合作开发
2、如何实现数据与函数的共享。
变量的作用域与可见性
变量的作用域是指一个范围,是一个标识符在程序正文中有效地区域。从代码空间的角度考虑问题,它决定了变量的可见性。
作用域有:函数原型作用域、块作用域(局部作用域)、函数作用域(局部作用域)、文件作用域(全局作用域),
根据变量的作用域范围,我们将变量分为局部变量(local variable)、全局变量(global variable)。
程序中变量也有不同的使用范围,称为变量的作用域。变量的作用域决定变量的可访问性
变量的作用域
void display()
{
float discount;
. . .
. . .
. . .
}
局部变量:不能在函数外使用
float discount;
void main()
{
. . .
. . .
}
void display()
{
. . .
. . .
}
全局变量:可以在整个程序中使用
局部变量
所谓“局部变量”是指在一定范围内有效的变量。在C语言中,在以下各位置定义的变量均属于局部变量,其作用域也不同。
(1)、在函数体内定义的变量,在本函数范围内有效,即其作用域只局限在本函数体内。
(2)、有参函数中的形式参数也是局部变量,只在其所在的函数范围内有效。
(3)、在函数原型声明时形式参数的作用域范围就是函数原型作用域。
(4)、在复合语句内定义的变量,仅在本复合语句范围内有效,也称为块作用域。
int f2(int x)
{
int y,z;
……
}
double Area(double radius);
void main(){
int s,a;
……
{
int b;
s=a+b;
…… /*b作用域*/
}
…… /*s,a作用域*/
}
局部变量
【例6-9】各函数局部变量同名的应用例子。
void main()
{
int i; //函数内的局部变量
i=5;
{
int i; //定义局部变量,具有块作用域
i=7;
printf("i=%d\n",i);
}
printf("i=%d\n",i);
printf("fun1:%d,i=%d\n",fun1(i),i);//调用函数
fun2(i);//调用函数
printf("i=%d\n",i);
}
void fun2(int &i) //引用参数i
{
int x=5;
i=x*i;
}
int fun1(int x) //x 值参
{
int i=5; //函数内局部变量i
i=x*i;
return i;
}
任务多人协作完成一个任务 来自淘豆网m.daumloan.com转载请标明出处.