折纸M 发表于 2022-1-8 16:43

【笔记】C语言笔记03_变量常量

# C语言笔记03_变量常量

> 这只是一篇新手个人学习笔记,其中不可避免出现理解不深不透,仅以督促自身及记录,如有错误,望批评指正!

### 一、初识变量常量

生活中的有些值是不变的(比如:圆周率,性别(?),身份证号码,血型等等)有些值是可变的(比如:年龄,体重,薪资)。

放在C语言中不变的数值,叫**常量**,变化的数值叫**变量**

```c
int main()
{
        //创建一个变量
        int age = 22;
        double weight = 63.5;

        age = age+1;
        weight = weight-10;

        printf("%d\n",age);
        printf("%lf\n",weight);
        //浮点类型中 float用%f   double用%lf
   
        return 0;

}
```



## 变量

#### 变量的分类

全局变量 - {}外部定义--全局变量的作用域为整个工程,整个工程都可以使用它,只是要方法得当

局部变量 - {}内部定义的--变量所在的局部范围

```c
int a = 100;        //全局变量 - {}外部定义的

int main()

{
        int a = 10;        //局部变量 - {}内部定义的
        printf("%d\n", a);
       
        return 0;

}
//结果为10当局部变量和全部变量名字冲突的情况下,局部变量优先
```



当局部变量和全部变量名字冲突的情况下,局部变量优先

通常不建议把全局变量名字和局部变量名字设置为相同的

```c
//求2个整数之和
int main()
{
        int a = 0;
        int b = 0;
        int sum = 0;//定义一个

        int a, b, sum = 0;                //也可以写成这样

        scanf("%d %d", &a, &b);                //进行赋值
        //取一个整数%d,存放在a;再取一个存放在b
        sum = a + b;
        printf("sum = %d\n", sum);



        return 0;
}



```





#### 变量的作用域和生命周期

> **作用域:**作用域(scope)是程序设计概念,通常来说,一段程序代码中所用到的名字并不总是有效/可用 的 而限定这个名字的可用性的代码范围就是这个名字的作用域。

[^]: 通俗的讲,这个变量在哪里可以使用哪里就是它的作用域

全局变量 - {}外部定义--全局变量的作用域为整个工程,整个工程都可以使用它,只是要方法得当

局部变量 - {}内部定义的--变量所在的局部范围

```c
int main()       
{
        printf("HHHHHH\n");
        int a = 6;
       
        printf("a = %d\n", a);        //那a的作用域就在{}57到65之间

       
        return 0;
}
```

```c
int g = 200;                //写在{}外 于此为全局变量 适用于以下代码
printf("%d\n",g)        //承接上面 这样的写法是错误的 执行性代码必须写到函数中
```

```c
//extern int声明变量
//在不同的源文件定义的变量在此源文件同样适用,只需要声明一下“告诉”它我有这个变量
```



> 生命周期:变量的创建和销毁之间的时间段

全局变量:全局变量的生命周期就是程序的生命周期

局部变量:进入局部范围生命周期开始,出局部范围,生命结束

---

## 常量

### 常量的分类

1. 字面常量

   ```c
   int main()
   {
           3.14;
           10;
           "abcdef";
           return 0;
   }
   ```

   

2. const 修饰的常变量

   ```c
   int main()
   {
           /*3.14;
           10;
           "abcdef";
           return 0;*/
   
           const int num = 10;//num就是常变量 - 具有常属性(不能被改变的属性)
           num = 20;
           printf("num=%d\n", num);
   }
   
   ```

   !(https://gitee.com/Luuxcyzz/my-image-host/raw/master/img/image-20220108155654390.png)

3. #define 定义的标识符常量

   ```c
   #define Max 20000;
   int main()
   {
           int n = Max;
   
           printf("num=%d\n", n);
   
           return 0;
   
   }
   ```

   

4. 枚举常量

!(https://gitee.com/Luuxcyzz/my-image-host/raw/master/img/image-20220108162559985.png)

hiodis 发表于 2022-1-8 18:10

个人学习笔记{:1_927:}

untest001 发表于 2022-1-8 18:34

哇哦,,腻害

tlf 发表于 2022-1-8 21:46

zwrong 发表于 2022-1-8 22:09

请问用的是什么软件编译呀?dev吗

折纸M 发表于 2022-1-8 22:52

zwrong 发表于 2022-1-8 22:09
请问用的是什么软件编译呀?dev吗

不是 用的是vs2019

wang2019 发表于 2022-1-10 21:45

本帖最后由 wang2019 于 2022-1-10 21:47 编辑

楼主看的哪个教程?

折纸M 发表于 2022-1-11 16:23

wang2019 发表于 2022-1-10 21:45
楼主看的哪个教程?

b站 C语言从入门到精通 综合排序 第一个
页: [1]
查看完整版本: 【笔记】C语言笔记03_变量常量