C语言笔记03_变量常量
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 声明变量
//在不同的源文件定义的变量在此源文件同样适用,只需要声明一下“告诉”它我有这个变量
生命周期:变量的创建和销毁之间的时间段
全局变量:全局变量的生命周期就是程序的生命周期
局部变量:进入局部范围生命周期开始,出局部范围,生命结束
常量
常量的分类
-
字面常量
int main() { 3.14; 10; "abcdef"; return 0; }
-
const 修饰的常变量
int main() { /*3.14; 10; "abcdef"; return 0;*/ const int num = 10;//num就是常变量 - 具有常属性(不能被改变的属性) num = 20; printf("num=%d\n", num); }
-
define 定义的标识符常量
#define Max 20000; int main() { int n = Max; printf("num=%d\n", n); return 0; }
-
枚举常量
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 别再用vector<bool>了!Google高级工程师:这可能是STL最大的设计失误
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 单元测试从入门到精通
· 上周热点回顾(3.3-3.9)