vb用户自定义的数据类型

vb用户自定义的数据类型
vb用户自定义的数据类型

用户自定义的数据类型------记录

保存多个相同或不同类型数值的结构称为记录(record)。

在VISUAL BASIC 中定义记录,用Type语句,其语法如下:

Type varType

Variable1 As varType

Variable2 As varType

Variablen As varType

End Type

例如定义一个名为CheckRecord的记录:

Type CheckRecord

CheckNumber as Integer

CheckDate as Date

CheckAmount as Single

End Type

CheckRecord结构可以像普通变量类型一样使用。要定义这个类型的变量,使用如下语句:

Dim check1 As CheckRecord

要对结构的各个字段访问,可使用如下语句:

check1. CheckNumber=123

check1. CheckDate=#08/14/1996#

check1. CheckAmount=240.00

例:

简单例(自定义类型1.frm)

数组自定义类型1.FRM

用一维数组存放学生年龄。并可通过学生姓名输入或显示该学生的年龄。

Private Type StudentInformation

StudentAge As Integer

StudentName As String

End Type

Dim N As Boolean

Dim Information(1 To 4) As StudentInformation

Dim infIndex As Integer

Dim stuName As String

Private Sub cmdInputname_Click()

For i = 1 To 4

Information(i).StudentName = InputBox("PL input name")

Next i

End Sub

Private Sub cmdInput_Click()

infIndex = 1

N = False

stuName = txtName.Text

Do While infIndex <= 4

If Information(infIndex).StudentName = stuName Then Information(infIndex).StudentAge = Val(txtAge.Text)

N = True

Exit Do

End If

infIndex = infIndex + 1

Loop

If N = False Then

MsgBox "invalid student name", vbInformation, "data error" End If

txtName.Text = ""

txtAge.Text = ""

End Sub

Private Sub cmdOutput_Click()

infIndex = 1

N = False

stuName = txtName.Text

Do While infIndex <= 4

If Information(infIndex).StudentName = stuName Then txtAge.Text = Information(infIndex).StudentAge

N = True

Exit Do

End If

infIndex = infIndex + 1

Loop

If N = False Then

MsgBox "invalid student name", vbInformation, "data error" End If

End Sub

Private Sub cmdExit_Click()

End

End Sub

C题库--自定义数据类型(精)

本题序号:118 当定义一个结构体变量时,系统分配给它的内存大小的理论值是__________。 A 各成员所需内存的总和 B 结构体中的第一个成员所需内存 C 成员中所需内存最大者的存储空间 D 结构体中的最后一个成员所需存储容量参考答案 A 本题序号:165 存放多个字符串,用________比较适合。 A 二维字符数组 B 一维字符数组 C 自定义结构体 D 自定义联合体 参考答案 A 本题序号:169 定义生成非静态变量时,将对变量进行_______。 A 自动赋初值 B 自动赋0 C 不会自动赋初值 D 自动赋-1 参考答案 C 本题序号:180 x为int型,s为float型,x=3,s=2.5。表达式s+x/2的值为________。 A 4 B 3.5 C 2.5 D 3 参考答案 B 本题序号:182 x、y为整数,x=15,y=-2。表达式x>10 and y<2 or x*y==10 and x的值为_________。 A 0 B 15 C 1 D 2 参考答案 C 本题序号:211 以下定义, struct st1{int a,b;float x,y;}; struct st2{int a,b;st1 s1; } ss; 对成员变量x的引用形式正确的是:_________ 。 A ss.s1.x B st2.st1.x C st2.s1.x D ss.x 参考答案 A 本题序号:215 对任意整型数据数据m,n(m>n>0), 则 C 语言表达式m-m/n*n的值为:_______________。 A 0 B m%n C 1 D n%m 参考答案 B 本题序号:223 设有以下定义: enum t1 {a1,a2=7,a3,a4=15} time; 则枚举常量a1和a3的值分别是 A 1和2 B 6和3 C 1和8 D 0和8 参考答案 D 本题序号:225 设有类型说明:enum color{red,yellow=3,white,black}; 则执行语句cout<

AB PLC编程软件RSLOGIX5000入门7——UDT用户自定义大数据类型

AB PLC编程软件RSLOGIX5000入门7——UDT用户自定义数据类型 在本章中,我们将介绍如何通过用户自定义数据类型和数据围划定来规划标签数据库。 这里将学到 § 了解使用 UDT 的优势 § 学习如何优化 UDT 规划 § 使用数据围划定帮助简化并加快开发工作 我们现在将重点关注 Logix 控制器中的数据规划。 打开现有控制器文件 1. 在计算机桌面上,双击 Lab Files 文件夹。 2. 双击名为 Conveyor_Program_S 3.ACD 的现有项目。 这样将在 RSLogix 5000 中启动该项目。 为传送带创建用户自定义数据类型 您已重新组织了程序规划以更好地利用 Logix,现在已准备好开始对数据规划进行重新组织。可注意到,工程师规划数据的方式仍像使用带有整数、实数和定时器数据表的传统 PLC 一样。问题是,当与设备关联的数据分布到控制器存中的各处时便很难进行跟踪。您已再次决定充分利用 Logix,使用用户自定义数据类型。 用户自定义数据类型 用户自定义数据类型也称为 UDT 或结构,借此按逻辑方式对数据进行组织或分组,以便所有与设备关联的数据都可组合在一起。 例如,每个传送带都有 8 个整数值、3 个实数值、2 个定时器和 11 个与其关联的布尔值。在传统PLC 中,可能需要 4 个不同的数据表。然后,当您具有多条传送带时,您可能需要详细地将传送带映射到各个数据表中。这样就会变得很难管理。 通过 UDT 能够实现的是将不同的数据类型(整数、实数、定时器、布尔等)组合到一起,共同作为用户自定义数据类型。然后便可创建该 UDT 类型的数组。这可使得编程工作、代码的记录和数据的跟踪都更加轻松。 1. 在控制器项目管理器中,双击"控制器标签"(Controller Tags)。

