雪碧cc 发表于 2022-1-8 16:53

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

本帖最后由 雪碧cc 于 2022-1-8 23:15 编辑

> 本帖最后由 雪碧cc 于 2022-1-8 22:56 编辑

> **C语言笔记03_变量常量**

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

### **一、初识变量常量**

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

**放在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;

}
```

## **变量**

#### **变量的分类 **

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

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

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

int main()

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

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

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

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

```
//求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)是程序设计概念,通常来说,一段程序代码中所用到的名字并不总是有效/可用 的 而限定这个名字的可用性的代码范围就是这个名字的作用域。**

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

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

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

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

   
   return 0;
}
```

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

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

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

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

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

---

## **常量**

### **常量的分类**

1. **字面常量**
   
   ```
   int main()
    {
      3.14;
      10;
      "abcdef";
      return 0;
    }
   ```
2. **const 修饰的常变量 **
   
   ```
   int main()
    {
      /*3.14;
      10;
      "abcdef";
      return 0;*/
   
      const int num = 10;//num就是常变量 - 具有常属性(不能被改变的属性)
      num = 20;
      printf("num=%d\n", num);
    }
   ```
   
   !(data/attachment/forum/202201/08/225558t4i55k84455ps7ig.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/300 "image.png")
3. **#define 定义的标识符常量 **
   
   ```
   #define Max 20000;
    int main()
    {
      int n = Max;
   
      printf("num=%d\n", n);
   
      return 0;
   
    }
   ```
4. **枚举常量**
   
   !(data/attachment/forum/202201/08/225457so5o8ofm5edx47fx.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/300 "image.png")

### 最后我想说 真的很感谢论坛!还有恒大,markdown编辑模式上周提出的建议,这周就有啦。真的真的大大提升了发帖的享受感。

### 与君共勉,一起进步!?????

雪碧cc 发表于 2022-1-8 17:06

@Shark恒 麻烦恒大帮忙看一下是怎么回事,我用Markdown模式发帖,都编辑好了,但是就是发出来是空白的,发了两个帖子都是这样,但点进去又可以看见编辑好的帖子,麻烦恒大了

Shark恒 发表于 2022-1-8 18:21

雪碧cc 发表于 2022-1-8 17:06
@Shark恒 麻烦恒大帮忙看一下是怎么回事,我用Markdown模式发帖,都编辑好了,但是就是发出来是空白的,发 ...

确实很奇怪,我之前测试是正常的。等我看看是哪里出了问题

Shark恒 发表于 2022-1-8 18:24

雪碧cc 发表于 2022-1-8 17:06
@Shark恒 麻烦恒大帮忙看一下是怎么回事,我用Markdown模式发帖,都编辑好了,但是就是发出来是空白的,发 ...
暂时先用老编辑框发布出来,之后我看看是哪里出了问题,到时候我帮你转换一下模式

Shark恒 发表于 2022-1-8 18:28

可以了,试试看,图片重新上传个大图

雪碧cc 发表于 2022-1-8 22:53

Shark恒 发表于 2022-1-8 18:28
可以了,试试看,图片重新上传个大图

好的好的,谢谢恒大

Shark恒 发表于 2022-1-8 22:55

雪碧cc 发表于 2022-1-8 22:53
好的好的,谢谢恒大

客气了,应该的

brswbx201610 发表于 2022-1-9 16:32

谢谢分享,辛苦了!

allenzjb 发表于 2022-1-11 13:40

谢谢分享

务实钥匙 发表于 2022-1-22 16:36

谢谢分享
页: [1] 2 3 4 5 6 7 8
查看完整版本: 【笔记】C语言笔记03_变量常量