3.变量、常量
生活中的有些值是不变的(比如:性别,身份证号码,血型等),
有些值是可变的(比如:年龄,体重等)。
在C语言中不变的值用常量的概念表示,变的值变量表示。
3.1定义变量的方法
char ch='a';//ch为定义的变量名
int age=10;
float weight=60.5f;//加f再次确定是单精度浮点型,不加f默认是双精度浮点型。
3.2变量的命名
- 只能由字母(包括大小写)、数字和下划线(_)组成。
- 不能以数字开头。
- 长度不能超过63个字符。
- 变量名中区分大小写。
- 变量名不能使用关键字。
- 变量名尽量有意义,方便阅读。
3.3变量的分类
- 局部变量
- 全局变量
int a = 11;
//全局变量--定义在代码块之外的变量
//大括号{}内的范围叫代码块
#include <stdio.h>
int main()
{
int a = 10;
//变量初始化,初始化和赋值可同时进行。
//局部变量--定义在代码块内的变量
printf("%d", a);
//当前局部和全局变量在一个地方都可以使用的时候,局部优先
return 0;
}
3.4变量的使用
//计算两个整数的和
#include <stdio.h>
int main()
{
int a = 0;
int b = 0;
int s = 0;
scanf("%d %d", &a, &b);//输入2个值
s = a + b;//计算
printf("%d\n", s);//输出
return 0;
}
3.5变量的作用域和生命周期
作用域
限定一段程序代码中名字的可用性的代码范围就是这个名字的作用域。
- 局部变量的作用域是:变量所在的局部范围(代码块)。
- 全局变量的作用域是:整个工程(一个工程可以包含很多源文件,全局变量可以在不同源文件间使用只需用声明外部符号(extern)声明一下,如 extern int a;)
生命周期
变量的生命周期指的是变量的创建到变量的销毁之间的一个时间段
- 局部变量的生命周期是:进入作用域生命周期开始,出作用域生命周期结束。
- 全局变量的生命周期是:整个程序的生命周期。
3.6常量
C语言中的常量和变量的定义的形式有些不同。
C语言中的常量分为以下几种:
- 字面常量
- const 修饰的常变量
- #define 定义的标识符常量
- 枚举常量
int num = 3;//3就是字面常量
#include <stdio.h>
int main()
{
//const---常属性
const int num = 4;//num为const修饰的常变量,具有了常数的属性,但本质还是变量
printf("num=%d\n", num);
return 0;
}
//#define定义的标识符常量
#include <stdio.h>
#define MAX 11
int main()
{
int arr[MAX] = {0};
printf("%d\n", MAX);
return 0;
}
//枚举常量
//enum为枚举关键字,用来自定义枚举类型
enum Color
{
//枚举常量
RED,//默认为0
GREED,//1
BLUE//2
};