VISUAL BASIC数据类型的定义

一、数据类型概述 数据:计算机能够处理数值、文字、声音、图形、图像等信息,均称为数据。 数据类型:根据数据描述信息的含义,将数据分为不同的种类,对数据种类的区分规定,称为数据类型。数据类型的不同,则在内存中的存储结构也不同,占用空间也不同 VB的基本数据类型: 数值型数据(主要数据类型)日期型字节型 货币型逻辑型字符串型对象型变体型 二、数值数据类型 数值类型分为整数型和实数型两大类。 1、整数型 整数型是指不带小数点和指数符号的数。 按表示范围整数型分为:整型、长整型 (1)整型(Integer,类型符%) 整型数在内存中占两个字节(16位) 十进制整型数的取值范围:-32768~+32767 例如:15,-345,654%都是整数型。而45678%则会发生溢出错误。 (2)长整型(Long,类型符&) 长整数型在内存中占4个字节(32位)。 十进制长整型数的取值范围: -2147483648~+2147483647 例如:123456,45678&都是长整数型。 2、实数型(浮点数或实型数) 实数型数据是指带有小数部分的数。 注意:数12和数12.0对计算机来说是不同的,前者是整数(占2个字节),后者是浮点数(占4个字节) 实数型数据分为浮点数和定点数。 浮点数由三部分组成:符号,指数和尾数。 在VB中浮点数分为两种: 单精度浮点数(Single) 双精度浮点数(Double) (1)单精度数(Single,类型符!) 在内存中占4个字节(32位),,有效数字:7位十进制数 取值范围:负数-3.402823E+38~-1.401298E-45 正数 1.401298E-45~3.402823E+38 在计算机程序里面不能有上标下标的写法,所以乘幂采用的是一种称为科学计数法的表达方法 这里用E或者e表示10的次方(E/e大小写都可以) 比如:1.401298E-45表示1.401298的10的负45次方

用户定义数据类型与自定义函数

数据库系统原理实验报告 实验名称:__用户定义数据类型与自定义函数_ 指导教师:_叶晓鸣刘国芳_____ 专业:_计算机科学与技术_ 班级:__2010级计科班_ 姓名:_文科_____学号: 100510107 完成日期:_2012年11月10日_成绩: ___ ___一、实验目的: (1)学习和掌握用户定义数据类型的概念、创建及使用方法。 (2)学习和掌握用户定义函数的概念、创建及使用方法。 二、实验内容及要求: 实验 11.1 创建和使用用户自定义数据类型 内容: (1)用SQL语句创建一个用户定义的数据类型Idnum。 (2)交互式创建一个用户定义的数据类型Nameperson。 要求: (1)掌握创建用户定义数据类型的方法。 (2)掌握用户定义数据类型的使用。 实验 11.2 删除用户定义数据类型 内容: (1)使用系统存储过程删除用户定义的数据类型Namperson。 (2)交互式删除用户定义的数据类型Idnum。 要求: (1)掌握使用系统存储过程删除用户定义的数据类型。 (2)掌握交互式删除用户定义的数据类型。 实验 11.3 创建和使用用户自定义的函数 内容: (1)创建一个标量函数Score_FUN,根据学生姓名和课程名查询成绩。 (2)创建一个内嵌表值函数S_Score_FUN,根据学生姓名查询该生所有选课的成绩。 (3)创建一个多语句表值函数ALL_Score_FUN,根据课程名查询所有选择该课程学生的成绩信息。

要求: (1)掌握创建标量值函数的方法。 (2)掌握创建内嵌表值函数的方法。 (3)掌握创建多语句表值函数的方法。 实验 11.4 修改用户定义的函数 内容: (1)交互式修改函数Score_FUN,将成绩转换为等级输出。 (2)用SQL修改函数S_Score_FUN,要求增加一输出列定义的成绩的等级。要求: (1)掌握交互式修改用户定义函数的方法。 (2)掌握使用SQL修改用户定义函数的方法。 实验 11.5 输出用户定义的函数 内容: (1)交互式删除函数Score_FUN。 (2)用SQL删除函数S_Score_FUN。 要求: (1)掌握交互式删除用户定义函数的方法。 (2)掌握使用SQL删除用户定义函数的方法。

