【笔记】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编辑模式上周提出的建议,这周就有啦。真的真的大大提升了发帖的享受感。
### 与君共勉,一起进步!?????
@Shark恒 麻烦恒大帮忙看一下是怎么回事,我用Markdown模式发帖,都编辑好了,但是就是发出来是空白的,发了两个帖子都是这样,但点进去又可以看见编辑好的帖子,麻烦恒大了 雪碧cc 发表于 2022-1-8 17:06
@Shark恒 麻烦恒大帮忙看一下是怎么回事,我用Markdown模式发帖,都编辑好了,但是就是发出来是空白的,发 ...
确实很奇怪,我之前测试是正常的。等我看看是哪里出了问题 雪碧cc 发表于 2022-1-8 17:06
@Shark恒 麻烦恒大帮忙看一下是怎么回事,我用Markdown模式发帖,都编辑好了,但是就是发出来是空白的,发 ...
暂时先用老编辑框发布出来,之后我看看是哪里出了问题,到时候我帮你转换一下模式 可以了,试试看,图片重新上传个大图 Shark恒 发表于 2022-1-8 18:28
可以了,试试看,图片重新上传个大图
好的好的,谢谢恒大 雪碧cc 发表于 2022-1-8 22:53
好的好的,谢谢恒大
客气了,应该的 谢谢分享,辛苦了! 谢谢分享 谢谢分享