第三章数据类型
Labview 第三章 数据类型:数组、簇和波形

第三章数据类型:数组、簇和波形3.1概述数组是同类型元素的集合。
一个数组可以是一维或者多维,如果必要,每维最多可有231-1个元素。
可以通过数组索引访问其中的每个元素。
索引的范围是0到n –1,其中n是数组中元素的个数。
图3-1所显示的是由数值构成的一维数组。
注意第一个元素的索引号为0,第二个是1,依此类推。
数组的元素可以是数据、字符串等,但所有元素的数据类型必须一致。
图3-1数组示意图簇(Cluster)是另一种数据类型,它的元素可以是不同类型的数据。
它类似于C语言中的stuct。
使用簇可以把分布在流程图中各个位置的数据元素组合起来,这样可以减少连线的拥挤程度。
减少子VI的连接端子的数量。
波形(Waveform)可以理解为一种簇的变形,它不能算是一种有普遍意义的数据类型,但非常实用。
3.2数组的创建及自动索引3.2.1创建数组一般说来,创建一个数组有两件事要做,首先要建一个数组的“壳”(shell),然后在这个壳中置入数组元素(数或字符串等)。
如果需要用一个数组作为程序的数据源,可以选择Functions»Array»Array Constant,将它放置在流程图中。
然后再在数组框中放置数值常量、布尔数还是字符串常量。
下图显示了在数组框放入字符串常量数组的例子。
左边是一个数组壳,中间的图上已经置入了字符串元素,右边的图反映了数组的第0个元素为:”ABC”,后两个元素均为空。
图3-1数组的创建在前面板中创建数组的方法是,从Controls模板中选择Array & Cluster,把数组放置在前面板中,然后选择一个对象(例如数值常量)插入到数组框中。
这样就创建了一个数值数组。
也可以直接在前面板中创建数组和相应的控制对象,然后将它们复制或者拖曳到流程图中,创建对应的常数。
还有很多在流程图中创建和初始化数组的方法,有些功能函数也可以生成数组。
3.2.2数组控制对象、常数对象和显示对象通过把数组与数值、布尔数、字符串或者簇组合在一起,可以在前面板和流程图中创建任何一种控制对象、常数对象和显示对象。
3 数据类型、运算符和表达式

三、整型数据
3.1.整型常量 整型常量即整常数按不同的进制区分, 整型常量即整常数按不同的进制区分 , 整型常数 有三种表示方法: 有三种表示方法:
十进制数: 以非0 220, 560, 十进制数: 以非0开始的数 如:220, -560, 45900 八进制数: 06; 0106, 八进制数: 以0开始的数 如:06; 0106, 十六进制数: 十六进制数: 以0X或0x开始的数 如:0X0D, 0XFF, 0x4e
一般情况下,符号常量名用大写、变量用小写。 一般情况下,符号常量名用大写、变量用小写。
3、符号常量的声明和使用 一般放在程序的前端, <…>在一块: 一般放在程序的前端,与#include < >在一块: #define 符号常量名 值 如:#define Zero 0 好处: 好处: 含义清楚 (#define Second 60) (#define (#define 一改全改 (#define PI 3.14)
3. 整型变量的溢出
main(){ i,j; int i,j; unsigned k,l,m; k,l,m; i=32767 32767; i=32767; j=i+1 j=i+1; l=65535 65535u l=65535u; m=l+2 m=l+2; printf("j=%d\n",j); printf("j=% n",j); printf("l=% n",l); printf("l=%u\n",l); printf("m=% n",m); printf("m=%u\n",m); }
3.2、整型变量 整型变量的分类:加上不同的修饰符 1 . 整型变量的分类 : 加上不同的修饰 符 , 整型变 量有以下几种类型; 量有以下几种类型; C 语言标准没有规定整型变量在计算机内存中所 占的字节数,它与具体的机器和操作系统有关: 占的字节数,它与具体的机器和操作系统有关:
第3章 数据类型 yw

