3.1 C 的数据类型
C语言的数据结构是以数据类型形式出现的。C的数据类型如下:
- C语言中数据有常量与变量之分,它们分别属于以上这些类型。
- 由以上这些数据类型还可以构成更复杂的数据结构。例如,利用指针和结构体类型可以构成表、树、栈等复杂数据结构。
- 在程序中,对用到的所有数据都必须指定其数据类型。
3.2 常量与变量
3.2.1 常量和符号常量
-
常量:在程序运行过程中,其值不能被改变的量称为常量。
常量区分为不同的类型,如:
- 整型常量:12、0、-3
- 实型常量:4.6、-1.23
- 字符常量:‘a’、‘d’
-
字面常量(直接常量):常量一般从其字面形式即可判别是什么数据类型,这种常量称为字面常量或直接常量。
-
符号常量:用一个标识符代表一个常量的,称为符号常量,即标识符形式的常量。
-
例3.1 符号常量的使用
#include <stdio.h>
#include <stdlib.h>
#define PRICE 30
int main(void)
{
int num,total;
num = 10;
total = num * PRICE;
printf("total = %d",total);
return 1;
}
- 运行结果:
total = 300
程序中用
#define
命令行定义PRICE
代表常量30
,此后凡在同一项目中用到PRICE
都代表30
,可以和常量一样进行运算。
注意: 符号常量不同于变量,它的值在其作用域(在本例中为主函数)内不能改变,也不能再被赋值。如再执行“PRICE=40”是错误的。
-
习惯上,符号常量名用大写,变量名用小写,以示区别。
-
使用符号常量的好处:
(1)含义清楚。如上面的程序中,看程序时,从 PRICE 就可知道它代表价格。因此定义符号常量时应考虑“见名知意”。
(2)在需要改变一个常量时,能做到“
一改全改
”。例如在程序中多处用到某物品的价格,如果价格用常数(直接常量)表示,则在价格调整时,就需要在程序中作多处修改;如果用符号常量 PRICE 代表价格,只需要改动一处即可。如:
#define PRICE 35
在程序中,所有以 PRICE 代表的价格就会一律自动修改。
3.2.2 变量
- 变量:其值可以改变的量称为变量。
一个变量应该有一个名字,在内存中占据一定的存储单元。在该存储单元中存放变量的值。
请注意区分变量名和变量值这两个不同的概念,如下图。
- 变量名实际上是一个符号地址,在对程序编译链接时由系统给每一个变量名分配一个内存地址。
- 在程序中从变量取值,实际上是通过变量名找到相应的内存地址,从其存储单元中读取数据。
-
标识符(identifier):用来标识变量名、符号常量名、函数名、数组名、类型名、文件名的有效字符序列。
-
简单地说,标识符就是一个名字。
-
C语言规定标识符只能由
字母、数字和下划线
三种字符组成,且第一个字符必须为字母
或下划线
。//合法的标识符和变量名 sum,average,_total,Class,day,month,Student, _name,tan,lotus_1_2_3,BASIC,li_ling //不合法的标识符和变量名 M.D.John,¥123,#33,3D64,a>b
注意: 大写字母和小写字母被认为是两个不同的字符。因此
sum
和SUM
,class
和Class
是两个不同的变量名。- 一般变量名用小写字母表示,与人们日常习惯一致,以增加可读性。
- 变量名应注意“见名知意”。
- 变量名的长度不超过255字符。
- 使用“先定义,后使用”原则。
本节完 |
---|