1. 变量(Variables)
1.1 什么是变量
变量是在程序执行过程中值可以改变的命名存储空间。它用于存储程序所需的数据,数据类型决定了变量可以存储的数据类型和占用的内存大小。
1.2 变量的声明与定义
在C语言中,变量的声明和定义通常结合在一起,语法如下:
数据类型 变量名;
例如:
int age;
float salary;
char grade;
1.3 变量的初始化
变量可以在声明时赋初值:
int age = 25;
float salary = 5000.50;
char grade = 'A';
1.4 变量的使用
在变量被声明和初始化后,可以在程序中对其进行读取和修改:
age = age + 1; // 增加年龄
printf("年龄是: %d\n", age);
1.5 变量的作用域
变量的作用域决定了变量可以被访问的范围:
- 全局变量:在所有函数之外定义,作用域为整个程序。
- 局部变量:在函数或代码块内定义,作用域为定义它的函数或代码块内部。
示例:
int globalVar = 10; // 全局变量
void func() {
int localVar = 5; // 局部变量
printf("局部变量: %d\n", localVar);
}
int main() {
printf("全局变量: %d\n", globalVar);
func();
// printf("%d", localVar); // 错误,无法访问局部变量
return 0;
}
2. 常量(Constants)
2.1 什么是常量
常量是在程序执行过程中值不可改变的量。常量用于保持固定值,提高程序的可读性和安全性。
2.2 常量的定义方式
2.2.1 使用const
关键字
const 数据类型 常量名 = 常量值;
示例:
const int MAX_USERS = 100;
const float PI = 3.14159;
2.2.2 使用#define
预处理指令
#define 常量名 常量值
示例:
#define MAX_USERS 100
#define PI 3.14159
2.3 常量的使用
常量一旦定义,就可以在程序中使用,但不能修改其值:
const int MAX_SIZE = 50;
int array[MAX_SIZE]; // 定义数组大小
// MAX_SIZE = 100; // 错误,不能修改const常量的值
3. 示例代码
以下是一个变量和常量综合使用的示例程序:
#include <stdio.h>
#define PI 3.14159 // 定义宏常量
int main() {
const int radius = 5; // 定义const常量
float area;
float circumference;
// 计算面积和周长
area = PI * radius * radius;
circumference = 2 * PI * radius;
printf("半径为%d的圆的面积是: %.2f\n", radius, area);
printf("半径为%d的圆的周长是: %.2f\n", radius, circumference);
// radius = 10; // 错误,不能修改const常量的值
return 0;
}
输出结果:
半径为5的圆的面积是: 78.54
半径为5的圆的周长是: 31.42
4. 注意事项
4.1 变量命名规则
- 必须以字母或下划线开头:变量名不能以数字开头。
- 区分大小写:
age
和Age
是两个不同的变量。 - 不能使用关键字:如
int
、float
、if
等。
4.2 变量的初始化
- 未初始化的变量可能包含垃圾值:使用前最好进行初始化。
- 全局变量默认初始化为零:局部变量则不一定。
4.3 常量的选择
- 使用
const
或#define
:const
有类型检查,#define
在预处理阶段替换,无类型检查。 - 建议使用
const
:更安全,调试时更容易定位错误。
4.4 不能修改常量的值
const
常量:试图修改会导致编译错误。- 宏常量
#define
:在编译前已经被替换,不能修改。
5. 总结
- 变量是可变的存储单元,用于保存程序执行过程中需要的数据。
- 常量是不可变的值,用于定义程序中的固定值,提高可读性和安全性。
- 正确地定义和使用变量与常量有助于编写健壮、高效的程序。