一个正数的补码就是其原码,例如整数7在八位
计算机中的补码是0000 0111。 对于负数的补码是将数字的反码加上1,就得到 了这个数字的补码。例如-7在8位计算机中的补码是 1111 1001。
关于数字在计算机中二进制表示的详细解释请参
阅相应的计算机原理方面的书籍。
14
例子3-3(a) 数据位“与”操作。
计的一种数组。利用空数组可以修改数组的大小,但是不能 修改数组的维数。 下面通过具体的例子来说明空数组创建和使用的过程。 例子3-6 创建空数组。
和创建普通的数组(矩阵)一样,创建空数组也有不同的
方法,在MATLAB命令行窗口中键入下面的命令:
22
>> A = [] A= [] >> B = ones(2,3,0) B= Empty array: 2-by-3-by-0 >> C = randn(2,3,4,0) C= Empty array: 2-by-3-by-4-by-0 >> whos Name Size Bytes Class A 0x0 0 double array B 2x3x0 0 double array C 4-D 0 double array Grand total is 0 elements using 0 bytes
第三章 数据类型、常量、变量及表达式

例如,要将文本框 的前景颜色设置为红色, 例如,要将文本框Text1的前景颜色设置为红色,可以 的前景颜色设置为红色 使用下面的语句: 使用下面的语句: Text1.ForeColor=vbRed 这里的vbRed就是系统常量。这比直接使用16进制数来 就是系统常量。这比直接使用 进制数来 这里的 就是系统常量 设置要直观得多。 设置要直观得多。 又如,窗口状态属性 可取0,1,2三个值,对应 三个值, 又如,窗口状态属性WindowsState可取 可取 三个值 三种不同状态。 三种不同状态。 在程序中使用语句 Myform.WindowsState=vbMaxmized, , 将窗口极大化,显然要比使用语句 将窗口极大化,显然要比使用语句Myform.WindowsState=2 易于阅读和理解。 易于阅读和理解。
9
5、日期常量 、
日期( 字节的浮点数来存储, 日期 ( Date) 型数据按 字节的浮点数来存储 , 表示日 ) 型数据按8字节的浮点数来存储 期范围从公元100年1月1日~9999年12月31日,而时间范围从 年 月 日 期范围从公元 年 月 日 0:00:00~23:59:59。 。 一种在字面上可被认作日期和时间的字符, 一种在字面上可被认作日期和时间的字符,只要用号码符 括起来, “#”括起来,都可以作为日期型数值常量。 括起来 都可以作为日期型数值常量。 例:#09/02/99#、#January 4,1989#,#2002-5-4 14:30:00 、 , PM#都是合法的日期型常量。 都是合法的日期型常量。 都是合法的日期型常量 说明:当以数值表示日期数据时,整数部分代表日期, 说明:当以数值表示日期数据时,整数部分代表日期, 而小数部分代表时间;例如 表示 表示1899年12月31日。大于 的 而小数部分代表时间;例如1表示 年 月 日 大于1的 整数表示该日期以后的日期, 和小于 和小于0的整数表示该日期以 整数表示该日期以后的日期,0和小于 的整数表示该日期以 前的日期。 前的日期。
C语言第3章数据类型

序 设 计
C
6
§3.1 C语言的基本元素和数据类型
字符型 char 程序=算法+数据结构 基本类型 整型 int 单精度 float 实型(浮点型) 算法处理的对象是数据 双精度 double 数据结构是数据的组织形式 数组型 array 数据类型是指数据的内在表现形式 数据类型 结构体型 (含位段)struct (代码,存储,运算)。 构造类型 共用体型 union 枚举型 enum 自定义型 typedef 指针类型 (pointer) 空类型 void
内容提要:
C语言的基本元素和数据类型 常量与变量
各种数据类型的常量和变量
变量赋初值 各种类型的数据间的混合运算 几种基本运算符及其表达式
3
程 序 设 计
C
§3.1 C语言的基本元素和数据类型
一、符号集(字符集) C语言经常使用的基本符号共有以下五种: (1)大写字母:A~Z (2)小写字母:a~z (3)阿拉伯数字:0~9 (4)下划线:_ (5)标点符号和运算符
程 序 设 计
C
19
§3.4 实型数据
三、实型数据的舍入误差
虽然实型数据的表示形式有两种但在内存中均是以指 数形式存放 数 阶 若数据超过有效位,则被 小数 指数 符 符 舍去,故可能产生误差。 例3-4 #include <stdio.h> Void main( ) { float a, b; a=123456.789e5; b=a+20; printf(“a=%f, b=%f\n”, a,b); } a=12345678848.000000, b=12345678848.000000
C语言程序设计
C Programming Language
数据类型及运算

