1.变量
变量是一个有名字的、具有特定属性的一个存储单元,他可以存放数据和变量的值,在程序运行期间变量的值是可以改变的。
1.1变量的定义
变量定义的一般形式为:数据类型 变量名;
int main()
{
short age = 20;//年龄
int high = 160;//身高
float weight = 88.5;//体重
return 0;
}
同一作用域内的变量命名不能相同否则会报错,不同作用域内的变量命名可以相同但不建议,不易区分。
int main()
int b = 40;
{
int a= 10;int a = 20;// 相同作用域内命名不能相同
int b = 30;//不同作用域内命名不建议相同
return 0;
}
多个类型相同的变量:数据类型 变量名1,变量名2,变量名3...;
1.2变量分类
1.2.1局部变量 --- { } 内部定义的变量
局部变量也称为内部变量。局部变量是在函数内定义说明的。其作用范围仅限于函数内,离开该函数后再使用这种变量是非法的。在复合语句中也可定义变量,其作用范围只在复合语句范围内。
1.2.2全局变量 --- { } 外部定义的变量
全局变量也称为外部变量,它是在函数外部定义的变量。它不属于哪一个函数,它属于一个源程序文件。其作用范围是整个程序。
int a = 50;// 全局变量
int main()
{
int b = 60;//局部变量return 0;
}
注意:当全局变量和局部变量名字相同时,局部优先原则;
建议不要将变量的名字相同;
全局变量不初始化,默认是0。
变量的简单使用:
写一个代码,计算2个整数的和
scanf是一个输入函数
printf 是一个输出函数int main()
{
int num1 = 0;
int num2 = 0;// 初始化scanf("%d %d", &num1,&num2);
// 输入2个整数int sum = num1 + num2;
//求和printf("%d\n", sum);
// 输出
return 0;}
1.3变量的作用域和生命周期
1.3.1作用域
作用域(scope)是程序设计概念,通常来说,一段程序代码中所用到的名字并不总是有效/可用的。而限定这个名字的可用性的代码范围就是这个名字的作用域。
局部变量 --- 局部变量的作用域是变量所在的局部范围;
全局变量 --- 全局变量的作用域是整个工程。
1.3.2生命周期
变量的生命周期指的是变量的创建到变量的销毁之间的一个时间段。
局部变量的生命周期是:进入作用域生命周期开始,出作用域生命周期结束;
局部变量的生命周期是:整个程序的生命周期。
2.常量(不可改变)
在程序执行过程中,值不发生改变的量称为常量。
C语言的常量可以分为以下几种:
1.字面常量;
2.const 修饰的常变量;
3.define 定义的标识符常量;
4.枚举常量。
(1)字面常量也称为直接常量,是可以直接拿来使用,无需说明的量
int main()
{
13、0、-13;//整型常量
‘a’、‘M’;//字符常量
”abc”;//字符串常量
return 0;
}
(2) const 修饰的常变量
const修饰的常变量,本质是变量,被赋予了常属性。
int main()
{
const int a = 10;//这里的a是const修饰的常变量
a = 20;//a不能直接被修改
printf("%d\n", a);}
在C语言中,const 修饰的a,本质是变量,但是不能直接修改,有常量的属性。
(3)define 定义的标识符常量
在C语言中,可以用一个标识符来表示一个常量,称之为符号常量。
符号常量在使用之前必须先定义,其一般形式为:#define 标识符(字母一般大写) 常量值
符号常量在使用中不可以被改变。
#define MAX 100
#define STR "abcdef"int main()
{
printf("%d\n", MAX);
printf("%s\n", STR);
MAX = 200; // 报错(使用过程中不可被修改)
return 0;
}
(4)枚举常量
枚举,一一列举。枚举关键字:enum
枚举常量的默认是从0开始,依次向下递增1。
enum Color
// 三原色
{//枚举常量
RED,
GREEN,
BLUE
};// 括号中(RED,GREEN,BLUE)是枚举常量 不能修改
int main()
{
int num = 10;
enum Color c = RED;
RWD = 20;// 不能修改return 0;
}
如有错误之处,会积极改正。