第七章 自定义数据类型模板

第七章用户自定义数据类型 7.1 结构体类型 7.1.1 结构体的概述 一个学生的学号、姓名、性别、年龄、成绩、家庭住址 num name sex age score addr 10010 Li Fun M 18 87.5 BeiJing 声明一个新的结构体的类型: struct Student { int num; char name[20]; char sex; int age; float score; char addr[30]; }; 7.1.2 结构体类型变量的定义方法及其初始化 1.定义结构体变量的方法 (1)先声明结构体的类型再定义变量名 Student student1,student2; (2)声明类型的同时定义变量 struct Student { int num; char name[20]; char sex; int age; float score; char addr[30]; }std1,std2; (3)直接定义结构体类型变量 struct { int num; char name[20]; char sex; int age; float score; char addr[30]; }std1,std2; (4)成员也可以是一个结构体变量 struct Date { int month; int day; int year; }; struct Student { int num; char name[20]; char sex; int age;

Date birthday; float score; char addr[30]; }; 2.结构体变量的初始化 struct Student { int num; char name[20]; char sex; int age; float score; char addr[30]; }student1={10001,"Zhang Xin",'M',19,90.5,"shanghai"}; Student student2={10002,"Wang Li",'F',20,98,"Beijing"}; 7.1.3 引用结构体变量 (1)可以将一个结构体变量的值赋给另一个具有相同结构的结构体变量。 student1=student2; (2)可以引用一个结构体变量中的一个成员的值。 student1.num=10010; "."是成员运算符,它的优先级最高。(3)对于结构体嵌套,要逐级引用。 student1.birthday.month=11;(引用student1中birthday中的month成员)。 (4)不能将一个结构体变量作为一个整体进行输入和输出。(5)对于结构体变量的成员可以像普通变量一样进行各种运算。(6)可以引用结构体变量成员的地址,也可以引用结构体变量的地址。 cout<<&student1; cout<<&student1.age; 例7.1 引用结构体变量中的成员 P199 #include using namespace std; struct Date { int month; int day; int year; }; struct Student { int num; char name[20]; char sex; Date birthday; float score; char addr[30]; }student1,student2={10002,"Wang Li",'F',5,23,1982,89.5}; void main() { student1=student2;

自定义数据类型习题及答案(C语言)

第7章自定义数据类型习题 一.选择题: 1.当定义一个结构体变量时,系统分配给它的内存空间是【】。 A) 结构中一个成员所需的内存量B) 结构中最后一个成员所需的内存量 C) 结构体中占内存量最大者所需的容量D) 结构体中各成员所需内存量的总和2.若有以下说明,对初值中整数2的正确引用方式是【】。 static struct { char ch; int i; double x; } a[2][3]={{…a?,1,3 .45,?b?,2,7.98,?c?,3,1.93I} {…d?,4,4.73,?e?,5,6.78,?f?,6,8.79 }}; A) a[1][1].i B) a[0][1].i C) a[0][0].i D) a[0][2].i 3.根据以下定义,能打印字母M的语句是【】。 struct p { char name[9]; int age; }c[10]={“Jobn”,17,”Paul”,19,”Mary”,18,”Adam”,16}; A) printf(“%c”,c[3].name);B) printf(“%c”,c[3].name[1]); C) printf(“%c”,c[2].name);D) printf(“%c”,c[2].name[0]); 4.以下说明和语句中,已知int型数据占两个字节,则以下语句的输出结果是【】。 struct st { char a[l0]; int b; double c; }; printf(“%d”,sizeof(struct st)); A) 0 B) 8 C) 20 D) 2 5.以下说明和语句中,对结构体变量std中成员id的引用方式不正确的是【】。 struct work { int id; int name; } std, *p; p=&std; A) std.id B) *p.id C) (*p).id D) &std.id 6.如设有如下定义,若要使px指向rec中的成员x,正确的赋值语句是【】。 struct aa

_vb6.0数据类型、常量、变量及表达式

第三章数据类型、常量、变量及表达式 本章内容及要求: 1 熟悉VB程序中代码和语句书写规则; 2 掌握VB的数据类型; 3 掌握VB的运算符和表达式的使用; 4 掌握常用内部函数的使用; 本章重点: 变量和常量的定义及使用、运算符和表达式的 使用及常用内部函数的使用。 本章难点: 数据类型、内部函数。 3.1VB语言字符集及编码规则 一、VB的字符集 l 字母:大写英文字母A—Z;小写英文字母a—z。 l 数字:0一9; l 专用字符:共27个, 二、编码规则与约定 (一)、编码规则 1.VB代码中不区分字母的大小写。 2.在同一行上可以书写多条语句,但语句间要用冒号“:”分隔。 3.若一个语句行不能写下全部语句,或在特别需要时,可 以换行。换行时需在本行后加入续行符,1个空格加下划线“_”。 4.一行最多允许255个字符。 5.注释以Rem开头,也可以使用单引号“'”,注释内容可直接出现在语句的后面。 6.在程序转向时需用到标号,标号是以字母开始而以冒号结束的字符串。 (二)、约定 1.为了提高程序的可读性,对于VB中的关键字其首字母大写,其余字母小写 2.注释有利于程序的维护和调试 Rem开始或单撇‘。 例如:’ThisisaVB REMThisisaVB 在6.0中新增了“块注释/取消块注释” 3.通常不使用行号 4.对象名命名约定:每个对象的名字由3个小写字母组 (指明对象的类型)和表示该对象作用的缩写字