内存中存储形式
负数的补码 =反码+1 =原码取反+1
内存中存储形式 10
A B
整型数据在内存中的存储形式
----以有符号 2 字节整型为例 32767(215-1)的 16位编码 原码:01111111 11111111 反码:01111111 11111111 补码:01111111 11111111 内存中存储形式 -32767(1-215)的 16位编码 原码:11111111 11111111 反码:10000000 00000000 补码:10000000 00000001 内存中存储形式
A B
空类型void 3
3.2~3.3(1) 常量与简单变量–以数值型为例
• 常量: 在程序运行中,其值不变的量,如: 23.7, - 67 等。 • 变量: 在程序运行过程中,其值可以改变的量, 在内存中占据一定的存储单元。
变量a 150 50
A B
4
一、两类常量
常数常量和符号常量 常数常量 如-10, 3.14 符号常量: 用标识符表示的常量。符号常量用 预处理(宏定义)命令定义在函数之外。 定义形式: A B
c语言第3章 数据类型及表达式

•除 当除号两边都是整型量时,叫做整除 整除, 当除号两边都是整型量时,叫做整除,运算结果只保 留整数部分。 留整数部分。 当除号任何一边有实型量时,运算结果是实数。 当除号任何一边有实型量时,运算结果是实数。 #include <stdio.h> main() main() { float div; div=1/2; printf( %f %f\ ,div); printf(“%f\n”,div); }
–规则: 规则: 规则
–见名知意 见名知意 –不宜混淆 不宜混淆
请指出下列标识符的正误: 请指出下列标识符的正误: main、count、!count、new、5abc、if、do、L_5、who、a123、 main、count、!count、new、5abc、if、do、L_5、who、a123、 _A、_123、c#、 _A、_123、c#、r-3、printf
h e l l o , w o r l d \0 • 注意: 注意: 字符常量和字符串常量是两个不同的概念 字符常量和字符串常量是两个不同的概念
char ch; ch=‘A ; ch= A’; char ch; ch=“A ;// ;//错误 ch= A”;//错误
A
\0
\0
3.7 字符型数据
3.7.3 字符型变量
3.3 常量
常量 • 定义:程序运行时值不能改变的量,即常数。 定义:程序运行时值不能改变的量,即常数。 • 分类: 分类: 符号常量: 符号常量:用标识符表示具体值 • 定义格式: 定义格式: • 一般用大写字母 直接常量: 直接常量:直接写出具体值 • 整型常量 • 实型常量 • 字符常量 • 字符串常量 常量值 #define 标识符 常量值
第三章 数据类型运算符与表达式

