Bootstrap

变量、常量

在 C 语言的学习过程中,变量和常量是非常基础且重要的概念,今天就来和大家详细聊聊它们相关的知识。

一、变量的分类

在 C 语言里,变量主要分为两类:

  1. 局部变量:它是在 “{}” 内部定义的变量,作用范围局限在这个花括号所限定的局部区域内。
  2. 全局变量:相对地,全局变量是在 “{}” 外部定义的变量,其作用域更为宽泛,能在整个工程当中发挥作用。需要注意的是,当全局变量和局部变量名字相同的时候,按照规则是局部变量优先被使用哦。

二、变量的使用

在 C 语言中,我们常用到两个函数来进行数据的输入输出操作。

  • scanf 函数:这是一个输入函数,它能够帮助我们接收用户输入的数据。例如,像下面这样的代码:
#include<stdio.h>
int main()
{
    int num1 = 0;
    int num2 = 0;  //初始化
    //输入两个整数
    scanf("%d %d", &num1, &num2);
    //后续可以进行其他操作,比如对输入的数据进行处理等
    return 0;
}

在上述代码中,通过scanf函数按照指定的格式(%d表示整数格式)接收两个整数,并分别存储到num1num2变量中。

  • printf 函数:它是一个输出函数,用于将我们想要展示的数据输出显示出来。比如:
#include<stdio.h>
int main()
{
    int num1 = 0;
    int num2 = 0;
    scanf("%d %d", &num1, &num2);
    int sum = num1 + num2;
    //输出
    printf("%d\n", sum);
    return 0;
}

这段代码先是通过scanf接收两个整数,计算它们的和存到sum变量里,然后利用printf函数将sum的值输出显示出来。

三、变量的作用域和生命周期

  1. 局部变量
    • 作用域:它的作用域就是变量所在的局部范围,也就是定义它的那个花括号内部。一旦超出这个范围,就没办法再直接访问这个变量了。
    • 生命周期:从进入它的作用域开始,它的生命周期就启动了,等到出了作用域,生命周期也就随之结束了。
  2. 全局变量
    • 作用域:全局变量的作用域覆盖整个工程,在不同的函数或者文件等只要符合相应的访问规则,都可以对其进行访问和使用。
    • 生命周期:它的生命周期贯穿整个程序的生命周期,从程序开始运行到结束,它一直存在。

四、常量

在 C 语言中,常量也有多种不同的类型呢。

  1. 字面常量
    30(整型字面常量)、3.14(浮点型字面常量)、'w'(字符型字面常量)、"abc"(字符串字面常量)这些都是字面常量,它们在代码中直接以这样的形式呈现,代表固定的值。
  2. const 修饰的常变量
    在 C 语言里,虽然用const修饰的变量(比如const int a = 10;)本质上还是变量,但是它不能直接修改,具备了一定的常量属性。像下面这样的代码是会报错的哦:
#include<stdio.h>
int main()
{
    const int a = 10;  //在c语言中,const修饰的a本质是变量,但是不能直接修改,有常量的属性
    a = 20;
    printf("%d\n", a);
    return 0;
}

因为它被const修饰后,就限制了直接修改它的值的操作。
3. #define 定义的标识符常量
我们可以通过#define来定义标识符常量,例如:

#include<stdio.h>
#define MAX 100
int main()
{
    printf("%d\n", MAX);
    int a = MAX;
    printf("%d\n", a);
    return 0;
}

这里通过#define定义了MAX为常量100,在代码中可以像使用普通常量一样去使用它,并且其值是固定不能被改变的。
4. 枚举常量
通过enum关键字来定义枚举类型,里面列举出来的就是枚举常量啦。比如:

#include<stdio.h>
enum Color
{
    //枚举常量
    RED,
    GREEN,
    BLUE
};
//性别
enum Sex
{
    MALE,
    FAMALE,
    SECRET
};
int main()
{
    //三原色
    //Red  GREEN  Blue
    int num = 10;
    enum Color c = RED;
    return 0;
}

这里定义了ColorSex两个枚举类型,像REDGREEN等就是枚举常量,它们在对应的枚举类型中有自己特定的含义和固定的值(默认从 0 开始依次递增赋值)。

总之,理解好 C 语言中变量和常量这些概念以及它们各自的特点、使用方式等,对于我们后续深入学习 C 语言编程可是非常关键的哦,希望今天的分享能帮助大家更好地掌握它们。

;