变量的定义

在程序的运行过程中,其值可以改变的量称为变量。每个变量都有一个名字,称为变量名。

示例:

变量说明:int k = 50;

其中:

  • int是类型标识符
  • k是变量名
  • 50是变量k的初值

可以把变量理解成内存中的某一段存储空间。上面的变量说明表示将此段内存空间命名为k,而50则是存放在这段存储空间中的数值。

// 变量定义示例
int number = 10;
float price = 25.5;
char grade = 'A';

变量命名规则

变量名和符号常量名的命名方法相同,都是用标识符表示。标识符就是一个名字,其命名必须按照一定的规则进行:

  • 只能由字母、数字和下划线组成
  • 第1个字符必须为字母或下划线,不允许使用数字
  • 大写字符和小写字符被认为是两个不同的字符
  • 不能使用C语言关键字作为变量名
合法标识符:

Class_1、_abc1、id、a1b2、sum、total

不合法标识符:

a b //标识符不能含空格符

1a //标识符不能以数字开头

#abc //标识符不能使用"#"

xyz-1 //不能使用减号"-"

习惯上,变量名用小写字母表示。为增加可读性,所用标识符最好能"见名知义"。

变量类型

C语言中有多种变量类型,主要包括:

整型变量
int i, j, k; // 定义三个整型变量
字符型变量
char c1, c2; // 定义两个字符型变量
浮点型变量

浮点数由"精度"和"范围"确定:

  • float:有效位数是7,占用4个字节
  • double:有效位数是17,占用8个字节
float x1, x2; // 定义单精度浮点型变量
double z1, z2; // 定义双精度浮点型变量
变量与符号常量的区别

变量的值可以改变,而符号常量的值不可以改变。

#define G 9.8 // 定义符号常量G
int k = 50; // 定义变量k
k = 60; // 正确,变量的值可以改变
G = 77; // 错误,符号常量的值不可以改变

练习题

1. 下列哪个是合法的C语言变量名?
答案:C. _var
解析:变量名只能包含字母、数字和下划线,且不能以数字开头。选项A以数字开头,选项B包含减号,选项D包含点号,都不符合命名规则。
2. 下列关于C语言变量的说法中,错误的是?
答案:B. 变量名不区分大小写
解析:C语言是区分大小写的,因此变量名age和Age是两个不同的变量。
3. 下列浮点型变量定义中,正确的是?
答案:C. float _value;
解析:选项A以数字开头,选项B使用了关键字double,选项D以点号结尾,都是不合法的变量定义。

知识点总结与易错点

本节课知识点总结:
  • 变量是程序运行过程中值可以改变的量,需要先定义后使用
  • 变量命名必须遵循标识符规则:字母、数字、下划线组成,不能以数字开头
  • C语言区分大小写,因此变量名age和Age是不同的变量
  • 变量定义需要指定类型,常见类型有int、char、float、double等
  • 变量与符号常量的区别:变量的值可以改变,符号常量的值不可改变
  • 浮点型变量有精度限制,float有效位数为7位,double有效位数为17位
易错点:
  • 变量名使用非法字符(如空格、减号、点号等)
  • 变量名以数字开头
  • 使用C语言关键字作为变量名
  • 混淆变量与符号常量的概念
  • 浮点型变量精度超出范围导致数据不准确
  • 变量未初始化就使用,导致不可预知的结果
编程建议:
  • 变量名最好能做到"见名知义"
  • 使用小写字母命名变量
  • 变量使用前先初始化
  • 根据数据范围选择合适的变量类型