母组成。 3.2 数据类型 一.标准数据类型(课本P11) 二、自定义类型 在模块级别中使用,用于定义包含一个或多个元素的用户自定义的数据类型。 使用形式: Type自定义类型名 元素名[([下标])]As 类型名 元素名[([下标])]As 类型名 ... EndType 说明 ----------------------- Page 7----------------------- 例如: 对于一个学生的“学号”、“姓名”、“性别”、“年龄”、“入学成绩”等数据,为了处理数据的方便,常常需要 把这些数据定义成一个新的数据类型(如Student类型)。 TypeStudent XhAsSting XmAsString XbAsString NlAsInteger ScoreAsSingle EndType ----------------------- Page 8-----------------------

vb用户自定义的数据类型

用户自定义的数据类型------记录 保存多个相同或不同类型数值的结构称为记录(record)。 在VISUAL BASIC 中定义记录,用Type语句,其语法如下: Type varType Variable1 As varType Variable2 As varType … Variablen As varType End Type 例如定义一个名为CheckRecord的记录: Type CheckRecord CheckNumber as Integer CheckDate as Date CheckAmount as Single End Type CheckRecord结构可以像普通变量类型一样使用。要定义这个类型的变量,使用如下语句: Dim check1 As CheckRecord 要对结构的各个字段访问,可使用如下语句: check1. CheckNumber=123 check1. CheckDate=#08/14/1996# check1. CheckAmount=240.00 例: 简单例(自定义类型1.frm) 数组自定义类型1.FRM 用一维数组存放学生年龄。并可通过学生姓名输入或显示该学生的年龄。 Private Type StudentInformation StudentAge As Integer StudentName As String End Type Dim N As Boolean Dim Information(1 To 4) As StudentInformation Dim infIndex As Integer Dim stuName As String Private Sub cmdInputname_Click() For i = 1 To 4 Information(i).StudentName = InputBox("PL input name") Next i End Sub Private Sub cmdInput_Click() infIndex = 1 N = False

C语言自定义数据类型

自定义数据类型 结构体 结构体是程序员在程序中自定义的一种数据类型,在说明和使用之前必须先定义它,也就是构造它。定义一个结构体的语法格式如下: Struct 结构体类型名 { 成员1的数据类型名成员1名称; 成员2的数据类型名成员2名称; . . 成员n的数据类型名成员n名称; }结构体变量表={成员初始化}; 注意成员可以由若干个不同的数据类型组成,每个成员也可以是结构体,即可以嵌套定义。 例如: Struct student { Long num; Char name; Char sex; Float score; }; 已经定义的某种结构体类型可以视为一种标准的数据类型,它的使用方法与标准数据类型使用方法相同,可以用来定义变量、数组、指针。 结构体变量说明 结构体变量的说明在程序的变量说明部分给出,一般在结构定义之后,它的语法格式如下: Struct 结构类型名结构变量名表; 例如: Struct student stu; 指出了结构变量stu是student类型的变量,它由四个成员组成,每个成员的数据类型和名字都与student结构定义中给出的相同。系统完全按照结构定义时制定的内存模式为结构变量分配内存空间。 可以在定义结构体类型的同时给出结构体变量。 Struct student { Long num; Cha name[20]; Cha sex; Float score; }stu1,stu2; 这种形式与前面给出的结构定义和结构说明分开处理效果相同。

结构体成员访问 结构体成员是通过结构体变量名和成员名进行访问的,不能把他作为一个整体进行访问。其访问格式如下: 结构体变量名.成员名 其中运算符.是成员访问运算符,其运算级别是最高的,和圆括号运算符()、下标运算符[]是同一级别的。如果结构体成员是指针变量,则访问格式为: *https://www.360docs.net/doc/107322322.html, 如果某个结构体变量的成员数据类型又是一个结构体,则访问方式为: 外层结构体变量名.外层成员名.内层成员名 可以在定义结构体变量的同时对结构体变量初始化。 {结构体成员}结构体变量={初始数据}; struct student { long num; char name[20]; char sex; float score; } stu1={200401L,"ZhangHong",'f',92.5f}; 对于嵌套的结构体类型数据,访问格式为: 结构体变量名1.结构体变量名2.成员名 结构体变量初始化的格式如下: struct 结构体名 {结构体成员}结构体变量={初始数据}; 初始数据类型必须与结构成员的数据类型相匹配,并且先后顺序一一对应赋值。 要对结构体变量的成员地址进行访问,其语法格式为: &结构体变量.成员名 当一个指针变量用来指向一个结构变量时,称为结构体指针变量。结构体指针变量中的值是所指向的结构体变量的首地址。 结构体指针变量: Struct 结构名*结构体指针变量名 Struct student *pstu; 必须先赋值后使用,把结构体变量的首地址赋给指针变量,不能把结构名或结构体变量名赋给指针变量。 pstu=&stu1; 结构体名和结构体变量是两个不同的概念,结构体名只能表示一个结构形式,编译系统并不对它分配内存空间,只有当某变量被说明为这种类型的结构时,才对该变量分配存储空间。这是因为结构体变量被定义后相当于标准数据类型被使用。 利用结构体指针变量访问成员如下: (*结构体指针变量).成员名 或者: 结构体指针变量->成员名 后一种形式较为方便,容易区分。

