C/C++语言程序中,所有数据都必须指定其数据类型。需注意的是,Energia中的部分数据类型与计算机中的有所不同。数据有常量与变量之分。
1)常量
在程序运行过程中,其值不能改变的量称为常量。C语言定义常量使用语句:
而C++语言定义常量则建议使用语句:
例如:在Blink示例中出现的LED就是常量,C语言定义为:
在Energia语言中预先定义了一些常用常量:
(1)INPUT和OUTPUT:表示I/O口的方向。INPUT表示输入,OUTPUT表示输出。
(2)HIGH和LOW:表示数字I/O口的电平。HIGH为高电平(1),LOW为低电平(0)。
2)变量
程序运行过程中可以变的量称为变量,其定义如下:
3)基本数据类型
C/C++语言数据有四种基本类型分别为整型、浮点型、字符型和布尔类型。
(1)整型。
整型即整数类型。MSP430(16 bit CPU)为例,Energia可使用的主要整数类型及取值范围如表3-2所示。
表3-2 MSP430整数及其取值范围
不同板卡采用的CPU不同,不同整数类型占用的字节数也不尽相同,可以使用sizeof(类型名)进行检测。
(2)浮点类型。
浮点类型就是平常所说的实数。在Energia中有float和double两种浮点类型,不同MCU对两种类型的定义有所差异。一般float占用4字节内存空间,double占用4字节或8字节内存空间,double类型的精度大于等于float的精度。浮点型数据运算较慢并且存在一定误差,因此通常尽可能把浮点数转换成整型来处理。例如:0.1 s,通常会换算成100 ms来计算。
(3)字符型(char)。
字符型主要用于存储字符变量,字符类型变量占用1个字节的内存空间。在存储字符时,字符需要用单引号括起来,如:‘A‘。(www.xing528.com)
字符类型变量也可以当作整型数使用,此时它的取值范围为-128~127;定义成unsigned char则可以作为1字节的无符号整数使用,此时取值范围为0~255。
(4)布尔类型(boolean)。
布尔类型的值只有两个:true(真)和false(假)。布尔类型会占用1字节的内存空间。
在编程中选择变量类型时有一个原则:用小不用大。就是说定义1个字节char能解决问题,就不定义成int。一方面节省RAM空间,另一方面占空间小,程序运算速度也快一些。
4)复合类型
这里先介绍两个常用的复合类型:数组和字符串。
(1)数组。数组是由一组具有相同数据类型的数据构成的集合。数组概念的引入,使得在处理多个相同类型的数据时程序更加清晰和简洁。数组定义方式如下:
如定义一个有5个int型元素的数组语句如下:
如果要访问数组的某一个元素,需要使用:
需要注意的是,数组下标是从0开始编号的,对于数组arr的有效下标值为0~4。如将数组arr中第1个元素赋值为10的语句为:
除了利用下标对数组元素赋值外,也可以在定义数组时对数组进行赋值,称为初始化。
(2)字符串。字符串的定义方式有两种:一种是以字符类型数组方式定义,另一种是使用String类型定义。
以字符类型数组方式定义的语句为:其使用方式与上面介绍的整型数组使用方法一致。
而大多数情况下是使用String类型来定义字符串,该类型提供了一些字符串处理函数,使得字符串使用起来更为方便。定义语句为:
例如:定义一个名为language的字符串,给它赋值为Energia。可以采用如下两种方式:
免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。