码迷,mamicode.com
首页 > 编程语言 > 详细

11-黑马程序员------C 语言学习笔记---C语言的变量的作用域和储存类型

时间:2015-05-10 18:50:15      阅读:173      评论:0      收藏:0      [点我收藏+]

标签:

黑马程序员------<a href="http://www.itheima.com" target="blank">Java培训、Android培训、iOS培训、.Net培训</a>、期待与您交流! -------

五 变量的作用域和储存类型

01 变量的作用域是指该变量有效地区域,C语言中得变量分为局部变量和全局变量。

02 局部变量:

*局部变量的作用域仅限于定义它的代码块内,离开代码块内便失去作用。

*形参只有在函数内有效,其也属于局域变量,作用域被限定在定义它的函数内部。

*当代码块处于嵌套状态时,如果内层代码块有一个变量的名字与外层代码块相同,则内层的变量就将屏蔽外层的变量。

 

// 利用全局变量写一个函数,求某班级学生成绩的最高分,最低分和平均分
#include <stdio.h>
double max=0,min=100; // 定义全局变量
double average(int m);// 函数声明

int main()

{
    int n;
    double ave;
    
    printf("请输入人数:\n");// 输入班级人数
    
    scanf("%d",&n); // 接受班级人数
    
    ave = average(n); // 调用函数
    
    printf("ave=%f,max=%f,min=%f\n",ave,max,min);
    
    
    
    
}

double average(int m)
{
    int i;
    double s,ave,sum;
    for (i=1; i<=m; i++)
    {
        scanf("%lf",&s);
        if (s>max)
        {
            max = s;
        }
        if (s<min)
        {
            min = s;
        }
        sum = sum+s;
    }
    ave =sum/m;
    return ave;
    
    
    
    
}

 

03 全局变量

01 定义在函数外部的变量称为全局变量,它定义在函数外边,不属于任何函数和代码块,而属于整个源文件。其有效位置从定义变量的位置开始到源文件结束。

02 static静态局部变量,其在整个源程序中都存在,系统自动赋值为0,可以保留上次运行结果。

03 extern 外部变量,在同一个文件内,为了使全局变量在定义点之前的函数中也能使用,在函数中用extern加以声明。

当一个源程序由若干源文件组成时,在一个源文件中定义的外部变量可以在其他源文件中使用extern进行声明,使其在其他源文件中可以使用。

// 编写一个函数求圆的面积
#include <stdio.h>

double area(double r)
{
    
    extern double P; // 外部声明
    return P*r*r; // 面积公式
    
}

double P = 3.14; // 定义全局变量P并初始化,自此作用域往下有效
int main()
{
    double r;
    printf("请输入圆的半径:\n");
    
    scanf("%lf",&r);
    
    printf("area=%f\n",area(r));
    
    
    
}

 

11-黑马程序员------C 语言学习笔记---C语言的变量的作用域和储存类型

标签:

原文地址:http://www.cnblogs.com/iceshan/p/4492518.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!