VB数据类型定义

定义VB数据类型常识 学过编程的人都知道大多数的计算机语言都规定了各自的数据类型,VB也不例外。其实,在一个最简单的程序中数据类型是可以不作规定的,也就是说,变量可以使用各种类型,但是在一个复杂的程序里,这样做就很危险,因为很可能给同一个变量赋予了不同的类型,而导致程序出错。所以,为了程序的严谨和便于查看,正确的定义数据类型是必要的。定义数据的另一个原因是,不同的数据占用不同的内存数量,譬如整型(Interger)数据占2字节,而长整型数据占4个字节,定义合适的数据类型,不管你相信不相信,它可以节省内存! VB常用的数据类型有: 整型Integer表示-32768至32767之间的整数 长整型Long 表示-2,147,483,648至2,147,483,647之间的整数实型Single 表示-3.37E+38至3.37E+38之间的实数 双精度实型Double 表示-1.67E+308至1.67E+308之间的实数 字符String每个字符占一字节,可以储存0~65,535个字符布尔Boolean 只有两个值True/-1,或False/0 数据类型的定义方法: 定义变量最简单的方法是用“Dim”关键字,它的语法: Dim【变量名】As【数据类型】

如:Dim Index As Integer 也可以在一行中定义多个变量,如: Dim Index As Integer , Dim Number As Long 把多个变量定义成同一类型可以写成: Dim Index , Number As Integer 更可以在定义时进行初赋值: Dim Index=3 有时为了简便,也以符号进行简单的定义,作用是和上面一样的。整型可以用“%”代替,长整型可以用“&”代替,实型可以用“!”,双精度实型可以用“#”定义,如刚才的第一个例子可以写成: Dim Index% 等价于Dim Index As Integer 对于常量的定义用Const定义,如:Const COLOR=255。 为了在程序中便于查阅,我们对变量和常量的写法进行规定,变量一般用小写方式,常量则全部大写。 注意:使用常量的好处,对于程序中经常出现的数值,应设常量等于它,这样一是书写方便,其二,如果要改变该数值,只需改变定义常量的语句值,而不需改变每个语句,提高了效率。 数组的定义类似于变量定义,所不同的是数组需要指定数组中的元素个数,例如: Dim IntegerArray(99) As Integer

sql自定义数据类型

6.2 用户自定义数据类型 6.2.1 创建用户自定义数据类型 可以使用T-SQL语句或企业管理器来完成用户自定义数据类型的创建。 1. 使用T-SQL语句 可以使用系统存储过程sp_addtype来创建用户自定义数据类型。语法是:sp_addtype type_name[,system_type] {'NULL'|'NOT NULL'|'NONULL'}-默认为'NULL' 其中: type_name为用户定义数据类型名,这个名称在数据库中必须是惟一的。 system_type 为用户定义的数据类型所基于的系统数据类型,可以包括数据的长度、精度等。当系统数据类型中包括标点符号(例如括号、逗号)时,应用引号括起来。 例如,创建一个“号码”数据类型可使用如下代码: USE 学生图书借阅管理 EXEC sp_addtype 号码,'varchar(8)','NULL' 在查询分析器中执行上述语句,结果窗口显示如下信息: (所影响的行数为1行) 类型已添加。 2. 使用企业管理器 使用企业管理器创建用户自定义数据类型的操作步骤如下: (1)在企业管理器中展开要创建用户自定义数据类型的数据库,用鼠标右键单击“用户定义的数据类型”目录,在弹出的快捷菜单中选择“新建用户定义数据类型”命令,如图6-14所示。 图6-14 新建用户自定义数据类型 (2)打开的用户自定义数据类型属性对话框如图6-15所示。在图6-15所示对话框的名

称文本框中输入用户自定义数据类型的名称,如“号码”。 图6-15 用户自定义数据类型属性对话框 图6-16 创建用户自定义数据类型“号码” (3)在图6-15所示对话框的“数据类型”下拉列表框中,选择该用户自定义数据类型所基于的系统数据类型,如varchar。 (4)如果选择的基类型是可以设定长度的(如varchar、char等),则还需要在长度文本框中设定数据类型的长度。 (5)如果允许空值,则选中“允许NULL值”复选框。 (6)如果希望该数据类型与规则或默认值捆绑,则分别在“规则”和“默认值”下拉列表框中选择要绑定的规则和默认值,否则选择“无”,如图6-16所示。规则和默认值将在 6.3节和6.4节中介绍。 (7)单击“确定”按钮,关闭对话框。 6.2.2 查看用户自定义数据类型 要查看用户自定义数据类型,可以使用sp_help 系统存储过程来查看用户自定义数据

