常量——不能改变的量
变量——能改变的量
常量
包括:1、字面常量 2、const修饰的常变量 3、#define 定义的标识符常量 4、枚举常量
1.字面常量
int main()
{
3.14;//浮点数常量
10;//整数常量
'a';//字符常量
"abcd"//字符串常量
return 0;
}
2、const修饰的常变量
const int num = 10; //被const修饰的变量是不能改的,称为常变量. 其本质还是变量
num = 20;
printf("%d\n",num);//结果还是10
int main()
{
const int num = 10; //被const修饰的变量是不能改的,称为常变量. 其本质还是变量
num = 20; //报错:左边的值必须是可修改的值
printf("%d\n", num); //结果还是10
return 0;
}
3、#define 定义的标识符常量
#define MAX 10000
#define定义可以在大括号内
MAX = 20;//报错,不可重新赋值。
int n = MAX;
printf("n=%d\n",n) //打印结果是n=10000
int main()
{
#define MAX 10000
MAX = 20; //报错,不可重新赋值。
int n = MAX;
printf("n=%d\n", n); //打印结果是n=10000
return 0;
}
4、枚举常量
可以一一列举的常量
比如:一周有周一到周日,性别有男和女
enum Sex
{
//以下是这种枚举类型的变量的可能取值
//这三个值就是枚举常量,可以为其赋初值,如MALE=3
MALE,
FEMALE,
SECRET
};
int main()
{
enum Sex s = MALE;
printf("%d\n", MALE);
return 0;
}
变量
如何创建一个变量:类型 变量的名字 = 0;
如:int age = 20; double weight = 75.3;
其中int是变量类型,age是变量的名字,等号后面是数值。
int main()
{
int age = 20;
double weight = 75.3;
age = age++;
weight = weight - 10;
printf("%d\n", age);
printf("%lf\n", weight);
return 0;
}
运行结果为:
21
65.300000
\n为换行符
%d 代表数据类型为整形
%f 代表数据类型为float单精度浮点型
%lf 代表数据类型为double双精度浮点型
变量包括:局部变量 和 全局变量
在大括号内叫局部变量,在大括号外叫全局变量。
当局部变量和全局变量名字冲突情况下,局部优先。
作用域和生命周期
作用域:
局部变量的作用域:就是变量所在的局部范围
全局变量的作用域:整个工程
跨文件时使用全局变量,需要声明一下变量,用 extern int 变量名;
生命周期:
局部变量的生命周期:进入局部变量范围生命开始,出局部范围生命结束
全局变量的生命周期:程序的生命周期