首页 理论教育常量与变量|51单片机初级入门实战教程

常量与变量|51单片机初级入门实战教程

【摘要】:对于基本数据类型量,根据变量值在程序执行过程中是否发生变化,又可分为常量和变量两种。常量——与变量相对应,在程序执行的过程中,其值不能发生改变。习惯上用大写字母来表示符号常量的标识符,用小写字母表示变量标的识符。程序中使用变量须先用标识符作为变量名,并指出所用的数据类型和存储模式。各变量名之间用逗号间隔,类型说明符与变量名之间至少用一个空格间隔。

对于基本数据类型量,根据变量值在程序执行过程中是否发生变化,又可分为常量和变量两种。在程序运行过程中值不能改变的量称为常量,而值可以不断变化的量称为变量。

常量——与变量相对应,在程序执行的过程中,其值不能发生改变。常量的数据类型有位型、整型、浮点型、字符型和字符串型。

位型常量为一位二进制值。

整型常量可以为十进制,如1,3,30等;亦可以为十六进制以OX开头,如OX2F、OX5A等。

浮点型常量有十进制和指数两种形式。十进制由数字和小数点组成,如34.44,0.0等,指数形式[±]数字[.数字]e[±]数字,[]中的内容为可选项,其中内容根据具体情况可有可无,但是其余部分必须有,如8e4等。

字符型常量是单引号内的字符,如‘f’,无法显示的控制字符可以在该字符前面加一个反斜杠“\”,组成专用转义字符。转义字符用来表示那些用一般字符不便于表示的语句代码。表4-1为C语言常用的转义字符描述。

表4-1 C语言常用的转义字符描述

978-7-111-47690-0-Part01-134.jpg

(续)

978-7-111-47690-0-Part01-135.jpg

字符串常量由双引号内的字符组成,如“student”等,若双引号内没有字符时为空字符串。在C语言中字符串常量作为字符类型数组来处理,在存储字符串时系统会在字符串尾部加上\0转义字符,作为字符串的结束符。

注意:字符串常量和字符常量区别为“F”:字符串常量;‘F’:字符常量。字符串常量存储时比字符常量多占用一个字节为存储结束符\0。

符号常量在使用之前必须先定义,其一般形式为

#define标识符 常量

其中#define是一条编译预处理命令(预处理命令都以"#"开头),称为宏定义命令,它的功能是把该标识符定义为其后的常量值。习惯上用大写字母来表示符号常量的标识符,用小写字母表示变量标的识符。使用符号常量的优点:如当程序中很多地方都要用到这个变量,而数值又需要经常做改动,这时使用符号常量方便修改。

变量——由两部分构成,一个是变量名,一个是变量值。每个变量都有一个变量名,在内存中占据一定的存储单元,并在该内存单元中存放该变量的值。程序中使用变量须先用标识符作为变量名,并指出所用的数据类型和存储模式。

1.整型变量

变量定义的一般形式为

类型说明符,变量名标识符,变量名标识符,...;

例如:

int a,b,c;(a,b,c为整型变量)(www.chuimin.cn)

unsigned int a,b;(a,b为无符号整型变量)

定义变量时,允许在一个类型说明符后,同时定义多个相同类型的变量。各变量名之间用逗号间隔,类型说明符与变量名之间至少用一个空格间隔。

2.实型变量

实型变量分为单精度(float型)和双精度(double型)。

其中单精度型占4个字节内存空间,双精度型占8个字节内存空间。

实型变量定义方法与整型变量定义方式相同,

例如:

float a,b;(a,b为单精度实型量)

double a,b;(a,b为双精度实型量)

3.字符变量

字符变量用来存储单个字符,定义处理字符数据的变量。

字符变量定义与整型和实型方式相同,

例如:

char a,b;(a,b为字符型变量)

4.位变量

sbit用于定义可位寻址的对象,如访问特殊功能寄存器中的某位。位变量定义如下:

sbit位变量名=位地址

例如:sbit P1-1=0X91;将位的绝对地址赋值给位变量。

sbit位变量名=特殊功能寄存器名^位位置

例如:sbit P1-1=P1^1;指定位变量名所在位置。