SQL_用户自定义的数据类型、规则、默认

用户自定义的数据类型、默认值、规则 一、用户自定义的数据类型 用户自定义数据类型可看做是系统数据类型的别名。 在多表操作的情况下,当多个表中的列要存储相同类型的数据时,往往要确保这些列具有完全相同的数据类型、长度和为空性(数据类型是否允许为空)。例如,对于student数据库中表student、grade和course三张表的xh,kh两个列必须具有相同的数据类型。 创建用户自定义数据类型时首先应考虑如下三个属性: (1)数据类型名称 (2)新数据类型所依据的系统数据类型(又称为基类型) (3)为空性 如果为空性未明确定义,系统将依据数据库或连接的ANSI NULL 默认设置进行指派。 1、创建用户自定义数据类型的方法如下: (1)利用企业管理器定义 (2)利用SQL命令定义数据类型 在SQL Server中,通过系统存储过程实现用户数据类型的定义。 语法格式如下: sp_addtype [@typename=] type, /*自定义类型名称*/ [@phystype=] system_data_type /*基类型*/ [,[@nulltype=] null_type /*为空性*/

[,[@owner=] owner_name] /*创建者或所有者*/ 其中: type:用户自定义数据类型的名称。 System_data_type:用户自定义数据类型所依据的基类型。如果参数中嵌入有空格或标点符号,则必须用引号将该参数引起来。 null_type:指明用户自定义数据类型处理空值的方式。取值可为’NULL’、’NOT NULL’、’NONULL’三者之一(注意:必须用单引号引起来)。如果没有用sp_addtype显式定义null_type,则将其设置为当前默认值,系统默认值一般为’NULL’。 例:定义学号字段的数据类型 sp_addtype ’student_xh’,’char(4)’,’not null’ 2、删除用户自定义数据类型 (1)利用企业管理器 (2)利用SQL语句 语法格式如下: sp_droptype [@typename=] type 其中type为用户自定义数据类型的名称,应用单引号括起来。 例:删除student_xh用户自定义数据类型 sp_droptype ’student_xh’ 说明: (1)如果在表定义内使用某个用户定义的数据类型,或者将

VB基本数据类型

VB基本数据类型 VB 6.O提供的基本数据类型主要有:字符型数据、数值型数据、货币类型、字节类型、布尔类型、日期类型、通用类型、无符号类型、对象类型等9种数据类型。 1.字符型数据 字符型数据(String)用以定义一个字符序列。在内存中一个字符用一个字节来存放。 2.数值型数据 数值型数据包括:整型、长整型、浮点型(单精度和双精度)4种。 (1)整型数 整数(Integer):是不带小数点、范围-32 768到3 2 767之间数,在内存中用2个字节(1 6位) 来存储一个整数。在-32 678~32 767之间的一个数字在尾部加一个“%”符号也表示一种整型数据,如1 345%,-67%。’ (2)长整型数 长整型数(Long):是超过一32 768~32 767范围,而在-2 147 483 648~2 1 47 483 647之间的不带小数点的数,一个长整数在内存中占4个字节(32位)。在-2 1 47 483 648~2 1 47 483 647之间的数字在尾部带一个“&"符号,也表示为一个长整数。 (3)浮点数 单精度数(Single):是带小数点的实数,有效值为7位。在内存中用4个字节(32位)存放一个单精度数。通常以指数形式(科学记数法)来表示,以“E"或“e”表示指数部分。 双精度数据(Double):也是带小数点的实数,有效值为1 5位。在内存中用8个字节(64位)存放一个双精度数。双精度数通常以指数形式(科学记数法)来表示,以“D"或“d”表示指数部分。 3.货币类型 货币类型(Currency):是为计算货币而设置的定点数据类型,它的精度要求高,规定精确到小数点后4位。在内存中占8个字节(64位)。取值范围在-922 337 203 685 477.5805到922 337 203 685 477.5807之间。 4.字节(Byte)类型 字节(Byte)类型:是一种数值类型,以1个字节的无符号二进制数存储,取值范围为0~255。 5.布尔类型 布尔类型(Boolean):布尔型数据是一个逻辑值,也称逻辑类型,用两个字节存储,它只取两种值,即’Frue(真)或False(假)。 6.日期类型 日期类型(Date):用以表示日期,在内存中一个日期型数据用8个字节来存放。 7.通用类型 通用类型(’Variant),也称变体类型,是一种通用的、可变的数据类型,它可以表示上述任何一种数据类型。假设定义a为通用型变量。 Dim a As Variant 在变量a中可以存放任何类型的数据,例如: a:--BASIC’- -存放一个字符串 a=10 -存放一个整数 a=20.5 -存放一个实数 a=--08/15/2003’·’存放一个日期型数据一 根据赋给a的值的类型不同,变量a的类型不断变化,这就是称之为变体类型的由来。

abplc7用户自定义数据类型

UDT----用户自定义数据类型(看不懂也要坚持一下,理解了这部分就不是新手了) 在本章中,我们将介绍如何通过用户自定义数据类型和数据范围划定来规划标签数据库。这里将学到 § 了解使用 UDT 的优势 § 学习如何优化 UDT 规划 § 使用数据范围划定帮助简化并加快开发工作 我们现在将重点关注 Logix 控制器中的数据规划。 打开现有控制器文件 1. 在计算机桌面上,双击Lab Files文件夹。 2. 双击名为Conveyor_Program_S 3.ACD的现有项目。 这样将在 RSLogix 5000 中启动该项目。 为传送带创建用户自定义数据类型 您已重新组织了程序规划以更好地利用 Logix,现在已准备好开始对数据规划进行重新组织。可注意到,工程师规划数据的方式仍像使用带有整数、实数和定时器数据表的传统 PLC 一样。问题是,当与设备关联的数据分布到控制器内存中的各处时便很难进行跟踪。您已再次决定充分利用 Logix,使用用户自定义数据类型。 用户自定义数据类型 用户自定义数据类型也称为 UDT 或结构,借此按逻辑方式对数据进行组织或分组,以便所有与设备关联的数据都可组合在一起。 例如,每个传送带都有 8 个整数值、3 个实数值、2 个定时器和 11 个与其关联的布尔值。在传统PLC 中,可能需要 4 个不同的数据表。然后,当您具有多条传送带时,您可能需要详细地将传送带映射到各个数据表中。这样就会变得很难管理。 通过 UDT 能够实现的是将不同的数据类型(整数、实数、定时器、布尔等)组合到一起,共同作为用户自定义数据类型。然后便可创建该 UDT 类型的数组。这可使得编程工作、代码的记录和数据的跟踪都更加轻松。 1. 在控制器项目管理器中,双击"控制器标签"(Controller Tags)。

实验8--自定义数据类型1

实验8--自定义数据类型1

实验8 自定义数据类型 三、实验思考 1.有10名学生的数据,每个学生的数据包括学号、姓名、性别、三门课的考试成绩及平均成绩。要求: (1)编写一个input函数,用来输入10个学生的信息。 (2)编写一个output函数,用来输出10个学生的信息。 (3)计算每个学生的平均成绩,并按平均成绩由小到大进行排序后输出。 2.设有5个学生和教师的数据。学生的数据包括:姓名、年龄、性别、职业和年级。教师的数据包括:姓名、年龄、性别、职业和职务。现要求输入学生和教师的数据,并输出这些数据,要求当职业项为学生时,输出的最后一项为年级;当职业项为教师时,输出的最后一项为职务。3.利用结构体数组和结构体指针,根据从键盘输入的学生姓名,查找已给出数据的结构体数组,若找到该名学生,则输出其所有信息;若找不到该名学生,则输出相应提示信息。

4.编程实现,从红、黄、蓝、绿四种颜色中任取三种不同的颜色,共有多少种取法,并请输出所有的排列? 5.从键盘输入一批正整数(以-1作为输入结束标志),按插表尾形式把它们组成一个线性链表。然后,从表头开始,遍历所有结点并输出各结点中的数据。要求线性链表的生成与遍历均写成函数定义。 6.从键盘输入一系列非负整数,遇0时停止。对于输入的所有偶数和奇数,分别建立一个偶数链表和一个奇数链表,然后输出两个链表中的数据。 答案 1. #include #include using namespace std; const int n=2; //设置人数常量n,本例为2人 struct student { char num[6]; // 学号 char name[8]; // 姓名 char sex[2]; // 性别 int score[4]; // score[1]~score[3]存放3门课成绩,score[0]存放平均成绩 }stu[n]; void input() //输入函数input { int i,j,sum; for(i=0;i

VB常用关键字

常用的关键词如下: 1.编译命令关键字总结 作用关键字 定义编译常数: #Const 编译程序码中的选择区块: #If...Then...#Else 2.变量与常数关键字总结 作用关键字 指定值: Let 声明变量或常数: Const, Dim, Private, Public, New, Static 声明模块为私有: Option Private Module 判断Variant: IsArray, IsDate, IsEmpty, IsError, IsMissing, IsNull, IsNumeric, IsObject, TypeName, VarType 引用当前对象: Me 变量须明确声明: Option Explicit 设置缺省数据类型: Deftype 3.运算符关键字总结 作用关键字 算术: ^, -, *, /, \, Mod, +, & 比较: =, <>, <, >, <=, >=, Like, Is 逻辑运算: Not, And, Or, Xor, Eqv, Imp 4.错误关键字总结 作用关键字 产生运行时错误: Clear, Error, Raise 取得错误信息: Error 提供错误信息: Err 返回Error 变体: CVErr 运行时的错误处理: On Error, Resume 类型确认: IsError 5.Collection 对象关键字总结 作用关键字

建立一个Collection 对象: Collection 添加对象到集合对象中: Add 从集合对象中删除对象: Remove 引用集合对象中的项: Item 6.金融关键字总结 作用关键字 计算折旧率: DDB, SLN, SYD 计算未来值: FV 计算利率: Rate 计算本质利率: IRR, MIRR 计算期数: NPer 计算支付: IPmt, Pmt, PPmt 计算当前净值: NPV, PV 7.控制流关键字总结 作用关键字 分支: GoSub...Return, GoTo, On Error, On...GoSub, On...GoTo 退出或暂停程序: DoEvents, End, Exit, Stop 循环: Do...Loop For...Next, For Each...Next, While...Wend, With 判断: Choose, If...Then...Else, Select Case, Switch 使用过程: Call, Function, Property Get, Property Let, Property Set, Sub 8.目录和文件关键字总结 作用关键字 改变目录或文件夹: ChDir 改变磁盘: ChDrive 复制文件: FileCopy 新建目录或文件夹: MkDir 删除目录或文件夹: RmDir 重新命名文件、目录或文件夹: Name 返回当前路径: CurDir 返回文件的日期、时间: FileDateTime 返回文件、目录及标签属性: GetAttr 返回文件长度: FileLen

VB数据类型及其运算

(供不用记录实验数据、以作品的形式体现、注重操作练习过程的实验或上机课程参考) 1.实验目的: (1)掌握VB数据类型。 (2)掌握常量、变量的定义规则。 (3)掌握各种运算符的规则和表达式的组成及求值。 (4)掌握VB部分常用标准函数。 2.实验内容: (1)编写一程序,在屏幕上显示“欢迎使用Visual Basic”,并输入自己的名字。 步骤:(参照实验教材:实验2) 1) 2) 3) 4) (2)编一个华氏温度与摄氏温度之间转换的程序,自己设计界面。要求采用实验教材中的第一种方法进行实现。 步骤:(参照实验教材:实验3) 1) 2) 3) 4) (3)选择题 1、\,/,Mod,*四个算术符中.优先级最低的是(). (A)\ (B) / (C) Mod (D) * 2.下列字符串常量中,最大的是(). (A) "北京" (B) "上海" (C) "天津" (D) "广州" 3.表达式Int(8*sqr(36)*10^(-2)*10+0.5)/10的值是(). (A) .48 (B) .048 (C) .5 (D) .05

