这只是一篇新手个人学习笔记,其中不可避免出现理解不深不透,仅以督促自身及记录,如有错误,望批评指正!
目录
一、初识变量常量
生活中的有些值是不变的(比如:圆周率,性别(?),身份证号码,血型等等)有些值是可变的(比如:年龄,体重,薪资)。
放在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; }
-
枚举常量