三、变量
3、变量值的存储 变量被定义以后,系统在运行时会为该变量分配一个相 应大小的存储空间,称为存储单元。 给变量赋值后,该变量对应的存储单元中会存放该值, 这个值称为变量的值。 那么变量的值在变量的存储单元中是如何表示的呢? (1)整数是以补码的形式存放的。 (正数的补码是其本身,负数的补码为原码按位取反加1) 如:int a=2, b; b= -2; a 00000000 00000010 b 11111111 11111110
(一)算术运算符和算术表达式
表达式的值: 表达式运算得到的最终结果为表达式的值。 也就是整个式子代表的值 如a=5,b=2; a+b 7
(二)赋值运算符和赋值表达式
赋值运算符:= 格式:变量=表达式 如:int a,b; 下面都是正确的赋值表达式 a=5; b=3; a=2+3; a=a+2; b=a*a; 赋值运算为“从右向左”结合的。 如x=y=z=3 它等价于:x=(y=(z=3))
第三章 数据类型运算符与表达式
信息管理系
3.0、C语言中标识符的概念
• 在程序中,由程序设计者使用的名字成为标 识符。标识符用以标志区分不同的东西。它 可以用作函数的名字、变量、常量的名字, 以及文件的名字等等。
一、C语言中的标识符分类
• 用户标识符 • 关键字(语句标识及类型标识)(P375附录II) 例如:real,main,char,int,float,double, long,if,for,switch,default,break等。 • 预定义标识符(函数名字等) 例如:define,include,printf,scanf,sin等。
2的原码表示:00000000 00000010 -2的补码表示:11111111 11111101+1=11111111 11111110
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
当程序运行时若先单击窗体再单击按钮,则显示结 果如上图所示
当程序运行时若先单击按钮再单击窗体,则显示结 果如上图所示
2、变量赋值
在声明一个变量后,要先给变量赋上一个合适的 值才能够使用。当然,对于不同数据类型的变量,系 统会赋予其默认初始值。给变量赋值的格式如下: 变量名 = 表达式
3.3 运算符和表达式
结果 8
-5 15 1.66666666666667 1 2 8 2
2.字符串运算符 运算符 + 含义 字符串运算 举例 “中西医”+”结合” “1000”+”234” 结果 “中西医结合” “1000234”
数学运算
1000+345
12+”56” “9870”+129
1345
68 9999
错误使用
图3-1
③窗体/模块级变量
指在一个窗体/模块的“通用”部分用Dim或 Private语句声明的变量,可以适用于该窗体/模块内 的所有过程,但对其它窗体/模块内的过程不能适用。 声明此类变量的格式如下: Dim/Private 变量名 [As 数据类型名] 或 Dim/Private 变量名[类型符]
字符(String)类型用于表示由多个字符组成的字符 串。字符可以包括所有的西文字符和汉字,字符两 侧用英文输入方式中的双引号括起。
4. 日期数据类型
日期(Date)型数据用于表示日期和时间,它可以接受多种表 示形式的日期和时间。表示的日期范围从公元100年1月1日 到9999年12月31日,时间范围为0:00:00~23:59:59。 赋值时用两个“#”符号把表示日期和时间的值括起来。 5.变体数据类型
(2)Single和Double型 Single型占4个字节,精度为7位,表示的正数范围为1.401298 E45~3.402823 E38,负数范围为-3.402823 E38~-1.401298 E-45。 Double型占8个字节,精度为16位,表示的正数范围为 4.94065645841247 E-324~ 1.79769313486232 E308,负数范围为-1.79769313486232E308~4.94065645841247 E-324。 Single和Double型用于保存带小数的 数字。
①普通局部变量:声明方式关键字为Dim 如以下变量的声明均是正确的: Dim a As Integer ‘声明了一个整型变量a Dim Inta% ‘声明了一个整型变量Inta Dim b# ‘声明了一个双精度型变量b Dim avg ‘声明了一个变体型变量avg Dim imax as Long,imin&,isum ‘分别声明了长整型变量imax和imin及变体型变量isum
标准 模块
声明方式 声明位置
在过程中 窗体/模块的 窗体/模块的 “通用”部 “通用”部分 分 否 不能 不能 否 能 不能 否 能
能,但在变 量名前要加 窗体名 能
再次调用过程, 是 变量是否初始化 能否被本模块的 不能 其它过程存取 能否被其它模块 不能 存取
数据类型名:可使用下表中的各数据类型的关键字;
变体(Variant)数据类型能够存储所有系统定义类型的数据, Dim objDb As Object 如果把它们赋予Variant类型,则不必在这些数据的类型间 Set objDb=OpenDatabase(" 进行转换,VB会自动根据上下文的需要完成任何必要的转 c:\Vb6\student.mdb ") 换。 6. 对象数据类型
对象(Object)类型可用来引用应用程序中或某些其他应用程 序中的对象。
3.2常量和变量
3.2.1 常量和变量的命名规则 在VB6.0中,必须按如下规则命名一个常量或变量: (1)不能使用VB中的关键字。 (2)首字符必须是字母或汉字,其余字符可以为字母、汉字、数 字或下划线,长度不超过255个字符。
例3-2 在下面程序中有一个按钮控件,其窗体Click事件 中声明了不同级但有相同名称的变量。 Public pub As Integer Private pri%
Private Sub Form_Click() Dim pub As Integer pub = 2 pri = 3 * pub Form1.pub = 4 * pub Print "dim pub = " pub, "pri=" ; pri, "public pub=" ; Form1.pub End Sub Private Sub Command1_Click() Print “pub=” & pub End Sub
例如下面列举的这些变量名是正确的:Inta、a、律师、师_9、y8。 而下面列举的这些变量名是不正确的: Sub ‘是VB中的关键字 255x ‘不允许以数字开头 _xy ‘不允许以下划线开头 x-y ‘不允许出现减号 a&b ‘不允许出现符号& xing ming ‘不允许出现空格
3.2.2 常量 1.直接常量 (1)字符串常量 字符串常量就是用双引号括起来的一串字符。 例如:”a”、”5”、””、”Hello2010”。 (2)数值常量 数值常量共有5种表示方式:整数、长整数、定点数、浮点 数和字节数。 例如: 整型常数:268、-7、0 长整型常数:268&、-7&、0& 八进制常数:&O567、&O132、&O0 十六进制常数: &H56CE、&HABEF、&H0 定点数: 3.1415、-100.85、0.0 浮点数:1.23E+10,-0.52E8、-1.23D+10,0.5D-24 字节数:86,100,0
4. 逻辑运算符
运算符 Not And 含义 取反 与 举例 Not True Not False True And True False And False True And False True Or True False Or True False Or False 结果 False True True False False True True False
& 字符串运算
2010+”上海博览会”
“VB” & ”程序设计” 253 & 69 12 & ”56”
出错
“VB程序设计” “25369” “1256”
2010 & ”上海博览会” “2010上海博览会”
3.关系运算符
运算符 含义 举例 结果
=
<> > >= < <= Like
等于
不等于 大于 大于等于 小于 小于等于
(3) 布尔常量 布尔常量只有True(真)和False(假)两个值。 (4) 日期常量 用两个“#”符号把表示日期和时间的值括起来表示日期常量。 例如:#11/28/2008# 2、系统内部定义常量 3、用户定义常量
3.2.3 变量
在VB中,用变量来表示程序运行过程中其值可发生变化的量。 变量名来表示其中存储的数据,变量类型表示其中存储的数据的具 体类型。因此每个变量必须有一个唯一的变量名字和相应的数据类 型。 1、声明变量 (1)隐式声明 在VB中使用一个变量时,可以不加任何声明而直接使用,叫 做隐式声明。 (2)显式声明 显式声明是指每个变量必须事先做声明,才能够正常使用。 声明变量语法格式如下: 声明方式 变量名 [As 数据类型名] 或 声明方式 变量名[类型符]
(3)Currency型 占8个字节,能表示数的范围为922337203685477.5808~922337203685477.5807。 (4)Byte型 用于表示并存储二进制数据。占1个字节,能表示0~255的整数范围。
2.逻辑数据类型
逻辑( Boolean)类型用于表示只有两种相反取值的 数 据 , 适 合 于 逻 辑 判 断 的 情 况 , 它 只 有 True 与 False两个值。 3.字符数据类型
②静态局部变量:声明方式关键字为 Static 例3-1 窗体中有按钮控件Command1,以 下是Command1的Click事件:
Private Sub Command1_Click() Dim a As Integer Static b As Integer a=a+1 b=b+1 Print "a=" ; a, "b=" ; b End Sub
逻辑运算符用于判 断操作数之间的逻 辑关系,结果是逻 辑值True或False。 左表列出了VB中 的逻辑运算符及其 运算法则,其运算 优先级别分别为由 高到低。
3x y (2 x z ) y 2
3.3.2 表达式
1.表达式的书写规则
VB表达式的书写规则与数学表达式的常用格式不同,要注 意区分。 (1)要正确使用VB中规定的相应运算符,且不能省略书 写任何运算符。如要表示x乘以y、x的3次方,应写成 x*y、x^3,而写成x×y或xy、x3均是不正确的。 (2)无论表达式结构多么复杂,都只能出现圆括号且要配 对,而不能使用其它类型的括号。
数据类型 关键字 整型 长整型 Integer Long 类型符 数据类型 % & ! # @ $ 字节型 逻辑型 日期型 变体型 对象型 关键字 Byte Date Variant Object 类型符 无 无 无 无
Boolean 无
单精度型 Single 双精度型 Double 货币型 字符型 Currency String
在VB中,变量可被声明为在不同范围内使用,根据范围和使用规则的 不同可 分为以下四种:普通局部变量、静态局部变量、窗体/模块级变 量和全局变量。如下表所示。
作用范围 普通局部变量 静态局部 窗体/模块级 全局变量 变量 变量 窗体 Dim 在过程中 Static Dim、 Private Public