4.表达式Val(".123E2CD")的值是(). (A).123 (B) 12.3 (C) 0 (D) .123E2CD 5.系统符号常量的定义可以通过()获得. (A)对象浏览器(B)代码窗口(C)属性窗口(D)工具箱 6.表达式(7\3+1)*(18\5-1)的值是(). (A)8.67 (B)7.8 (C) 6 (D)6.67 7.表达式5^2Mod 25\2^2的值是(). (A)1 (B)0 (C)6 (D)4 8.表达式25.28 Mod 6.99的值是(). (A)1 (B)5 (C)4 (D)出错 9.下面表达式中,()的运算结果与其他三个不同. (A) Exp(-3.5) (B) Int(-3.5)+0.5 (C) -Abs(-3.5) (D) Sgn(-3.5)-2.5 10.Int(100*Rnd(1))产生的随机整数的闭区间是(). (A) [0,99] (B) [1,100] (C) [0,100] (D) [1,99] 11.产生[10,37]之间的随机整数的Visual Basic表达式是(). (A) Int(Rne(1)*27)+10 (B) Int(Rnd(1)*28)+10 (C) Int(Rnd(1)*27)+11 (D) Int(Rnd(1)*28)+11 12.表达式Int(Rnd(0)+1)+Int(Rnd(1)-1)的值是(). (A) 1 (B) 0 (C) 01 (D) 2 13.表达式Int( - 17.8) +Sgn(17.8)的值是(). (A) 18 (B)-17 (C) -18 (D) -16 14.表达式Int( - 17.8) +Abs(17.8)的值是(). (A) 0 (B) 0.8 (C) - 0.2 (D) 0 34.8 15.表达式Left("how are you",3)的值是(). (A) how (B) are (C) you (D) how are you 16.表达式Right("Biejing",4)的值是(). (A) Bei (B) jing (C) eiji (D) ijin 17.表达式Abs( - 5) +Len("ABCDE")的值是(). (A) 5ABCDE (B) 0 5ABCDE (C) 10 (D) 0 18.表达式Mid("SHANGHAI",6,3)的值是(). (A) SHANGH (B) SHA (C) ANGH (D) HAI 19.函数Len(Str(Val("123.4")))的值为(). (A) 11 (B) 5 (C) 6 (D) 8 20.设A="12345678",则表达式Val(Left(A,4) + Mid(A,4,2))的值为(). (A) 123456 (B) 123445 (C) 8 (D) 6 21.设A="abcdefghijklm",下面()的函数值为"jklm".(多选) (A) Mid(A,10,14) (B) Right(A,4) (C) Mid(A,10,4) (D) Left(A,10,4) 22.函数InStr("VB程序设计教程","程序")的值为(). (A) 1 (B) 2 (C) 3 (D) 4 23.函数Ucase(Mid("Visual basic",8,5))的值为(). (A) Visual (B) basic (C) VISUAL (D) BASIC 24.表达式Str(Len("123")) + Str(77.7)的值为(). (A) 377.7 (B) 3 77.7 (C) 80.7 (D) 12377.7 25.表达式( - 1)*Sgn( - 100 +Int(Rnd*100))的值是().

相关文档
最新文档