第 2 章 Visual Basic 语言基础 本章主要介绍 Visual Basic 6.0 的编程基础知识, 包括常量 变量的基本概念 ; 数据类型及定义 ; 运算符与表达式的使用 ; 程序结构 ; 自定义过程 函数的基本语法和使用 本章还详细探讨了变量作用范围, 介绍了 VB 应用程序的启动模

Size: px
Start display at page:

Download "第 2 章 Visual Basic 语言基础 本章主要介绍 Visual Basic 6.0 的编程基础知识, 包括常量 变量的基本概念 ; 数据类型及定义 ; 运算符与表达式的使用 ; 程序结构 ; 自定义过程 函数的基本语法和使用 本章还详细探讨了变量作用范围, 介绍了 VB 应用程序的启动模"

Transcription

1 第 2 章 Visual Basic 语言基础 本章主要介绍 Visual Basic 6.0 的编程基础知识, 包括常量 变量的基本概念 ; 数据类型及定义 ; 运算符与表达式的使用 ; 程序结构 ; 自定义过程 函数的基本语法和使用 本章还详细探讨了变量作用范围, 介绍了 VB 应用程序的启动模式等, 为后续学习面向对象的程序设计, 打下坚实的基础 2.1 常量 变量与数据类型 Visual Basic 的数据类型 数据是分类型的, 数据的类型表明数据可以参与的运算以及所需存储空间的大小与范围 VB6 的数据类型包括标准数据类型和用户自定义类型 其中, 标准数据类型包括字节型 (Byte) 逻辑型 (Boolean) 整型 (Integer) 长整型 (Long) 货币型 (Currency) 无符号整型 (Decimal) 单精度浮点型 (Single) 双精度浮点型(Double) 日期型(Date) 字符型(String) 对象型 (Object) 变体型 (Variant) 等 在 VB6 中, 数据类型及所占存储空间大小和范围列表如表 2 1 所示 表 2 1 数值类型 类型名称关键字字节数取值范围及用途 字节型 Byte 1 0~255, 用于存储二进制数据, 如图像 声音等 整型 Integer ~32767, 用于表示没有小数点的数据 长整型 Long 4 单精度浮点型 Single 4 双精度浮点型 Double 8 货币型 Currency 8 无符号整型 Decimal ~ , 当使用整型不足以表示数据时, 使用长整型负数时 : E38~ E 45; 正数时 : E 45~ E38 负数时 : E308~ E 324; 正数时 : E 324~ E ~ , 用于精确计算, 整数部分有 15 位数字, 小数部分有 4 位数字无小数点时 :± , 小数点右边有 28 位数时 :± ; 最小的非零值 :±

2 16 Visual Basic 程序设计 ( 第二版 ) 续表 类型名称关键字字节数取值范围及用途 字符型 ( 变长 ) String 10 字节加 字符串长度 0 到大约 20 亿 字符型 ( 定长 ) String 字符串长度 1 到大约 65,400 日期型 Date 年 1 月 1 日到 9999 年 12 月 31 日 逻辑型 Boolean 2 True 或 False 对象型 Object 4 任何 Object 引用 变体型 ( 数字 ) Variant 16 任何数字值, 最大可达 Double 的范围 变体型 ( 字符 ) Variant 用户自定义 利用 Type 22 个字节加 字符串长度 所有元素所 需数目 与变长 String 有相同的范围 每个元素的范围与它本身的数据类型的范围相同 初学者大可不必马上记住每种数据类型的存储空间大小和范围 节将结合变量的学 习对数据类型进行分类, 以帮助读者掌握常用数据类型的定义和使用 常量 常量即常数 在 VB6 中, 常量分为系统常量和自定义常量 1. 常量 在整个程序执行过程中, 常量的值保持不变 使用常量可增加代码的可读性和可维护性 常量是有意义的名字, 取代重复出现而难以记住的数字 不变的数值或字符串 在程序运行过程中, 常量的值不能像变量那样被修改, 也不能被赋以新值 VB 有许多内部常量, 用户也可以建立自定义常量 (1) 内部常量 : 由系统定义的 可直接使用的常量, 可用来在代码中的任何地方代替实际值 表 2 2 列出了 VB 的内部常量 表 2 2 VB 内部常量 常数相当于描述 vbcrlf Chr(13) + Chr(10) 回车符与换行符结合 vbcr Chr(13) 回车符 vblf Chr(10) 换行符 vbnewline Chr(13) + Chr(10) 平台指定的新行字符 ; 适用于当前平台 vbnullchar Chr(0) 值为 0 的字符 vbnullstring 值为 0 的字符串用来调用外部过程 ; 与长度为 0 的字符串 ("") 不同 vbobjecterror vbtab Chr(9) Tab 键 vbback Chr(8) 退格符 用户定义的错误号应当大于该值, 例如 : Err.Raise Number = vbobjecterror vbformfeed Chr(12) 在 Microsoft Windows 中没有作用 vbverticaltab Chr(11) 在 Microsoft Windows 中没有作用

3 第 2 章 Visual Basic 语言基础 17 此外, 还有表示颜色的常量, 如 vbred 表示红色 (vb+ 颜色的英文单词 ); 表示键盘代码 的常量, 如 vbkeya 代表 A 键 (vbkey+ 键名 ) 等 需要时, 可以通过 MSDN 查看 Visual Basic 常数 的相关内容 例如 :VbRed: 颜色常量, 代表红色 VbCrLf: 代表回车换行 常量名采用大小写混合的格式, 其前缀表示定义常量的对象库名 来自 VB 和 VBA (Visual Basic for Applications) 对象库的常量以 vb 开头, 例如,vbBSNone 表示窗体无边 框 ; 来自数据访问对象库的常量以 db 开头, 等等 (2) 用户自定义常量 : 用 Const 语句声明的常量 声明格式 :[Public Private] Const 常量名 [As Type]= 表达式其中 : 常量名是有效的符号名 ( 规则与变量名一样 ), 表达式由数值常数或字符串常数以 及运算符组成 以下是正确的常量声明 : Const Pi = ' 声明了常量 Pi, 其值为 Public Const MaxPlanets As Integer = 9 Const ReleaseDate = #1/1/95# Const CodeName = "Enigma" Public Const Pi = 3.14, MaxPlanets = 9,WorldPop = 6E+09 Const Pi2 = Pi * 2 ' 声明了公用整型常量 MaxPlanets 等号右边的表达式除数字或字符串外, 也可以是运算结果为数字或字符串的表达式 ( 表 达式中不能包含函数调用 ) 2. 用户自定义常量的范围 和变量声明一样, 用 Const 语句声明的常量也有作用范围 规则如下 : (1) 在过程内部声明的常量, 仅存在于过程中 (2) 在模块声明段中声明的常量, 对模块中所有过程都有效, 但对模块外任何代码都无效 (3) 在标准模块声明段中声明的常量, 在整个应用程序中有效, 可在 Const 前面放置 Public 关键字, 但在窗体模块或类模块中不能声明 Public 常量 变量 应用程序在运行期间, 可以用变量临时存储数据 变量是指程序运行期间其值可以变化 的量, 实质是程序运行过程中保存临时数据的内存单元, 内存单元的名字即变量名 变量由名字和数据类型组成 变量的名字用于在程序中标识变量和使用变量的值, 通过 变量名可以引用变量中存储的数据 数据类型则确定变量中能保存哪种类型的数据 1. 变量的命名规则 (1) 变量必须以字母开头, 由字母 汉字 数字或下划线组成 (2) 变量的长度不得超过 255 个字符 (3) 变量名不能使用 VB 的关键字 (4) 在同一个范围 ( 即可以引用变量的域, 如一个过程 一个窗体等 ) 内, 变量名必须 是唯一的

4 18 Visual Basic 程序设计 ( 第二版 ) (5) 为了增加程序的可读性, 可在变量名前加一个类型前缀, 以表示该变量的数据类型 例 2 1 已知某电视机的销售价格为 1500 元 / 台, 编程统计某商店销售电视机的总数量及 总销售额 分析 销售前并不知道销售电视机的数量 设计两个变量 IntTVnumber 和 CurTVPrice 保存数量 和销售额, 根据变量设计一个表达式, 不必事先知道实际的输入是多少 每次运行程序时, 输 入销售电视机的数量后, 通过以下代码计算销售额 : CurTVPrice = 1500 * IntTVnumber 从变量名中可见,CurTVPrice 的数据类型是货币类型,IntTVnumber 的数据类型是整数 类型 2. 变量的声明 在 C 语言中, 在使用变量之前必须声明变量 ; 而在 VB 中, 变量可以不需要声明就可以 直接使用, 且变量名不区分大小写 例如, 下面的语句都是正确的 : X=10 Y=20 Z=x+y 但是, 声明变量可以节省编程时间, 减少因键入操作引起的错误 例如, 将 username 写 成了 uesename, 如果没有事先定义 username 变量,VB 不会自动提示输入错误 如果要强制 在 VB 中必须先声明变量才可以使用, 可以在代码窗口的首行添加以下一行代码 : Option Explicit 这行代码表示所有的变量必须先声明才可以使用, 否则提示错误, 如图 2 1 所示 图 2 1 编译错误提示 声明变量的语法格式 :Dim 变量名 [As 类型 ] 说明 : (1) Dim 是变量定义的关键字 ( 还可能是变量作用范围修饰关键字 Public 或 Private, 作 用范围修饰关键字 将在变量作用范围讨论 ) (2)[As 类型名 ] 是可选项 As 可以解读为 为, 如果省略该语句, 变量默认为 Variant ( 变体 ) 类型 Variant 数据类型在不同场合可代表不同的数据类型 (3) 变量名 : 必须满足变量命名规则 通过 Dim 语句进行变量的声明, 可以事先将变量通知程序 以下是变量类型定义语句的几个例子 : Dim strname As String ' 定义字符串类型变量

5 第 2 章 Visual Basic 语言基础 19 Dim intnum As Integer Dim dblmoney As Double Dim dbirthday As Date Dim bolyesno As Boolean 3. 变量的声明方式 ' 定义整型变量 ' 定义实型变量 ' 定义日期类型变量 ' 定义布尔类型变量 (1) 隐式声明 使用变量前, 可以不声明该变量 这种方法虽然方便, 但如果拼错了变 量名, 将会导致一个难以查找的错误 (2) 显式声明 显式声明变量后, 系统一旦遇到一个未经声明的变量名时, 将发出错误警告 显式声明变量的方法 : 在类模块 窗体模块或标准模块的声明段中加入 Option Explicit 语 句 ; 或在菜单栏上选择 工具 选项 选项, 在 选项 对话框的 编辑器 选项卡中选择 要 求变量声明 复选框, 可在任何新模块中自动插入 Option Explicit 语句 ( 不会在已经建立的 模块中自动插入 ) 若需要向已有模块添加 Option Explicit, 只能用手工方法 注意 :Option Explicit 语句的作用范围仅限于语句所在模块, 对每个需要强制显式声明变量 的窗体模块 标准模块及类模块, 必须将 Option Explicit 语句放在这些模块的声明段中 4. 变量的数据类型 (1) 数值类型变量 : 包含整数和小数 ( 实数 ) 1 整数类型 关键字 :Integer( 整型 ) 和 Long( 长整型 ) 当变量保存的数在整数范围 32768~32767 之间时, 可以定义为 Integer 类型, 超过该范围 的整数, 则定义为 Long 类型 例如 :Dim a As Integer, b As Long 说明 : a=100 :b=40000 a=b ' 该行在运行时, 将产生 溢出 的运行错误 可以在一行中定义多个变量, 类型说明之间用逗号分隔, 后面的变量定义必须去掉 Dim 关键字 其中, = 为赋值符, 含义是将数值保存到变量 ; : 为并行符, 可 以将多行语句通过 : 号写在一行中, 使代码更加紧凑 ' 后面为代码注释内容, 程序不会执行该符号后面的内容 如果写为以下形式 : Dim a, b As Long 则 a 为 Variant 类型 ( 变体型 ) 根据默认的规定, 如果在声明中没有说明数据类型, 则变 量的数据类型为 Variant 提示 : 定义变量时, 最好同时声明其类型, 程序运行可以避免类型转换所需的时间开销, 使得程序的运行效率更高 如果变量 b 不是赋予整数类型的数值 ( 如 b="abc"), 将产生 类型不匹配 的运行 错误 ; 如果将小数 89.9 赋值给变量 b, 则变量 b 的值将是四舍五入后的整数 所有 Integer 类型数据都可以保存到 Long 类型变量中, 反之不成立 例如, 上面代码 中的第三行 a=b 如果不能确定保存的整数将会有多大, 应将变量 a 定义为 Long 类型 2 浮点数类型

6 20 Visual Basic 程序设计 ( 第二版 ) 关键字 :Single( 单精度 ) 和 Double( 双精度 ) 如上所述, 若不能确定保存的小数有多大时, 应定义为 Double 类型来保存 Double 类型 比 Single 类型可以分配更大的内存空间 例如, 分别定义 x y 两个变量如下 : Dim x As Single Dim y As Double (2) 字符类型 关键字 :String 字符型变量的值包含一连串字符 字符串可以包括字母 数字 空白和标点符号 字符串有两种 : 变长与定长的字符串 变长字符串在定义时不指定长度, 定长字符串在 定义时通过 * 号指定长度 例如 :Dim 变量名 as String [ * 长度 ] 例 2 2 在当前窗体中添加一个 Button1 按钮, 如图 2 2 所示 ; 在按钮的 Click 事件中添加 以下代码 : Dim s1 As String, s2 As String * 10 s1 = "hello!" s2 = " abc" MsgBox (s1 & vbcrlf & s2) 分析 图 2 2 使用字符串的例子图 2 3 测试长度 本例在按钮事件中定义变长字符串 s1 和定长字符串 s2, 当对定长字符串赋值超过其定 义的长度时, 超过的长度将被截取 ; 如果数据不足定义的长度, 则以空格填充 变长字符串长 度是实际保存的字符串数据长度 可以使用 VB6 中的 Len 函数进行验证, 将上面代码中的最 后一行改为测试长度的代码 : MsgBox (Len(s1) & vbcrlf & Len(s2)) 运行结果如图 2 3 所示 MsgBox 是 VB6 内部函数, 作用是弹出信息对话框, 信息内容为括号中的参数 本 书将经常使用 MsgBox 函数来测试显示某个变量值 & 是连接符, 可以将不同类型的数据, 连接成字符串, 这里连接 s1 和换行符以及 s2 的值 (3) 日期类型 关键字 :Date 日期类型变量可以保存的日期数据范围从 100 年 1 月 1 日到 9999 年 12 月 31 日, 时间可

7 第 2 章 Visual Basic 语言基础 21 以从 0:00:00 到 23:59:59 任何可辨认的文本日期都可以赋值给 Date 变量 日期类型常量必须使用定界符 # 括起来, 当字符串中包含正确的日期格式时, 也可以 赋值给日期类型变量 例如 : 或 : Dim d As Date d = #9/9/ :30:30 PM# d=" :30:30" 例 2 3 在标题栏中显示当前的日期和时间, 如图 2 4 所示 在当前窗体的 Load 事件中添加如下代码 : Private Sub Form_Load() Me.Caption = " 当前时间 :" & Now() 图 2 4 显示当前日期时间 分析 以上代码中,Now() 为 VB6 中同时取得日期和时间的函数 Date 不但是日期类型的关键 字, 也是取得当前日期的函数 ;Time 为取得当前时间的函数 VB6 还提供以下处理日期类型数据的函数 : Date(): 取得当前日期,Time() 取得当前时间 Year( 日期类型数据 ): 取得当前日期中的年份 相似的,Month 和 Day 分别取得月和 日 ; 而 Hour Minute 和 Second 则分别取得日期时间类型中的时 分和秒 例 2 4 在窗体上显示当前日期 时间和星期 在窗体上添加三个标签 Label 控件, 名称默认, 界面布局如图 2 5 所示 在窗体的 Load 事件中, 编写如下代码 : 1 Private Sub Form_Load() 2 Dim d As Date 3 d = Date() 4 Label1.Caption = " 今天的日期是 :" & _ 5 Year(d) & " 年 " & Month(d) & " 月 " & Day(d) & " 日 " 6 Label2.Caption = " 当前时间是 " & Time() 7 Label3.Caption = " 今天是星期 " & Weekday(d, vbmonday) 8 代码说明 行 3: 取日期函数, 赋值给变量 d 行 4: 设置 Label 控件的 Caption 属性, 属性值为 = 号后面的字符串 用函数 Year Month 和 Day 分别求得变量 d 中的年 月和日, 并连接成中文日期格式 提示 : 符号 _ ( 下划线 ) 是 VB6 中的续行符, 前面必须带空格 当程序行太长时, 可

8 22 Visual Basic 程序设计 ( 第二版 ) 以用续行符将本该属于一行的语句分成多行书写, 便于阅读代码 行 6: 用函数 Time 取得时间 行 7: 函数 WeekDay 求星期几, 其中, 参数 d 是日期类型数据, 第二个参数为常数 默认星期日为一周的第一天 为了符号中国的习惯, 将星期一 vbmonday 设置为一周的第一天 运行结果 如图 2 6 所示 (4) 逻辑类型 关键字 :Boolean 图 2 5 界面布局图 2 6 运行结果 逻辑类型又称布尔类型, 通常用来表示逻辑判断的结果 该数据类型只有两个取值 :True 和 False 例如 :Dim bol As Boolean bol=true (5) 变体类型 关键字 :Variant 如果定义变量时没有指明变量的数据类型, 则变量为 Variant 类型 ; 或当未使用 Option Explicit 语句要求强制变量定义时, 直接使用的变量也为 Variant 类型 Variant 数据类型没有 类型声明字符 Variant 是一种特殊的数据类型, 除定长 String 数据及用户定义类型外, 可以包含任何种类 的数据 例 2 5 对可变类型变量赋值, 验证其最终数据类型 在当前窗体的 Load 事件中, 添加如下代码 : 1 Private Sub Form_Load() 2 Dim x 3 x = x = "abc" 5 x = Now 6 MsgBox ("x 的值是 :" & x & vbcrlf & "x 的类型是 :" & TypeName(x)) 7 代码说明 行 2: 在定义变量 x 时, 并没有指明其类型, 因此默认为 Variant 类型 行 3: 将整数 100 赋于变量 x, 则此时 x 为整数类型 Integer, 值为 100 行 4: 将字符串 abc 赋于变量 x, 则此时 x 为字符串类型 String, 值为 abc 行 5: 将日期类型数据赋于变量 x, 则此时 x 为日期类型 Date, 值为当前日期值 行 6: 当程序执行到该行时, 将弹出对话框, 如图 2 7 所示 运行结果说明了对于可变类

9 第 2 章 Visual Basic 语言基础 23 型变量, 最终赋予它什么类型数据, 则其为该类型变量 本例最终赋予它为日期类型数据, 因此它最后将是日期类型变量 TypeName 是求指定变量的数据类型, 返回值为类型关键字 运行结果 如图 2 7 所示 图 2 7 运行结果 提示 :Variant 变量虽然使用起来很方便, 但不便于阅读程序, 而且容易产生混乱, 建议 编程时最好不使用这类变量 (6) 自定义类型 :Type 如果基本类型不能满足使用要求, 可以使用自定义类型 自定义类型相当于 C 语言中的 结构体类型, 即将各种基本数据类型组合成需要的类型 语法格式 :[Private/Public] Type 类型名 变量名 As 基本数据类型 End Type 注意 : 如果在窗体的代码窗口中使用自定义类型定义, 其定义语句 Type 必须放在声明部 分, 不能放置在过程或函数内, 而且必须使用作用范围关键字 Private( 在模块文件中可以省 略关键字 Private, 默认为 Public 类型 ), 同时, 自定义类型内的变量定义不能再使用 Dim 关 键字进行基本类型变量的定义, 否则会出现编译错误 自定义类型可以包含任何的基本类型, 包括后面讲到的数组以及其他的自定义类型 ( 即 嵌套使用自定义类型 ) 例 2 6 假设需要定义一个保存各个学生三门课程的成绩, 可以自定义名称为 student 的 类型, 代码如下 : Private Type student Name As String ' 姓名 Sex As Boolean ' 性别 ClassName As Integer ' 班级名称 Score1 As Single ' 分数 1 Score2 As Single ' 分数 2 Score3 As Single ' 分数 3 End Type 定义 student 类型后, 在程序中可以像使用普通数据类型那样使用 student 类型 用 student 类型声明变量的语句 :Dim stu As student 给变量 stu 赋值时, 必须为该变量的每个成员赋值 自定义类型的使用方式与对象属性的 使用方式相同, 如图 2 8 所示 例如, 以下代码对 stu 变量进行初始化 : stu.intnumber=5

10 24 Visual Basic 程序设计 ( 第二版 ) stu.strname=" 张三 " stu.strsex =" 男 " stu.intage =18 stu.blnflag=false 图 2 8 自定义类型的使用 定义自定义类型后, 在程序中只要写出变量名和后面的小数点, 即可显示该自定义类型 的成员变量 为了简化输入, 可用 With 语句对某个对象执行一系列的语句, 不必重复指出对象的名称 With 语句格式 : With 对象名 [ 语句系列 ] End With 功能 : 在一个单一对象或一个用户定义类型上执行一系列的语句 若用 With 语句对 stu 变量进行初始化, 代码如下 : With stu.intnumber = 5.strName = " 张三 ".strsex = " 男 ".intage = 18.blnFlag = False End With 注意 :Type 语句只能在模块级使用, 其默认作用域是 Public 如果需要在类模块或对象 模块中使用, 必须在 Type 关键字前加上关键字 Private 使用类型名和变量名时不要混淆 在例 2 6 中,student 为类型名,stu 为变量名 With 与 End With 必须配对使用 程序一旦 进入 With 语句, 对象就不能改变 因此, 不能用一个 With 语句设置多个不同的对象 2.2 运算符与表达式 运算是对数据的加工 最基本的运算形式常常可以用一些简洁的符号来描述, 这些符号 称为运算符或操作符, 被运算的数据称为运算量或操作数

11 第 2 章 Visual Basic 语言基础 算术运算符和算术表达式 算术表达式又称数值表达式, 由算术运算符 数值型常量 变量 函数和圆括号组成, 其运算结果一般为数值 所示 算术运算符是常用的运算符, 用于执行简单的算术运算 VB6 常用的算术运算符如表 2 3 表 2 3 算术运算符 运算符说明示例 +( 加 ) 返回两个操作数之和 ( 减 ) 返回两个操作数之差 5 4 *( 乘 ) 返回两个操作数之积 5 * 4 /( 除 ) 返回两个操作数之商 5 / 4 \( 整除 ) 将两个数相除并返回以整数形式表示的结果 5\4 Mod( 取余 ) 将两个数相除并只返回余数 10 Mod 5 ^( 幂 ) 求以某个数为底 以另一个数为指数的幂 3^3 例 2 7 算术运算符应用范例 (1)Mod 运算 Dim testresult As Double testresult = 10 Mod 5 ' 结果为 :0 testresult = 10 Mod 3 ' 结果为 :1 testresult = 12 Mod 4.3 ' 结果为 :0, 将小数四舍五入成整数 注意 : 如果有一个数是小数, 则将小数四舍五入成整数再进行运算 (2) 除运算 Dim resultvalue As Double resultvalue = 10 / 4 ' 结果为 :2.5 resultvalue = 10 / 3 ' 结果为 : 注意 : 即使两个操作数都是整数常数, 结果始终为浮点类型 (Double) (3) 整除运算 Dim resultvalue As Integer resultvalue = 11 \ 4 ' 结果为 :2 resultvalue = 67 \ 3 ' 结果为 : 22 注意 : 结果是一个整数, 表示两个操作数的整数商, 余数被丢弃 (4) 幂运算 Dim exp1, exp2, exp3, exp4, exp5, exp6 As Double exp1 = 2 ^ 2 ' 结果为 4(2 的平方 ) exp3 = ( 5) ^ 3 ' 结果为 125( 5 的立方 ) 字符串运算符与字符串表达式 字符串表达式由连接运算符 字符串常量 字符串变量和字符串函数组成 VB6 提供两个字符串运算符 + 和 &, 用于连接两个或更多的字符串

12 26 Visual Basic 程序设计 ( 第二版 ) 说明 : +: 对字符串类型实现连接 ; 对数字类型实现相加运算 &: 可以将所有数据类型的数据连接成字符串 例 2 8 字符串表达式范例 Dim samplestr As String samplestr = "Hello" & " World" 'samplestr 的结果为 :"Hello World" samplestr = "Hello" + " World" 'samplestr 的结果为 :"Hello World" samplestr = "12" + " 34" 'samplestr 的结果为 :"1234" 注意 : + 运算符尽可能执行算术加法运算, 只有当两个表达式均为字符串时, 才执行 连接操作 关系运算符和关系表达式 关系运算符比较两个表达式的值, 以判断它们之间的大小关系, 常用在判断语句中, 用 来决定程序执行的流程 常用关系运算符见表 2 4 表 2 4 还列出关系表达式运算结果为 True 或 False 的条件 表 2 4 关系运算符 运算符满足条件, 表达式值为 True 满足条件, 表达式值为 False <( 小于 ) 表达式 1 < 表达式 2 表达式 1 >= 表达式 2 <=( 小于等于 ) 表达式 1 <= 表达式 2 表达式 1 > 表达式 2 >( 大于 ) 表达式 1 > 表达式 2 表达式 1 <= 表达式 2 >=( 大于等于 ) 表达式 1 >= 表达式 2 表达式 1 < 表达式 2 =( 等于 ) 表达式 1 = 表达式 2 表达式 1 <> 表达式 2 <>( 不等于 ) 表达式 1 <> 表达式 2 表达式 1 = 表达式 2 注意 : 运算符 = 也用作赋值运算符 关系运算符两边可以是数值 字符串 日期 逻辑类型的数据 比较运算后得到的运算 结果是逻辑类型, 即值为 True 或 False 例 2 9 关系运算符的使用 Dim testresult As Boolean testresult = 45 < 35 testresult = 45 = 45 testresult = 4 <> 3 testresult = "5" > "4444" 例 2 9 中, 第一次关系运算的结果为 False, 其余关系运算的结果均为 True 赋值运算符 基本赋值运算符是 =, 用于给变量或属性赋值 格式 :[Let] 变量名 = 表达式 [Let] 对象. 属性 = 表达式 功能 : 将 = 右边表达式的值赋给左边的变量 ( 或对象的属性 )

13 说明 : (1) = 称为赋值号, 不是等号 (2)Let 关键字表示赋值, 一般我们在使用时都省略不写 (3) 表达式中可以包含变量 常量 属性值 (4) 赋值号两边的数据类型通常应保持一致 赋值语句举例 : Dim i As Integer i = 5 i = i + 1 ch = "abcd" Text1.Text = "" 'i 为整型变量, 将整数 5 赋给 i 第 2 章 Visual Basic 语言基础 27 ' 在 i=5 的基础上加 1, 其结果为 6, 再将结果 6 赋给 i ' 将 abcd 赋给变量 ch ' 清除文本框的内容 Form1.Caption = " 启动 " ' 指定窗体 Form1 的标题为 启动 逻辑运算符 逻辑运算符一般用于判断某个条件是否成立, 然后根据该条件决定程序执行哪一个分支 逻辑运算符可以对多个逻辑表达式或关系表达式进行逻辑运算, 运算结果是逻辑类型 VB6 提供的常用逻辑运算符见表 2 5 表 2 5 逻辑运算符 运算符运算运算规则例子结果 And 与当两表达式结果均为真时, 结果才为真 T And T T Or 或当两表达式结果均为假时, 结果才为假 T Or T F Not 非当表达式为假时, 结果为真 Not F T Xor 异或两表达式结果相同时, 结果为假 T Xor T F 例 2 10 逻辑运算符的使用 Dim a As Integer = 10,b As Integer = 8,c As Integer = 6 Dim val As Boolean val = (a > b) And (b > c) ' 结果为 True val = (b > a) And (b > c) ' 结果为 False val = a > b Xor b ' 结果为 True val = a > b Xor b > c ' 结果为 True 运算优先级 当一个表达式中包含多个运算符时, 存在运算符的优先次序问题 一般先进行算术运算, 其次进行关系运算, 最后进行逻辑运算 在同一级运算符中, 按运算符出现的顺序从左向右进 行计算 各运算符的优先次序由高到低排列的顺序为 : 圆括号 ( 由里向外逐层展开 ) 函数 算术 运算符 关系运算符 ( 其优先级相同 ) 逻辑运算符 当表达式包含不止一种运算符时, 按照以下规则进行计算 : (1) 算术运算符和连接运算符的优先级高于比较运算符 逻辑运算符和位运算符 算术

14 28 Visual Basic 程序设计 ( 第二版 ) 运算符和连接运算符之间的优先级顺序如下 : 1 求幂 (^) 2 正 负标识符 3 乘法和浮点除法 (* /) 4 整数除法 (\) 5 取余 (Mod) 6 加法和减法 (+ ), 字符串连接 (+) 7 字符串连接 (&) (2) 比较运算符之间具有相同的优先级, 它们的优先级均高于逻辑运算符, 低于算术运 算符和连接运算符 (3) 逻辑运算符的优先级均低于算术运算符 连接运算符和比较运算符 逻辑运算符之 间的优先级顺序如下 : 1 非 (Not) 2 与 (And) 3 或 (Or) 4 异或 (Xor) (4) 具有相同优先顺序的运算符按照它们在表达式中出现的顺序从左至右进行计算 注意 : 这里的 = 运算符是相等比较运算符, 不是赋值运算符 字符串连接运算符 & 不是算术运算符, 但在优先级方面与算术运算符属于一组 例 2 11 以下运算结果等效 Dim a, b, c, d, f, h As Double a = 8.0 b = 3.0 c = 4.0 d = 2.0 h = 1.0 f = a b + c / d * h ' 结果为 7 f = (a b) + ((c / d) * h) ' 结果为 数组与字符串 所谓数组, 是保存在一片连续内存单元中的一组数 数组中, 每一个元素的名称相同, 索引 ( 下标 ) 连续, 且具有相同的数据类型 数组单元通过数组的索引 ( 下标 ) 引用,VB6 数组的下标默认从 0 开始 例如,a(0) 表示数组 a 的第 1 个元素,a(1) 表示数组 a 的第 2 个元素, 依此类推 图 2 9 所示是一个保存 5 个整数的数组 Arr 在内存单元中的示意图 一般变量在内存中存放的位置没有规律, 而且不同类型的变量占用的内存空间也不相同 数组具有相同数据类型 相同变量名 连续的下标 用户可以根据下标区分不同的元素 由于这些变量的变量名相同 下标不同, 用户使用循环来访问其中的某些变量或所有变量比较方便

15 第 2 章 Visual Basic 语言基础 29 图 2 9 数组 Arr 在内存单元中的示意 例如, 求一个班 40 个学生某门课程的平均分, 为了保存这些成绩, 可以定义 40 个变量 这样虽然可以解决问题, 但显得很繁琐, 而用数组可以很好地解决这个问题 一维数组的声明 定义一维数组的语法 :Dim 数组名 ( 上限 ) [As 数据类型 ] 例如 :Dim arr(4) As Integer 说明 : 该语句建立一个有 5 个元素的数组 arr, 数组的下限为 0, 上限为 4 数组默认的下限为 0, 也可以在定义时指定下限, 例如 : Dim stdscore(1 To 10) As Single 以上语句建立有 10 个元素的数组 stdscore, 数组下限为 1, 上限为 10 数组 stdscore 定 义后, 若对数组元素 stdscore(0) 赋值, 将出现 下标越界 的运行错误 如果在某代码模块的所有数组定义时改变默认的下标 ( 定义下标为 1), 可以在代码模块 的声明部分添加以下开关语句 :Option Base 1, 则该模块中所有定义的数组下限默认为 1 而不 是 0 VB6 中提供两个函数, 以求出数组的上限和下限 : UBound( 数组名 ): 求指定数组的上限 LBound( 数组名 ): 求指定数组的下限 例 2 12 求数组上限和下限 Option Base 1 Private Sub Form_Load() Dim arr(4) As Integer MsgBox (LBound(arr) & UBound(arr)) ' 结果为 14, 共 4 个元素 ' 如果去掉第一句 Option Base 1, 则结果为 04, 共有 5 个元素 一维数组的使用 定义数组后, 可以将数据逐一保存到数组单元中, 也可以通过循环将所有元素取出来 例 2 13 以下代码将数据逐一保存到数组单元中, 然后显示第一个数组的第一个元素和 第二个数组的第一个元素 1 Private Sub Form_Load() 2 Dim arr(4) As Integer, brr(4) As String 3 Dim tmparr(1) 4 5 For i = LBound(arr) To UBound(arr) 6 arr(i) = i brr(i) = "A" & i

16 30 Visual Basic 程序设计 ( 第二版 ) 8 Next 9 10 tmparr(0) = arr 11 tmparr(1) = brr MsgBox tmparr(0)(0) & vbcrlf & tmparr(1)(0) 14 个元素 代码说明 行 2: 分别定义一个包含 5 个元素的整型数组 arr 和一个字符串数组 brr 行 3: 定义一个变体类型数组 变体类型数组可以用来保存其他任何类型数组 行 5~8 : 用循环语句对 arr 和 brr 数组赋值 行 10: 将 arr 数组保存到变体数组 tmparr 的第一个单元 行 11: 将 brr 数组保存到变体数组 tmparr 的第二个单元 行 13: 显示变体数组中第一个数组的第一个元素和第二个数组的第一 运行结果 如图 2 10 所示 二维数组与多维数组 二维数组相当于一个二维表格 例如, 以下语句声明了一个 3 4, 共 12 个元素的二维数组 : Dim arr(2,3) as string 多维数组的定义类似, 维数之间使用逗号分隔 例如, 以下语句定义了一个三维数组 : Dim mularr (3, 1 To 10, 1 To 15) 数组的大小为 , 元素总数为三个维数的乘积 600 二维数组的操作通常使用循环语句, 如以下代码所示 : Private Sub Form_Load() Dim i As Integer, j As Integer Dim arr(0 To 2, 0 To 3) As Double For i = 0 To 2 For j = 0 To 3 arr(i, j) = i * 3 + j Next j Next i 注意 : 增加数组的维数时, 数组所占的存储空间会大幅度增加 因此, 要慎用多维数组 使用 Variant 类型数组时更要格外小心, 因为它们需要更大的存储空间 动态数组 在某些情况下, 数组的长度不能事先确定, 希望能够在运行时改变数组的大小 动态数 组可以在任何时候改变大小 因此, 在系统中可短时间内使用一个大数组, 当不使用该数组时, 可将内存空间释放 动态数组具有灵活 方便的特点, 可以有效地管理内存 1. 动态数组的声明 先用 Dim 语句声明不定长度的数组, 例如 : 图 2 10 运行结果

17 第 2 章 Visual Basic 语言基础 31 Dim DyArray () ' 将数组声明为一个空维数组, 即可将数组声明为动态数组 2. 用 ReDim 语句动态声明某一长度的数组 ReDim 语句可重新为数组分配内存空间 ( 即用 ReDim 语句分配实际的元素个数 ), 例如 : ReDim DyArray(4 to 12) 说明 : (1) 可用变量设置动态数组的边界, 例如 : Dim n As Integer Dim A() As String n=2*n ReDim A(n) 的数据 'ReDim 语句给数组 DyArray 分配一个有 9 个元素的矩阵 (2)ReDim 语句是可执行语句 应用程序运行时, 执行 ReDim 语句将删除数组中原有 (3) 每个 ReDim 语句只能改变数组的长度及上下界, 但不能改变数组的维数 (4)Erase 语句用于删除动态数组并释放动态数组占用的内存空间, 例如 :Erase A (5) 每次执行 ReDim 语句时, 当前存储在数组中的值都会全部丢失 若希望改变数组大 小又不丢失数组中的数据, 可用带 Preserve 关键字的 ReDim 语句为数组重新分配空间 可用 UBound 函数引用上界, 使数组扩大, 增加一个元素, 而现有元素的值不会丢失, 例 如 : ReDim Preserve A(UBound(A)+1) 使用 Preserve 关键字时, 只能改变多维数组中最后一维的上界 ; 如果改变了其他维或最后 一维的下界, 运行时将会出错 例 2 14 求任意多个从键盘输入的整数之和 建立工程 新建工程, 按默认名称保存工程为 工程 1, 窗体名 称保存为 Form1 在窗体上添加两个按钮,Button1 和 Button2, 标题属性 Caption 分别改为 录入数据 和 查看结果, 如图 2 11 所示 图 Dim arrnum() As Integer 2 Dim TmpNum As Integer 3 4 Private Sub Form_Load() 5 ReDim arrnum(0) TmpNum = Val(InputBox(" 请输入一个整数 :", " 输入一个整数 ", 0)) ReDim Preserve arrnum(ubound(arrnum) + 1) 12 arrnum(ubound(arrnum)) = TmpNum 13 界面布局

18 32 Visual Basic 程序设计 ( 第二版 ) Private Sub Command2_Click() 16 Dim sum As Integer 17 For i = 1 To UBound(arrNum) 18 sum = sum + arrnum(i) 19 Next MsgBox " 你输入了 [" & UBound(arrNum) & "] 个数, 计算结果为 :" & sum 22 代码说明 行 1: 定义变体数组 ( 注意 : 可变数组不能指定上限 ) 行 2: 临时保存录入的整数变量 行 4~6: 初始化数组上限和下限为 0 行 9: 通过 InputBox 函数弹出对话框, 接受用户输入数据 函数中各参数对应对话框的 位置, 参见图 2 12, 该对话框返回字符串类型数据, 因此必须通过 Val() 函数转换为数值类型 保存到整型变量 TmpNum 中 ; 单击 取消 按钮时, 该对话框将返回空字符串,Val() 函数可 以将一切非数字字符串的内容转换为数值 0 行 11: 在数组原来的长度基础上, 增加一个元素 如果是首次执行该语句, 那么第一个 输入的值将保存到数组中下标为 1 的元素中 计算时要注意, 下标为 0 的元素其实没有保存数 据, 参见行 17 的分析 行 12: 将整数保存到当前数组最后一个元素中 行 17~19: 将数组从第 2 个元素 ( 下标为 1 的元素 ) 到最后一个元素的整数累加起来, 保存到 sum 变量中, 最后显示计算结果, 如图 2 13 所示 图 2 12 InputBox 对话框图 2 13 计算结果 例 2 15 随机生成 10 个 1~100 范围之间的整数, 并进行从大到小排序 分析 (1) 利用随机函数产生 10 个两位整数, 存入一维数组 arr 中 (2) 排序的基本思想 : 先从要排序的数中选择最大的数并放在第一个位置, 然后从剩下 的数中选择最大的数放在第二个位置, 如此类推, 最后在剩下的两个数中选择大的数放在倒数 第二个位置, 剩下的一个数放在最后位置, 排序完成 (3) 产生指定范围的随机数 为了生成某个范围内的随机整数, 可使用以下公式 : Int((upperbound lowerbound + 1) * Rnd + lowerbound) 这里,upperbound 是随机数范围的上限, 而 lowerbound 则是随机数范围的下限 1 Private Sub Form_Load()

19 2 Dim I, j, temp As Integer, a(1 To 10) As Integer 3 Dim S As String 4 5 S = " 产生的 10 个随机整数如下 :" & vbcrlf 6 7 For I = 1 To 10 8 a(i) = Int(( ) * Rnd + 1) ' 产生 1~100 之间的整数 9 S = S & a(i) & " " 10 Next For I = 1 To 9 ' 进行排序 13 For j = I + 1 To If a(i) < a(j) Then 15 temp = a(i) 16 a(i) = a(j) 17 a(j) = temp 18 End If 19 Next j 20 Next I S = S & vbcrlf & vbcrlf & " 排序后输出 10 个整数如下 :" & vbcrlf For I = 1 To S = S & a(i) & " " 26 Next 27 MsgBox S 28 代码说明 第 2 章 Visual Basic 语言基础 33 本例使用了循环结构 如果对行 12~20 的排序算法难以理解, 请学习循环语句后再回到 该例来理解 行 5: 保存用于对比排序前后的数组元素结果的字符串变量 行 7~10: 产生随机数, 并保存到数组中去 本例每次运行的结果 都是一样的, 为了产生完全不同的随机数, 可以在使用 Rnd 函数前调 用一次初始化随机数生成器 Randomize 函数 如在行 6 中加入该函数 语句, 则每次运行程序产生的随机数都将不一样 行 12~20: 排序算法 运行结果 如图 2 14 所示 控件数组 图 2 14 运行结果 所谓控件数组, 是一组类型相同的控件, 使用相同的名称, 通过数组的方式来使用 控件数组可以使代码的编写更加简洁 在窗体 Form1 上放置一个命令按钮控件 Command1, 复制该控件并粘贴到当前窗体, 如图 2 15 所示 此时, 将弹出如图 2 16 所示的提示框, 如果选择 是 按钮, 窗体上将出现两个名称 (Name) 为 Command1 的按钮控件 VB6 通过控件数组的下标来区分数组中不同控件的操作 例如, 以下代码可以实现 : 单击两个按钮时, 区分是对哪个按钮的操作

20 34 Visual Basic 程序设计 ( 第二版 ) 图 2 15 复制 Command1 控件 图 2 16 提示是否建立控件数组 Private Sub Command1_Click(Index As Integer) If Index = 0 Then MsgBox " 你点击了第 1 个按钮 " ElseIf Index = 1 Then MsgBox " 你点击了第 2 个按钮 " End If 事件参数中的 Index 表明单击控件数组的下标 其他类型控件数组的判断方法类似 VB6 中, 除了在程序设计时产生控件数组外, 还可以在程序运行时动态建立控件数组 实现方法如下 : (1) 在窗体上建立控件并设置该控件的相应属性, 其中, 设置该控件的 Index 属性值为 0, 表示该控件为数组, 建立控件数组的第一个元素 (2) 编写代码时, 通过 Load 方法添加所需的数组元素个数, 元素在窗体上的位置通过对 Top 和 Left 属性赋值确定 例 2 16 动态创建和卸载控件的示例 在窗体上添加两个按钮控件, 分别设置属性如图 2 17 所示 单击 动态建立按钮 按钮时, 自动创建标题为 2~10 的按钮, 并且 5 个按钮为一行分行显示, 运行结果如图 2 18 所示 再次单击该按钮时, 卸载刚建立的动态按钮 建立工程 新建工程, 按默认名称保存工程为 工程 1, 窗体名称保存为 Form1 按图 2 17 进行界面布局 Name:Command1 Index:0 Caption:1 Name:Cmd_Bt Caption: 动态建立按钮 图 2 17 界面布局 1 Private Sub Cmd_Bt_Click() 2 Dim CurTop As Integer, CurLef As Integer 3 4 If Command1.Count = 1 Then 5 Cmd_Bt.Caption = " 卸载动态按钮 " 6

21 第 2 章 Visual Basic 语言基础 35 7 CurTop = Command1(0).top 8 CurLef = Command1(0).Left 9 10 For i = 1 To 9 11 Load Command1(i) 12 Command1(i).Caption = i Command1(i).Visible = True 14 CurLef = CurLef + Command1(i 1).Width If i Mod 5 = 0 Then 17 CurTop = Command1(0).top + Command1(0).Height 18 CurLef = Command1(0).Left 19 End If Command1(i).Left = CurLef 22 Command1(i).top = CurTop 23 Next 24 Else 25 Cmd_Bt.Caption = " 动态建立按钮 " 26 For i = 1 To 9 27 Unload Command1(i) 28 Next 29 End If 30 代码说明 行 4: 如果当前命令按钮数为 1, 则执行创建操作 动态创建的命令按钮, 以已经存在的数组命令按钮为基础创建 创建动态命令按钮前, 必须将存在的命令按钮的 Index 属性设置为整值 ( 如 0), 使其成为数组按钮中的第 1 个按钮 行 5: 改变命令按钮的标题 Caption 行 7,8: 初始化新创建的动态命令按钮在窗体上的位置 行 11: 创建第 i 个动态命令按钮 行 12: 设置新命令按钮的标题 行 13: 使动态创建的命令按钮在窗体上可见, 默认是不可见的 行 14: 动态创建的命令按钮的 Left 位置, 由于分行后将再次初始化, 这里先保存到变量中 行 16~19:5 个命令按钮建立后, 分行显示第 6 个及其后的命令按钮 行 21,22: 动态命令按钮在窗体上的位置 行 27: 卸载已经建立的第 i 个动态命令按钮 运行结果 如图 2 18 所示 图 2 18 运行结果 字符串 字符串类型的数据在程序设计中经常使用, 本节主要介绍实现字符串处理的一些常用函数

22 36 Visual Basic 程序设计 ( 第二版 ) 1. 大小写转换函数 UCase(s): 返回将字符串 s 转换为大写后的值,s 本身的值不变 LCase(s): 返回将字符串 s 转换为小写后的值,s 本身的值不变 例 2 17 显示字符串变量 s1 大小写转换前后的结果 Private Sub Form_Load() Dim s1 As String, s2 As String s1 = "abcdef" s2 = UCase(s1) & vbcrlf & LCase(s1) & vbcrlf & s1 MsgBox s2 运行结果 如图 2 19 所示 2. 拆分字符串函数 Split 返回按指定的分隔符, 将字符串拆分成一个数组 语法 :Split(s, 分隔符 ) 注意 : 以下的例子需要在窗体上添加 Command1 命令按钮, 并在命令按钮的 Click 事件中添加代码 例 2 18 按逗号分隔字符串 s Dim s As String, arr s = "A,B,C,D" arr = Split(s, ",") For i = 0 To UBound(arr) MsgBox arr(i) Next 运行结果 依次弹出内容为 A B C D 的对话框 注意 : 保存 Split 返回值的变量 arr 不能定义为数组, 只能为变体类型变量, 即使已经知道了返回值是个数组数据 3. 组合字符串函数 Join 组合字符串正好与拆分字符串作用相反, 是将字符串数组元素, 按指定的分隔符连接成字符串 例 2 19 将数组 arr 元素连接成字符串 Dim s As String Dim arr(3) As String arr(0) = "A" arr(1) = "B" arr(2) = "C" arr(3) = "D" s = Join(arr, ",") MsgBox s 图 2 19 运行结果

23 第 2 章 Visual Basic 语言基础 37 运行结果 如图 2 20 所示 4. 替换字符串函数 Replace 将字符串中的字符或部分字符串替换为给定的新字符串的值 语法 :Replace( 原字符串, 被替换的字串, 替换为新字符串 ) 例 2 20 将 s1 中的 中国 替换为 中华人民共和国 Dim s1 As String, s2 As String s1 = " 我爱中国 " s2 = Replace(s1, " 中国 ", " 中华人民共和国 ") MsgBox s2 & vbcrlf & s1 运行结果 如图 2 21 所示 5. 取子符串函数 Mid 语法 :Mid(s,start,length) 从 s 的指定位置 start 开始取长度为 length 的子串, 如果省略了参数 length, 则取 s 字符串全部 其中,start 从 1 开始计算 例 2 21 Mid 函数使用的各种情况 Dim s1 As String, s2 As String, _ s3 As String, s4 As String 图 2 20 图 2 21 运行结果 运行结果 s1 = "ab 中华人民共和国,Ok" s2 = Mid(s1, 1, 1) s3 = Mid(s1, 3, 7) s4 = Mid(s1, 3) MsgBox s2 & vbcrlf & s3 & vbcrlf & s4 运行结果 如图 2 22 所示 还可以使用 Left 和 Right 函数取字符串 例 2 22 取子串 Dim s1 As String, s2 As String, _ s3 As String, s4 As String s1 = "ab 中华人民共和国,Ok" s2 = Left(s1, 4) s3 = Left(s1, 100) s4 = Right(s1, 4) MsgBox s1 & vbcrlf & s2 & vbcrlf & s3 & _ vbcrlf & s4 运行结果 如图 2 23 所示 图 2 22 图 2 23 运行结果 运行结果

24 38 Visual Basic 程序设计 ( 第二版 ) 2.4 程序结构 VB 是面向对象的程序设计语言, 尽管采用了事件驱动的机制, 但在设计过程的程序代码 时, 仍需要对过程的流程进行控制, 即采用结构化程序设计的方法完成过程代码设计 结构化程序设计方法把程序的结构分为顺序 选择和循环三种基本结构 程序设计的基 本原则是尽量避免语句之间的跳转, 自顶向下 逐步求精 模块化设计等 目的是在团队开发 大型软件时, 实现高效率 高可靠性 顺序结构 顺序结构是程序设计中最简单 最常用的基本结构 该结构中, 各语句的执行按照语句 的书写次序逐条顺序执行, 是任何程序的基本结构 例 2 23 一个最简单的顺序结构程序 Dim x As Integer Dim y As Integer x = 10 y = 20 MsgBox "x+y=" & x + y 代码说明 单击命令按钮 Command1 时, 将逐条执行 Click 事件内的语句 分支结构 通常, 计算机按语句在程序中书写的顺序执行语句 但在许多情况下, 语句执行的顺序 依赖于输入数据或中间运算结果 在这种情况下, 必须根据某个变量或表达式的值作出判定, 以决定执行哪些语句和跳过哪些语句不执行 VB 应用程序中, 可以通过分支结构实现这种功 能 分支结构又称条件结构 VB 提供三种分支语句, 即 : (1)If Then 语句 (2)If Then Else 语句 (3)Select Case 语句 1.If Then 语句 格式 1:If 条件 Then 语句 格式 2:If 条件 Then End If 语句块 语句块 功能 : 如果条件成立 ( 为真 ), 则执行 Then 后面的语句或语 句块 否则, 执行 If 语句的下一条语句 流程图如图 2 24 所示 图 2 24 If Then 语句流程图 条件 Y N

25 说明 : (1) 条件一般为关系表达式 逻辑表达式 第 2 章 Visual Basic 语言基础 39 (2) 格式 1 中的语句只能是一个语句或写在一行上用 : 分隔的多个语句 (3) 语句块指一行或多行语句 例 2 24 比较 x y 中的数, 将大数放在 x 中, 小数放在 y 中 用格式 1: If x<y Then w=x:x=y:y=w 用格式 2: If x<y Then w=x x=y y=w End If ' 引入中间变量 w, 使 x y 中的值进行交换 例 2 25 已知 x y z 三个数, 要求按从小到大的顺序进行排列 X = 8: y = 9: z = 3 ' 设定 x y z 的初值 If x > y Then w = x: x = y: y = w ' 将 x y 中的小数存放于 x 中 If x > z Then w = x: x = z: z = w 'x 中存放 x z 中的小数, 此时 x 为三个数中的最小数 If y > z Then w = y: y = z: z = w 'y 中总是存放 y z 中的小数 MsgBox x & "," & y & "," & z 程序运行时, 单击 Command1 按钮, 将弹出按从小到大的顺序显示 x y z 值的对话框 2.If Then Else 语句 格式 1:If 条件 Then 语句 1 Else 语句 2 格式 2:If 条件 Then 语句块 1 Else 语句块 2 End If 格式 3:If 条件 1 Then 语句块 1 ElseIf 条件 2 Then 语句块 2 Else 语句块 3 End If End If 功能 : 如果条件成立 ( 为真 ), 则执行 Then 后面的语句 1( 或语句块 1); 否则, 执行 Else 后面的语句 2( 或语句块 2) 流程图如图 2 25 所示 说明 : (1) 格式 3 构成了条件语句的嵌套, 若条件 1 不成立, 则判断条件 2 是否成立

26 40 Visual Basic 程序设计 ( 第二版 ) (2)ElseIf 不能写成 Else If 在 Else 语句中又出现 If 语句, 称为 If 语句的嵌套 使用 If 的嵌套结构时, 若 If 语句不写在一行上, 则必须与 End If 配对 多个 If 嵌套时,End If 与其 最接近的 If 配对 例 2 26 在火车站托运行李时, 需要根据行李的重量按不同标准收费 若重量不超过 50kg, 按每公斤 0.3 元收费 ; 若重量超过 50kg, 其中 50kg 按每公斤 0.3 元收费, 超出 50kg 部 分按每公斤 0.6 元收费 要求设计程序, 根据输入的托运行李重量计算并输出托运费 Y 条件 N 语句块 1 语句块 2 图 2 25 If Then Else 语句流程图 分析 设托运行李重量为 weight, 托运费为 pay, 计算公式如下 : pay=weight*0.3 pay=50*0.3+(weight 50)*0.6 当 weight 50 当 weight>50 程序运行时, 单击窗体, 利用 inputbox 函数接收输入的行李重量 ; 计算后, 在窗体上显 示行李托运费 Dim weight, pay weight = InputBox(" 请输入行李的重量 ") If weight < 50 Then pay = weight * 0.3 Else pay = 50 * (weight 50) * 0.6 End If MsgBox " 行李托运费为 :" & pay & " 元 " 运行结果 如图 2 26 所示 图 2 26 例 2 26 程序运行界面

27 例 2 27 以下程序段将学生成绩的百分制转换成 A B C D E 等级制 score = Val(InputBox(" 请输入分数值 :")) If score > 90 Then grade = "A" ElseIf score >= 80 Then grade = "B" ElseIf score >= 70 Then grade = "C" ElseIf score >= 60 Then grade = "D" Else grade = "E" End If MsgBox " 分数等级为 :" & grade 3.Select Case 语句 Select Case 语句也可以实现选择, 有时比 If 语句还简单 直观 格式 :Select Case 表达式 Case 表达式列表 1 语句块 1 Case 表达式列表 2 语句块 2 [Case Else 语句块 n+1] End Select 第 2 章 Visual Basic 语言基础 41 功能 : 根据测试表达式的值, 选择执行不同的语句 若表达式的结果与 Case 子句中表达 式列表 i 的值相等, 则执行语句块 i 说明 : 表达式列表与表达式的类型必须一致 表达式列表可以是下列形式之一 : (1) 一个具体的值, 如 5 (2) 用逗号分隔的一组数据, 如 1,3,4,6 (3) 用 To 表示的一个区间, 如 3 To 9 (4) 用 Is 代表测试值, 后带关系运算符和比较值, 如 Is>7 例 2 28 将例 2 27 中用 If 嵌套结构实现的功能改用 Select Case 语句实现 Select Case score Case is>=90 Grade="A" Case 80 to 89

28 42 Visual Basic 程序设计 ( 第二版 ) Grade="B" Case 70 to 79 Grade="C" Case 60 to 69 Grade="D" Case Else Grade="E" Case Select 循环结构 程序设计中, 常常会遇到一些计算不复杂但需要反复多次计算的问题, 如显示九九乘法 表等 这种问题可用循环结构来实现 循环结构程序设计实际上是一种特殊结构的选择结构, 程序根据循环条件的判断结 果决定是否执行循环体语句 循环体语句是循环结构中的处理语句块, 用来执行重复的 任务 循环结构有多种形式, 可以根据需要选择 无论采用何种类型的循环结构, 循环体的执 行次数必须视其循环类型与条件而定, 且必须确保循环的重复执行能在适当的时候得以终止 ( 即非死循环 ) 此外, 循环结构还能嵌套使用 VB 的循环语句有以下四种形式 (1)For... Next (2)For Each... Next (3)Do Loop (4)While Wend 1.For... Next 结构 格式 :For 循环变量 [As 类型 ]= 初始值 To 终止值 [Step 步长 ] Next 语句块 [Exit For] 功能 : For 循环语句是一种定次循环语句, 即在设计程序时已经可以确定需要循环的次数 执行 For 语句时, 首先判断循环变量当前值是否大于终值, 若不是, 则进入循环执行循环体语 句 执行到 Next 语句时, 将循环变量的值加上步长值, 返回到 For 语句 ( 循环开始处 ); 否则, 退出循环执行 Next 语句之后的语句 说明 : 循环变量 : 整型变量, 用于记录循环次数的数值型变量 类型 : 说明循环变量的类型 初始值 : 循环变量的起点值 终止值 : 决定何时退出循环 步长值 : 数值类型 步长值决定每执行一次循环, 循环变量的增量 每次循环后, 循 环变量的增量 ( 默认 ) 增 1, 可以是正数或负数 Exit For: 控制转移到 For 循环外, 即退出循环 初始值 终止值和步长变量在循环前必须赋值, 且为整数

29 例 2 29 从 1 累加到 100, 显示累加结果 Dim sum As Integer sum = 0 For i = 1 To 100 sum = sum + i Next MsgBox (" 计算结果为 :" & sum) 运行结果 如图 2 27 所示 例 2 30 显示九九乘法表 第 2 章 Visual Basic 语言基础 43 For 循环语句可以嵌套使用 本例中, 被乘数从 1 变化到 9, 乘数也从 1 变化到 9, 采用 两层循环嵌套 Dim i As Integer, j As Integer Dim s As String For i = 1 To 9 For j = 1 To i s = s & i & "*" & j & "=" & i * j & " " Next s = s & vbcrlf Next MsgBox (s) 运行结果 如图 2 28 所示 图 2 27 运行结果 图 2 28 九九乘法表 2.For Each... Next 结构 For Each...Next 循环与 For...Next 循环类似 该语句对数组或对象集合中的每一个元素重复一组语句, 而不是重复语句一定的次数 在不知道一个集合有多少元素的场合,For Each...Next 循环非常有用 格式 :For Each element In 对象或集合 数组

30 44 Visual Basic 程序设计 ( 第二版 ) Next 语句块 [Exit For] 功能 : 可以列出数组中的每一个元素, 或一个集合中的每一个元素 其中 : 对集合,element 只能是 Variant 类型变量, 或一般的 Object 类型变量, 或 对象浏览 器 中列出的对象 对数组,element 只能是 Variant 类型变量 例 2 31 用 For Each 结构显示数组中每一个元素 Dim arr(9) As Integer Dim s As String ' 为了测试, 先对数组赋值 For i = 0 To UBound(arr) arr(i) = i + 1 Next ' 使用 For Each 结构列举出数组的每一个元素 For Each a In arr s = s & a & " " Next MsgBox " 数组元素如下 :" & s 运行结果 如图 2 29 所示 例 2 32 用 For Each 结构显示窗体上所有控件对象的信息 建立工程 新建工程, 按默认名称保存工程为 工程 1, 窗体名称保存为 Form1 界面布局如图 2 30 所示 图 2 29 运行结果 Label1 Text1 Text2 Label2 Command1 图 2 30 界面布局 For Each c In Me.Controls

31 第 2 章 Visual Basic 语言基础 45 s = s & " 控件名称是 :" & c.name & _ " 控件类型是 :" & TypeName(c) & vbcrlf Next MsgBox " 窗体包含以下控件 :" & s 代码说明 TypeName 函数求取变量的类型名 运行结果 如图 2 31 所示 图 2 31 运行结果 3.While 结构 While 循环结构有几种形式, 如表 2 6 所示 表 2 6 While 循环结构的形式 While 结构 1 While 结构 2 While 结构 3 While < 条件 > 语句块 Wend Do While< 条件 > 语句块 [Exit Do] Loop Do 语句块 [Exit Do] Loop While < 条件 > 表中 While 结构 1 和 While 结构 2 实现相同的功能, 只是写法不同, 这种结构称为 当型 循环结构 即当满足条件时, 执行循环体 ( 语句块 ) While 结构 3 是 直到型 循环结构, 无论是否满足条件, 至少执行循环体 ( 语句块 ) 一 次, 直到不满足条件才退出循环 注意 :While Wend 没有 Exit While 的语句,Do...Loop 语句提供了一种结构化与适应性 更强的方法来执行循环 例 2 33 求从 1 累加到 100 的过程中, 结果超过 1000 的数是多少 Dim i As Integer Dim sum As Integer Do While 1 ' 形式上是无限循环, 在循环体中必须有退出的判断 sum = sum + i If sum > 1000 Then Exit Do ' 当满足条件时, 退出循环 i = i + 1 Loop MsgBox (" 当结果超过时, 该数为 :" & i)

32 46 Visual Basic 程序设计 ( 第二版 ) 2.5 变量作用范围 每个变量都有自己的作用域, 即变量的作用范围 如果在变量的作用域之外使用该变量, 将产生编译错误 VB 允许在声明变量时指定其有效范围 一般来说, 声明变量时, 尽量选择 较小的作用域, 保持较小的作用域有助于节省内存并减少代码指向非法变量的可能性 在一个过程内部声明的变量, 只有该过程内的代码才能访问或改变其值 若要使变量的 值在同一模块的所有过程中都有效, 甚至在整个应用程序的所有过程都有效, 必须在声明变量 时指定其作用范围 1. 过程级变量 只有在声明该变量的过程中才能被使用, 又称局部变量 所有过程或函数中定义的变量 都是局部变量 用关键字 Dim 声明过程级变量 这种变量只有在执行该过程时才存在, 过程结束, 该 变量的值即不存在, 变量占用的内存被释放 ; 下一次再执行该过程时, 其中的局部变量重新初 始化 由于在一个过程中声明的变量只有在本过程中才可以使用, 在其他过程中无法使用, 因 而在不同的过程中可以使用相同的变量名 例 2 34 在窗体上添加一个 Command1 命令按钮, 并添加以下代码, 单击命令按钮时, 显示的结果是什么? MsgBox i Private Sub Form_Load() Dim i As Integer i = 100 分析 程序启动时, 首先触发窗体的 Load 事件, 执行 Load 事件中的代码, 即定义变量 i 并使其 值为 100 当窗体显示出来时, 该过程已经结束, 则过程变量 i 已经不存在 单击 Command1 命令按钮时, 执行其 Click 事件中的代码 该代码中的变量 i 不再是 Load 事件过程中的变量 i, 而是新定义的变体类型的变量 i 因此, 单击命令按钮时, 将显示空对 话框, 然后该变量从内存中消失 2. 模块级变量 在模块的声明段中, 使用 Private 或 Dim 关键字声明的变量, 其作用范围是该模块中的所 有过程 Private 表示私有的, 相对应的关键字是公有的 Public; 用 Private 声明的变量只能在 本模块中使用, 其他模块的代码不可用 ; 用 Public 声明的变量不但本模块可以使用, 其他模 块也可以使用 窗体代码文件中, 在所有过程或函数之外 ( 代码声明部分 ) 定义的变量, 即为模块级变 量 若在任何过程中改变了该变量, 该变量最终的值是最后一次改变的值

33 第 2 章 Visual Basic 语言基础 47 模块级变量定义中,Private 和 Dim 之间没什么区别 另外, 在过程 ( 如事件过程和后面 讲到的自定义过程 ) 和自定义函数中, 不能用 Private 和 Public 关键字声明变量 例 2 35 在窗体上添加三个命令按钮, 名称分别为 Command1 Command2 和 Command3 分析以下代码的执行结果 : Dim a As Integer ' 对 a 赋值 a = 100 ' 对 a 赋值 Private Sub Command2_Click() a = 200 ' 查看 a 的值 Private Sub Command3_Click() MsgBox a 分析 程序运行时, 如果单击 Command1 后再单击 Command2, 则单击 Command3 时, 变量 a 的值将是 200; 然后再单击 Command1, 变量 a 的值是 100 即无论按什么顺序单击 Command1 或 Command2, 再单击 Command3 时显示的变量 a 的值都是最后一次赋的值 例 2 36 先在窗体 Form1 定义用户名变量 UserName, 然后在窗体 Form2 中显示出来 分析 添加两个窗体, 名称分别为 Form1 和 Form2 为了在窗体模块 Form2 中使用窗体模块 Form1 中定义的变量, 该变量必须使用关键字 Public 定义 在现有工程中添加窗体的方法 : 在菜单栏上选择 工程 添加窗体 选项, 弹出 添加 窗体 对话框, 在 新建 选项卡中选择 窗体, 单击 打开 按钮 (1) 窗体 Form1 的代码 Public UserName As String Private Sub Form_Load() UserName = " 张三 " Form2.Show (2) 窗体 Form2 的代码 Private Sub Form_Load() Me.Caption = " 欢迎你," & Form1.UserName 工程中的代码如图 2 33 所示

34 48 Visual Basic 程序设计 ( 第二版 ) 代码说明 如果要使用一个窗体模块中的公有变量, 需要通过如下格式引用 : 窗体名. 变量名 运行结果 如图 2 32 所示 图 2 32 运行结果 从上面的例子中可以看出, 一个窗体使用另一个窗体定义的变量时, 需要使用 窗体名. 变量名 格式 实际上, 如果一个变量 ( 后面还会使用到公有的自定义过程和函数 ) 需要在多 个模块中使用到, 一般将该变量定义在全局的标准模块文件中 标准模块文件建立的方法 : 在菜单栏上选择 工程 添加模块 选项, 弹出 添加模块 对话框, 在 新建 选项卡中选择 模块, 单击 打开 按钮 模块文件默认文件名为 Module1, 内容为空白 例 2 37 改写例 2 36, 将变量 UserName 定义为标准模块文件中的变量 分析 在例 2 36 的基础上, 新添加标准模块文件 Module1, 将 Form1 中定义的代码 Public UserName As String 移动到 Module1 中, 如图 2 33 所示 图 2 33 工程中的代码 运行结果 和例 2 36 一样 可见, 在 Module1 文件中定义的公有变量, 其他模块都可以直接使用, 不需要在变量名前加 模块名 在 Module1 中用 Private 或 Dim 定义的变量, 只能在本模块中使用, 其他模块是不能使用的

35 3. 静态变量 第 2 章 Visual Basic 语言基础 49 用 Static 关键字声明的局部变量, 变量值在程序运行中一直有效 将局部变量定义为静态 时, 可保留变量的值 若希望过程中所有的局部变量为静态变量, 可在过程的起始处加上 Static 关键字 例如 :Static Sub RunningTotal (num) 对于 Dim 声明的局部变量以及声明局部变量的过程, 仅当过程在执行时, 这些变量才存 在 通常, 执行一个过程时, 所有局部变量将重新初始化 若需要过程结束后仍然保持过程中 某些局部变量的值, 应将这些变量声明为静态变量 [ 练习 ] 试分析下面两段代码中, 每次单击命令按钮 Command1 时, 变量 num 的值 (1) 代码 1 Static num As Integer num = num + 1 MsgBox num (2) 代码 2 Dim num As Integer num = num + 1 MsgBox num 注意 : 静态变量在被声明的方法或类的范围内值保持不变 一个静态变量可以保持其值, 直到该变量的值被重新设置, 或者应用程序结束 2.6 函数与过程 函数是完成某一功能的程序代码段, 又称程序模块 该段程序代码以一定格式实现并通过函数名来调用 编写函数的目的是便于维护, 避免代码重复编写, 提高程序设计效率 一般来说, 函数是有返回值的, 函数的返回值即函数执行的结果 实际上, 过程也是函数, 只是没有返回值的函数 ; 所谓方法, 是存在于某个对象中的函数或过程 函数分为系统函数和自定义函数 系统函数是 VB 提供的内部函数, 可以直接通过函数名调用, 如 MsgBox() 函数 Len() 函数等 自定义函数是用户自己设计的函数 自定义函数格式 :[ 作用范围关键字 ] Function 函数名 ( 参数列表 )As 返回值类型代码段 [Exit Function] 函数名 = 返回结果 End Function 说明 : 关键字 Function End Function: 函数的定义结构

36 50 Visual Basic 程序设计 ( 第二版 ) 作用范围关键字 : 使用 Public 或 Private 关键字, 指定该函数是在本模块使用还是可 以被其他模块使用, 含义与变量作用范围中说明的相同, 不指明作用范围时, 默认是 使用 Public 关键字 但不能使用 Dim 关键字 参数 : 需要传递到函数中处理的数据, 多个参数以逗号分隔 ; 调用函数时, 传递给函 数的参数必须和函数定义时的个数 位置和类型一致 函数返回值 : 通过对函数名赋值方式返回调用函数的结果, 返回值必须与函数定义时 的数据类型一致, 函数只能通过函数名返回一个值, 不能返回多个值 例 2 38 定义一个名为 Add 的函数, 实现任意两个整数相加, 并返回相加的结果 ' 函数的定义 Private Function Add(ByVal x As Integer, ByVal y As Integer) As Integer Dim Sum As Integer Sum = x + y Add = Sum End Function ' 函数的使用 Dim Sum As Integer Sum = Add(1, 2) MsgBox (" 计算结果是 :" & Sum) 自定义过程 过程分为事件过程和自定义过程 事件过程是在对象上触发某个事件时, 系统自动调用 的过程 程序设计中接触最多的是命令按钮的 Click 事件过程, 本章大部分例子都通过命令按 钮的事件过程来说明 过程名可以自定义 VB 中对象的事件过程按 对象名 _ 事件名 格式自动命名, 表示在 什么对象上发生什么事件时, 调用该过程 格式 :Sub 过程名 ( 参数列表 ) 代码段 [Exit Sub] 说明 : 过程不能有返回值 例 2 39 编写一个 MyMsg 过程, 模拟 MsgBox 函数的功能 ' 自定义过程 Sub MyMsg(ByVal msg As String) MsgBox (msg) ' 过程的使用

37 第 2 章 Visual Basic 语言基础 51 MyMsg (" 这是 MyMsg 过程 ") 参数传递 函数参数 ( 包括过程参数 ) 的传递方式有两种 : 值传递和引用传递 一般, 函数的参数称为形式参数, 实际传递给函数参数的数据称为实际参数 实际参数 可以是变量或常量 所谓值传递 (ByVal), 是在调用函数时, 把实际参数的值传递给函数对应的形式参数 ; 所谓引用传递 (ByRef), 是在调用函数时, 形式参数对应实际参数的内存地址 因此, 引用 传递实际参数必须是变量 两种传递方式的最大区别 : 引用传递可以改变实际参数的值, 值传递不影响实际参数的 值 在例 2 40 中可以看出两者之间的差别 例 2 40 值传递与引用传递的区别 ' 形式参数为值传递, 使用关键字 ByVal 进行说明 Sub Testval(ByVal x As Integer) x = x + 10 ' 形式参数为值传递, 使用关键字 ByRef 进行说明 Sub TestRef(ByRef x As Integer) x = x + 10 ' 在窗体上添加按钮 Button1 Private Sub command1_click() Dim m As Integer m = 10 Testval m MsgBox (" 传值调用的结果是 :" & m) ' 结果为 10,m 的值没有改变 m = 10 TestRef m MsgBox (" 传地址调用的结果是 :" & m) ' 结果为 20,m 的值在 TestRef 中被改变了 运行结果 如图 2 34 所示 图 2 34 运行结果 说明 : 过程调用时, 参数不能使用括号, 否则将可能无法得到正确结果 ; 如果要使用括 号, 必须使用 Call 关键字, 如 :Call TestRef(m)

38 52 Visual Basic 程序设计 ( 第二版 ) 使用可选的参数 在过程的参数列表中列入 Optional 关键字, 可以指定过程的参数为可选, 如果指定了可 选参数, 则参数表中该参数后面的其他参数也必须是可选的, 并且要用 Optional 关键字声明 可选参数也可以指定默认值 以下代码中, 自定义过程 MyMsg 具有可选参数并指定了默认值, 如果调用该过程时带参 数, 则显示参数的值 ; 如果不带参数, 则显示默认值 Sub MyMsg(Optional ByVal msg As String = "abc") MsgBox msg MyMsg MsgBox "OK" 2.7 程序启动方式 选择启动窗体默认情况下, 程序启动时以第一个创建的窗体作为启动窗体 建立工程时, 默认的第一窗体是 Form1 如果选择工程中的其他窗体作为启动窗体, 可以在菜单中选择 工程 工程 x 属性 ( 工程 x 表示工程名 ) 选项进行设置, 或按图 2 35 所示操作 图 2 35 选择启动窗体 在标准模块中启动窗体程序不一定从一个窗体中开始运行, 可能窗体出现前还要做其他初始化操作, 例如, 检测环境配置, 如果不符合程序运行要求, 直接退出程序 ; 或在主窗体前显示 Logo 窗体, 同时在后台进行一些耗时的操作 VB6 提供了另外一种启动程序的方法, 即从标准模块的 Main 过程中开始运行程序 Main 过程很像 C 语言中的 main 函数, 可以决定首先执行哪些操作, 也

39 可以决定其他窗体的启动顺序 第 2 章 Visual Basic 语言基础 53 如果项目中没有标准模块, 应添加标准模块, 并在标准模块中手工添加一个 Main 过程 Module1 中的全部代码如下 : Sub Main() ' 首先启动 Form1 窗体 Form1.Show vbmodal 'Form1 关闭, 再启动 Form2 窗体 Form2.Show vbmodal 其中,Show 方法后面有 vbmodal 参数, 该窗体为模式窗体, 表示该窗体关闭后才执行本 行的下一行语句 ; 如果不带 vbmodal 参数, 该窗体为非模式窗体, 表示打开窗体 Form1 后马 上执行下一条语句, 即同时启动两个窗体 这也是模式与非模式窗体的区别 项目标准模块中只能有一个 Main 过程 要使程序启动时首先执行 Main 过程, 必须对项目 进行设置 在 VB6 中, 可以通过选择 启动对象 为 Sub Main 进行设置, 如图 2 35 所示 2.8 典型例题 例 2 41 以下符号中, 哪个不能作为 VB 中的变量名? A.ABCDE B.P C.89XYZDEF D.xyz 分析 根据 VB 变量名的命名规则,4 个变量中只有 89XYZDEF 不是以字母开头的, 不能作为 变量名 ; 其他 3 个变量名都满足 VB 中变量名的命名规则, 是合法的变量名 例 2 42 以下数据中, 哪些是变量? 哪些是常量? 是什么类型的常量? name "name" false ff "11/15/99" cj "129" n #11/15/1999# 分析 变量有 name ff cj n 常量有 "name" false "11/15/99" "129" #11/15/1999# 其中 :"name" "11/15/99" "129" 为字符型常量 ;false 为布尔型常量 ;#11/15/1999# 为日期型 常量 ; 为数值型常量 例 2 43 把下列数学表达式改写为等价的 VB 算术表达式 y 1 + A. x B. 2 3xy x + y 2 y 1 x C. 分析 3 ab c D. s(s a)(s b)(s c) VB 算术表达式与数学表达式在写法上有区别 :VB 中每个符号占 1 个格, 所有符号都必 须一个一个并排写在同一横线上, 不能在右上角或右下角写方次或下标 ; 原来在数学表达式中 省略的内容必须重新写上 ; 所有括号都用小括号 (), 括号必须配对 ; 要把数学表达式中的某 些符号, 改成 VB 中可以表示的符号

40 54 Visual Basic 程序设计 ( 第二版 ) A.(1+y/x) /(1 y/x) B.x^2+3*x*y/(2 y) C.(Abs(a*b c^3))^0.5 或 (Abs(a*b c^3)) ^ (1/2) 或 Sqr(Abs(a*b c^3)) D.(s*(s a)*(s b)*(s c))^0.5 或 (s*(s a)*(s b)*(s c)) ^ (1/2) 或 Sqr (s*(s a)*(s b)*(s c)) 例 2 44 根据给出的条件, 写出逻辑表达式 (1) 闰年的条件是 : 年号 (year) 能被 4 整除, 但不能被 100 整除 ; 或者能被 400 整除 (2) 征兵的条件是 : 男性 (sex) 年龄 (age) 在 18~20 岁之间, 身高 (size) 不低于 1.65 米 ; 或者女性 (sex) 年龄 (age) 在 16~18 之间, 身高 (size) 不低于 1.60 米 分析 (1) 被某个数整除, 可以用数值运算符 Mod 或 Int 函数来实现, 即 : (year Mod 4=0 And year Mod 100 <>0) Or (year Mod 400 = year/400) 或 : ( Int ( year/4 ) And Int ( year/100 ) <> year/100 ) Or ( Int ( year/400 ) = year/400 ) (2) 设性别 sex 值为 True 代表男性,sex 值为 False 代表女性, 则对应的逻辑表达式为 : (sex And age >=18 And age <= 20 And size >= 1.65) Or (Not sex And age>=16 And age <= 18 And size>=1.60) 例 2 45 函数 Int(Rnd(0)*10) 的值是在哪个范围内的整数? 分析 函数 Rnd (0) 是 0~1 之间的数, 因此,Int ( Rnd ( 0 )*10 ) 的值是在 0~10 之间的整数 例 2 46 以下 VB 语句中, 正确的注释语句是 ( ) A.Dim x(10) As Integer B.' 这是 VB 程序中的语句 Rem 这是 VB 程序中的语句 C.x=1:y+2: _Rem 这是 VB 程序中的语句 :z=3 D.If Shift=6 And Button=2 Then End If 分析 Print "AAAA" Rem 这是 VB 程序中的语句 注释出现在一个语句行后面时, 只能用撇号作为注释符, 不能用 Rem; 在复合语句行中, 注释必须是最后一个语句, 不能放在复合语句行中 ; 注释语句不能放在续行符的后面 本题正 确的答案应选 B 习题 2 一 填空题 1. 若声明数组时不明确指定其数据类型, 默认是 类型 2. 用语句 dim A(5,4) 定义的数组, 若设置 option base 1, 则有 个元素

41 第 2 章 Visual Basic 语言基础 用 Redim 命令多次为动态数组重新分配内存时, 若在 Redim 后出现了关键字, 则不能改变数组的维数 4. 若使用函数 Array 为变体数组各元素赋值, 该数组必须是 数组 5. 通常 循环用于循环次数确定的循环结构 6.While Wend 循环中, 条件 时退出循环 7. 在某 For Next 循环中, 若其步长为负数, 则当循环变量初值, 循环体语句一次也不执行 8. 若在函数中不明确指定参数的传递方式, 默认的传递方式是, 其关键字是 9. 在 VB 中, 若要将整个数组作为实参传递给过程, 应将 放入实参列表中 二 简答题 1.VB 提供了哪些标准数据类型? 声明类型时, 其类型关键字分别是什么? 所占用的字节数分别是多少? 2. + 与 & 在进行字符串连接运算时有何异同? 3. 过程级静态变量与窗体级变量在程序运行时有何异同? 4. 以下表达式的运算结果是多少? 9/3+5*7 8\5 9 mod 5 5>3 And "aeoplane"<"airplane" 5. 求下列表达式的值, 并写出其类型 (1)((8+(7*9 13)/5)/9)^2 (2)" 我们爱中国 "&" 的山山水水,"&" 何时能畅游一番?" (3)2*3+6<= (7+2)/3 (4)#12/31/2001# #12/20/2001# (5)2<3 And 7>8 6. 写出下列函数的值 (1)Int( ) (2)Sqr(Sqr(16)) (3)Fix ( ) (4)Int (Abs (99 100)/2 ) (5)Sgn(7*3+2) (6)Left ("Hello",2) (7)Val ("16 Year") (8)Str( ) (9)Len("Hello") 7. 找出下列变量名中哪些是错误的 (1)n (2)3w (3)Abs (4)x y (5)x%y (6)e f (7) 出生日期 (8)grade_1 8. 把下列数学表达式写成 VB 表达式

42 56 Visual Basic 程序设计 ( 第二版 ) 1 2 (1) v0 t at 2 sin cos (2) α β αβ (3)ax 2 bx c (4)0<x 5 9. 计算以下表达式的值 (1)8/4*5/2.5*( ) (2)3*7\2 (3)26\3 mod 0.4*int(2.5) (4)Ture and 8 3>=6 (5)#8/5/1999# 构造条件表达式时, 一般需要用到什么运算符? 11. 静态数组和动态数组有什么区别? 12. 用什么方法可以建立控件数组? 13. 如何实现既增加动态数组的元素个数, 又保存该数组中原有的值? 14.Select Case 语句中, 表达式列表可以有哪几种写法? 15. 在固定次数的 For Next 循环中, 如果循环体中存在改变循环变量数值的语句, 可能 出现什么情况? 16. 在 For Next 循环中, 若终值是以变量的形式表示时, 是否可以在循环体内通过其他 语句修改循环终值以达到改变循环次数的目的? 为什么? 17. 参数传递的方式有哪两种? 有哪些区别? 18. 在过程调用的参数传递中, 有哪些方式, 它们在使用中有什么区别? 19. 过程的形参和实参在什么情况下类型必须一致, 什么时候不必完全一致? 三 程序设计题 1. 输入 20 个数, 求出它们的最大值 最小值和平均值 2. 输入一组数, 以 9999 结束, 统计其中正 负和零的个数 3. 编程实现 : 输入三个整数, 按照从大到小的顺序进行输出, 程序代码放在 Command1_Click 事件过程中 4. 编程实现 : 给出一个百分制成绩, 要求输出成绩等级 A B C D E 90 分以上为 A,80~89 分为 B,70~79 分为 C,60~69 分为 D,60 分以下为 E 5. 编程实现 : 输入一个整数, 在窗体中显示所有小于等于该整数的质数 6. 编写一个函数 isprime, 用于判断其参数 num 是否是素数, 并输出相应信息

C++ 程序设计 告别 OJ1 - 参考答案 MASTER 2019 年 5 月 3 日 1

C++ 程序设计 告别 OJ1 - 参考答案 MASTER 2019 年 5 月 3 日 1 C++ 程序设计 告别 OJ1 - 参考答案 MASTER 2019 年 月 3 日 1 1 INPUTOUTPUT 1 InputOutput 题目描述 用 cin 输入你的姓名 ( 没有空格 ) 和年龄 ( 整数 ), 并用 cout 输出 输入输出符合以下范例 输入 master 999 输出 I am master, 999 years old. 注意 "," 后面有一个空格,"." 结束,

More information

<4D F736F F F696E74202D BDE1B9B9BBAFB3CCD0F2C9E8BCC D20D1ADBBB7>

<4D F736F F F696E74202D BDE1B9B9BBAFB3CCD0F2C9E8BCC D20D1ADBBB7> 能源与动力工程学院 结构化编程 结构化程序设计 循环 循环结构 确定性循环 非确定性循环 I=1 sum=sum+i I = I +1 陈 斌 I>100 Yes No 目录 求和 :1+2+3++100 第四节循环的应用 PROGRAM GAUSS INTEGER I, SUM 计数器 SUM = 0 DO I = 1, 100, 1 SUM = SUM + I print*, I, SUM DO

More information

PowerPoint Presentation

PowerPoint Presentation Visual Basic 2005 學 習 範 本 第 7 章 陣 列 的 活 用 7-1 陣 列 當 我 們 需 要 處 理 資 料 時, 都 使 用 變 數 來 存 放 資 料 因 為 一 個 變 數 只 能 代 表 一 個 資 料, 若 需 要 處 理 100 位 同 學 的 成 績 時, 便 要 使 用 100 個 不 同 的 變 數 名 稱, 這 不 但 會 增 加 變 數 名 稱 命 名

More information

Microsoft Word - 实验3.doc

Microsoft Word - 实验3.doc 实验 3 基本控制结构 3.1 基本控制结构程序设计 实验目的 (1) 掌握 3 种基本结构的程序流程图 (2) 熟练掌握分支结构的程序设计方法 (3) 熟练掌握循环结构的程序设计方法 实验内容 Visual Basic 是结构化的程序设计语言, 有 3 种基本控制结构 : 顺序结构 分支结构和循环结构, 循环结构又分 当型 循环和 直到型 循环 其程序流程图如图 3-1 所示 真 E 假 当 E

More information

四川省普通高等学校

四川省普通高等学校 四 川 省 普 通 高 等 学 校 计 算 机 应 用 知 识 和 能 力 等 级 考 试 考 试 大 纲 (2013 年 试 行 版 ) 四 川 省 教 育 厅 计 算 机 等 级 考 试 中 心 2013 年 1 月 目 录 一 级 考 试 大 纲 1 二 级 考 试 大 纲 6 程 序 设 计 公 共 基 础 知 识 6 BASIC 语 言 程 序 设 计 (Visual Basic) 9

More information

OOP with Java 通知 Project 4: 4 月 18 日晚 9 点 关于抄袭 没有分数

OOP with Java 通知 Project 4: 4 月 18 日晚 9 点 关于抄袭 没有分数 OOP with Java Yuanbin Wu cs@ecnu OOP with Java 通知 Project 4: 4 月 18 日晚 9 点 关于抄袭 没有分数 复习 类的复用 组合 (composition): has-a 关系 class MyType { public int i; public double d; public char c; public void set(double

More information

エスポラージュ株式会社 住所 : 東京都江東区大島 東急ドエルアルス大島 HP: ******************* * 关于 Java 测试试题 ******

エスポラージュ株式会社 住所 : 東京都江東区大島 東急ドエルアルス大島 HP:  ******************* * 关于 Java 测试试题 ****** ******************* * 关于 Java 测试试题 ******************* 問 1 运行下面的程序, 选出一个正确的运行结果 public class Sample { public static void main(string[] args) { int[] test = { 1, 2, 3, 4, 5 ; for(int i = 1 ; i System.out.print(test[i]);

More information

穨文件1

穨文件1 2-1 Access 2000 Visual Basic Access 2000 97 Office Visual Basic Visual Basic Visual Basic VBA Visual Basic Visual Basic 2-1-1 Visual Basic Access Visual Basic ( ) 2-1 2-1 Visual Basic 2-1 Microsoft Access

More information

Microsoft PowerPoint - 07 派生数据类型

Microsoft PowerPoint - 07 派生数据类型 能源与动力工程学院 目录 派生类型 陈 斌 固有数据类型 数值型 (numerical) 整型 INTEGER 实型 REAL 复数型 COMPLEX 非数值型 字符型 CHARACTER 逻辑型 ( 布尔型 )LOGICAL 自定义数据类型 ( 派生类型, derived type) 派生类型是指用户利用 Fortran 系统内部类型, 如整型 实型 复数型 逻辑型 字符型等的组合自行创建出一个新的数据类型,

More information

Microsoft PowerPoint - OPVB1基本VB.ppt

Microsoft PowerPoint - OPVB1基本VB.ppt 大 綱 0.VB 能 做 什 麼? CH1 VB 基 本 認 識 1.VB 歷 史 與 版 本 2.VB 環 境 簡 介 3. 即 時 運 算 視 窗 1 0.VB 能 做 什 麼? Visual Basic =>VB=> 程 式 設 計 語 言 => 設 計 程 式 設 計 你 想 要 的 功 能 的 程 式 自 動 化 資 料 庫 計 算 模 擬 遊 戲 網 路 監 控 實 驗 輔 助 自 動

More information

TC35短信发送程序设计

TC35短信发送程序设计 http://www.dragonsoft.net.cn/down/project/tc35_sms.rar TC35 AT /down/book/tc35_at.pdf TC35/TC35i GSM Modem TC35 GSM POS COM SIM DOWN COM E, vbcr AT VB6.0 1)C# http://www.yesky.com/softchannel/72342380468109312/20040523/1800310.shtml,

More information

untitled

untitled 說 參 例 邏 邏 1. 說 2. 數 數 3. 8 4. 理念 李 龍老 立 1. 理 料 2. 理 料 3. 數 料 4. 流 邏 念 5. 良 6. 讀 行 行 7. 行 例 來 邏 1. 說 說 識 量 2. 說 理 類 3. 數 數 念 4. 令 5. 良 6. 流 邏 念 7. 說 邏 理 力 1. 2. 3. 4. 5. 列 念 1 參 1. ( Visual Basic 例 ) (1)

More information

2010年3月计算机等级考试四级网络工程师笔试

2010年3月计算机等级考试四级网络工程师笔试 计 算 机 二 级 VB 经 典 预 测 题 下 列 各 题 A) B) C) D) 四 个 选 项 中, 只 有 一 个 选 项 是 正 确 的 请 将 正 确 选 项 填 涂 在 答 题 卡 相 应 位 置 上, 答 在 试 卷 上 不 得 分 (1) 下 列 叙 述 中 正 确 的 是 ( ) A) 循 环 队 列 是 队 列 的 一 种 链 式 存 储 结 构 B) 循 环 队 列 是 队

More information

Microsoft PowerPoint - 4. 数组和字符串Arrays and Strings.ppt [兼容模式]

Microsoft PowerPoint - 4. 数组和字符串Arrays and Strings.ppt [兼容模式] Arrays and Strings 存储同类型的多个元素 Store multi elements of the same type 数组 (array) 存储固定数目的同类型元素 如整型数组存储的是一组整数, 字符数组存储的是一组字符 数组的大小称为数组的尺度 (dimension). 定义格式 : type arrayname[dimension]; 如声明 4 个元素的整型数组 :intarr[4];

More information

OOP with Java 通知 Project 4: 4 月 19 日晚 9 点

OOP with Java 通知 Project 4: 4 月 19 日晚 9 点 OOP with Java Yuanbin Wu cs@ecnu OOP with Java 通知 Project 4: 4 月 19 日晚 9 点 复习 类的复用 组合 (composition): has-a 关系 class MyType { public int i; public double d; public char c; public void set(double x) { d

More information

Visual Basic D 3D

Visual Basic D 3D Visual Basic 2008 2D 3D 6-1 6-1 - 6-2 - 06 6-2 STEP 1 5-2 (1) STEP 2 5-3 (2) - 6-3 - Visual Basic 2008 2D 3D STEP 3 User1 6-4 (3) STEP 4 User1 6-5 (4) - 6-4 - 06 STEP 5 6-6 (5) 6-3 6-3-1 (LoginForm) PictureBox1

More information

<4D F736F F D204A617661B3CCD0F2C9E8BCC6BBF9B4A1A3A8B5DA35B0E6A3A9CAB5D1E9D6B8B5BCD3EBCFB0CCE2BDE2B4F020B5DA33D5C22E646F63>

<4D F736F F D204A617661B3CCD0F2C9E8BCC6BBF9B4A1A3A8B5DA35B0E6A3A9CAB5D1E9D6B8B5BCD3EBCFB0CCE2BDE2B4F020B5DA33D5C22E646F63> 第 3 章 结构语句 本章知识点 : 流程控制语句是用来控制程序中各语句执行顺序的语句, 是程序中基本却又非常关键的部分 流程控制语句可以把单个的语句组合成有意义的 能完成一定功能的小逻辑模块 最主要的流程控制方式是结构化程序设计中规定的顺序结构 分支结构 ( 选择结构 ) 和循环结构三种基本流程结构 本章将指导读者掌握 Java 程序中的流程控制语句, 包括这些语句的语法结构和使用中需注意的要点

More information

Microsoft Word - 小心翼翼的二十一點N.doc

Microsoft Word - 小心翼翼的二十一點N.doc 投 稿 類 別 : 資 訊 類 篇 名 : 小 心 翼 翼 的 二 十 一 點 作 者 : 陳 鈺 文 國 立 瑞 芳 高 級 工 業 職 業 學 校 資 訊 二 李 伯 謙 國 立 瑞 芳 高 級 工 業 職 業 學 校 資 訊 二 胡 家 媛 國 立 瑞 芳 高 級 工 業 職 業 學 校 資 訊 二 指 導 老 師 : 周 曉 玲 老 師 陳 思 亮 主 任 壹 前 言 一 研 究 動 機 平

More information

<4D F736F F D D342DA57CA7DEA447B14D2DA475B57BBB50BADEB27AC3FEB14DA447B8D5C344>

<4D F736F F D D342DA57CA7DEA447B14D2DA475B57BBB50BADEB27AC3FEB14DA447B8D5C344> 1. 請 問 誰 提 出 積 體 電 路 (IC) 上 可 容 納 的 電 晶 體 數 目, 約 每 隔 24 個 月 (1975 年 更 改 為 18 個 月 ) 便 會 增 加 一 倍, 效 能 也 將 提 升 一 倍, 也 揭 示 了 資 訊 科 技 進 步 的 速 度? (A) 英 特 爾 (Intel) 公 司 創 始 人 戈 登. 摩 爾 (Gordon Moore) (B) 微 軟 (Microsoft)

More information

Microsoft PowerPoint - 03.Fortran程序设计基础1

Microsoft PowerPoint - 03.Fortran程序设计基础1 简单 Fortran 90 程序的构造形式 : 第二讲 Fortran 程序设计基础 (2) [PROGRAM 程序名 ] [ 声明语句 ] [ 执行语句 ] END [PROGRAM [ 程序名 ]] 程序的书写 (P5) PROGRAM MONEY!calculate balance after interest compounded! 根据利息计算余额 REAL BALANCE, INTEREST,

More information

实验目的 (1) 熟练掌握顺序 分支 循环三种结构 (2) 会使用流程控制结构编写程序 第三章程序的流程控制 实验要求 (1) 掌握 if-else swith-case 的使用 (2) 掌握 while do-while for 的使用 (3) 掌握分支嵌套和循环嵌套 (4) 分析理解如何避免死循

实验目的 (1) 熟练掌握顺序 分支 循环三种结构 (2) 会使用流程控制结构编写程序 第三章程序的流程控制 实验要求 (1) 掌握 if-else swith-case 的使用 (2) 掌握 while do-while for 的使用 (3) 掌握分支嵌套和循环嵌套 (4) 分析理解如何避免死循 实验目的 (1) 熟练掌握顺序 分支 循环三种结构 (2) 会使用流程控制结构编写程序 第三章程序的流程控制 实验要求 (1) 掌握 if-else swith-case 的使用 (2) 掌握 while do-while for 的使用 (3) 掌握分支嵌套和循环嵌套 (4) 分析理解如何避免死循环 实验范例 系统常用类 : 字符串类 (String) a) 从字符串 s 中截取一个字符串方法 s.substring()

More information

Microsoft Word - 第3章.doc

Microsoft Word - 第3章.doc 第 3 章流程控制和数组 3.1 实验目的 (1) 熟练掌握控制台应用程序的代码编写和调试, 以及运行方法 (2) 掌握选择结构的一般语法格式和应用 (3) 掌握 switch 语句的用法 (4) 掌握选择结构的嵌套的用法, 能灵活使用选择结构解决实际问题 (5) 掌握 while 循环语句的一般语法格式 (6) 掌握 for 循环语句的一般语法格式 (7) 掌握循环嵌套的语法格式 (8) 掌握一维数组的定义

More information

OOP with Java 通知 Project 2 提交时间 : 3 月 14 日晚 9 点 另一名助教 : 王桢 学习使用文本编辑器 学习使用 cmd: Power shell 阅读参考资料

OOP with Java 通知 Project 2 提交时间 : 3 月 14 日晚 9 点 另一名助教 : 王桢   学习使用文本编辑器 学习使用 cmd: Power shell 阅读参考资料 OOP with Java Yuanbin Wu cs@ecnu OOP with Java 通知 Project 2 提交时间 : 3 月 14 日晚 9 点 另一名助教 : 王桢 Email: 51141201063@ecnu.cn 学习使用文本编辑器 学习使用 cmd: Power shell 阅读参考资料 OOP with Java Java 类型 引用 不可变类型 对象存储位置 作用域 OOP

More information

C++ 程序设计 告别 OJ2 - 参考答案 MASTER 2019 年 5 月 3 日 1

C++ 程序设计 告别 OJ2 - 参考答案 MASTER 2019 年 5 月 3 日 1 C++ 程序设计 告别 OJ2 - 参考答案 MASTER 2019 年 5 月 3 日 1 1 TEMPLATE 1 Template 描述 使用模板函数求最大值 使用如下 main 函数对程序进行测试 int main() { double a, b; cin >> a >> b; cout c >> d; cout

More information

没有幻灯片标题

没有幻灯片标题 指针作为函数参数 : 原因 : 1 需要修改一个或多个值,( 用 return 语句不能解决问题 ) 2 执行效率的角度 使用方法 : 在函数原型以及函数首部中需要声明能够接受指针值的形参, 具体的写法为 : 数据类型 * 形参名 如果有多个指针型形参, 则用逗号分隔, 例如 : void swap(int *p1, int *p2) 它说明了形参 p1 p2 是指向整型变量的指针 在函数调用时,

More information

帝国CMS下在PHP文件中调用数据库类执行SQL语句实例

帝国CMS下在PHP文件中调用数据库类执行SQL语句实例 帝国 CMS 下在 PHP 文件中调用数据库类执行 SQL 语句实例 这篇文章主要介绍了帝国 CMS 下在 PHP 文件中调用数据库类执行 SQL 语句实例, 本文还详细介绍了帝国 CMS 数据库类中的一些常用方法, 需要的朋友可以参考下 例 1: 连接 MYSQL 数据库例子 (a.php)

More information

VB程序设计教程

VB程序设计教程 高 等 学 校 教 材 Visual Basic 程 序 设 计 教 程 魏 东 平 郑 立 垠 梁 玉 环 石 油 大 学 出 版 社 内 容 提 要 本 书 是 按 高 等 学 校 计 算 机 程 序 设 计 课 程 教 学 大 纲 编 写 的 大 学 教 材, 主 要 包 括 VB 基 础 知 识 常 用 程 序 结 构 和 算 法 Windows 用 户 界 面 设 计 基 础 文 件 处

More information

《C语言程序设计》第2版教材习题参考答案

《C语言程序设计》第2版教材习题参考答案 教材 C 语言程序设计 ( 第 2 版 ) 清华大学出版社, 黄保和, 江弋编著 2011 年 10 月第二版 ISBN:978-7-302-26972-4 售价 :35 元 答案版本 本习题答案为 2012 年 2 月修订版本 一 选择题 1. 设已定义 int a, * p, 下列赋值表达式中正确的是 :C)p = &a A. *p = *a B. p = *a C.p = &a D. *p =

More information

《C语言程序设计》教材习题参考答案

《C语言程序设计》教材习题参考答案 教材名称 : C 语言程序设计 ( 第 1 版 ) 黄保和 江弋编著清华大学出版社 ISBN:978-7-302-13599-9, 红色封面 答案制作时间 :2011 年 2 月 -5 月 一 选择题 1. 设已定义 int a, * p, 下列赋值表达式中正确的是 :C)p=&a 2. 设已定义 int x,*p=&x;, 则下列表达式中错误的是 :B)&*x 3. 若已定义 int a=1,*b=&a;,

More information

Generated by Unregistered Batch DOC TO PDF Converter , please register! 浙江大学 C 程序设计及实验 试题卷 学年春季学期考试时间 : 2003 年 6 月 20 日上午 8:3

Generated by Unregistered Batch DOC TO PDF Converter , please register! 浙江大学 C 程序设计及实验 试题卷 学年春季学期考试时间 : 2003 年 6 月 20 日上午 8:3 浙江大学 C 程序设计及实验 试题卷 2002-2003 学年春季学期考试时间 : 2003 年 6 月 20 日上午 8:30-10:30 注意 : 答题内容必须写在答题卷上, 写在本试题卷上无效 一. 单项选择题 ( 每题 1 分, 共 10 分 ) 1. 下列运算符中, 优先级最低的是 A.

More information

试卷代号 : 座位号 OJ 中央广播电视大学 学年度第一学期 " 开放专科 " 期末考试 Visual Basic 程序设计试题 题号 一 二 三 四 五 总分 分数 I I I I I I I 2011 年 1 月 得分 评卷人 I I I 题 { 每小题

试卷代号 : 座位号 OJ 中央广播电视大学 学年度第一学期  开放专科  期末考试 Visual Basic 程序设计试题 题号 一 二 三 四 五 总分 分数 I I I I I I I 2011 年 1 月 得分 评卷人 I I I 题 { 每小题 试卷代号 : 2 2 3 1 座位号 OJ 中央广播电视大学 2 0 1 0-2011 学年度第一学期 " 开放专科 " 期末考试 Visual Basic 程序设计试题 题号 一 二 三 四 五 总分 分数 I 2011 年 1 月 题 { 每小题 2 分, 共 3 0 分 } 1. 对于定时器 ( Tim 盯 控件, 设置其定时是否开启的属性是 ( ) A. Index B. Tag c. Enabled

More information

《计算概论》课程 第十九讲 C 程序设计语言应用

《计算概论》课程 第十九讲  C 程序设计语言应用 计算概论 A 程序设计部分 字符数组与字符串 李戈 北京大学信息科学技术学院软件研究所 lige@sei.pku.edu.cn 字符数组的定义 #include int main() char a[10] = 'a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'i', 'j' ; for (int i = 0; i < 10; i++) cout

More information

运算符重载 为什么要 运算符重载 那些运算符可以重载, 哪些不可以 如何实现运算符重载 实现方式 : 成员函数与非成员函数 类型转换 怎样实现对象与基本数据类型数据的运算 2

运算符重载 为什么要 运算符重载 那些运算符可以重载, 哪些不可以 如何实现运算符重载 实现方式 : 成员函数与非成员函数 类型转换 怎样实现对象与基本数据类型数据的运算 2 第十一讲 运算符重载 与类型转换 运算符重载 为什么要 运算符重载 那些运算符可以重载, 哪些不可以 如何实现运算符重载 实现方式 : 成员函数与非成员函数 类型转换 怎样实现对象与基本数据类型数据的运算 2 为什么要运算符重载 预定义的运算符只针对基本数据类型, 若要对类的对象进行类似的运算, 需要重新定义运算符的功能 运算符重载实质就是函数重载 : 对已有的运算符赋予多重含义, 使得同一个运算符作用于不同类型的数据时导致不同的行为

More information

Microsoft Word - VB全文.doc

Microsoft Word - VB全文.doc 实验 5 顺序结构 一 实验目的 1. 熟悉常用的输入和输出的方法 2. 掌握 InputBox 函数和 MsgBox 函数的用法 3. 掌握编写顺序结构程序的一般步骤 二 实验内容 1. 设计一个计算圆面积的程序 要求 : 利用 InputBox 函数输入圆的半径, 利用 MsgBox 显示最后的计算结果 2. 设计一个简单的水果商店结算程序 要求 : 利用文本框输入香蕉 梨子 苹果三类水果的单价和重量,

More information

2015年计算机二级(C语言)模拟试题及答案(三)

2015年计算机二级(C语言)模拟试题及答案(三) 2016 年计算机二级 (C 语言 ) 模拟试题及答案 (3) 1.( A ) 是构成 C 语言程序的基本单位 A 函数 B 过程 C 子程序 D 子例程 2.C 语言程序从 ( C ) 开始执行 A 程序中第一条可执行语句 B 程序中第一个函数 C 程序中的 main 函数 D 包含文件中的第一个函数 3 以下说法中正确的是( C ) A C 语言程序总是从第一个定义的函数开始执行 B 在 C 语言程序中,

More information

chap07.key

chap07.key #include void two(); void three(); int main() printf("i'm in main.\n"); two(); return 0; void two() printf("i'm in two.\n"); three(); void three() printf("i'm in three.\n"); void, int 标识符逗号分隔,

More information

untitled

untitled Visual Basic 2005 (VB.net 2.0) hana@arbor.ee.ntu.edu.tw 立 六 數 串 數數 數 數 串 數 串 數 Len( 串 ) 串 度 Len( 123 )=3 LCase( 串 ) 串 LCase( AnB123 ) anb123 UCase( 串 ) 串 UCase( AnB123 ) ANB123 串 數 InStr([ ], 串 1, 串 2[,

More information

Microsoft PowerPoint - 3. 函数Functionl.ppt [兼容模式]

Microsoft PowerPoint - 3. 函数Functionl.ppt [兼容模式] 函数 Function 如何重用代码 How to reuse code 3 4 = 3*3*3*3 3 4,6 5 : 拷贝 - 粘帖代码 (Copy-paste code) 3 4,6 5,12 10 : 拷贝 - 粘帖代码 (Copy-paste code) Bad! 使用函数 (with a function) 使用函数 (with a function) 使用函数 (with a function)

More information

Guava学习之Resources

Guava学习之Resources Resources 提供提供操作 classpath 路径下所有资源的方法 除非另有说明, 否则类中所有方法的参数都不能为 null 虽然有些方法的参数是 URL 类型的, 但是这些方法实现通常不是以 HTTP 完成的 ; 同时这些资源也非 classpath 路径下的 下面两个函数都是根据资源的名称得到其绝对路径, 从函数里面可以看出,Resources 类中的 getresource 函数都是基于

More information

Microsoft PowerPoint - 01_Introduction.ppt

Microsoft PowerPoint - 01_Introduction.ppt Hello, World C 程序设计语言 第 1 章章观其大略 孙志岗 sun@hit.edu.cn http://sunner.cn prf("hello,, world\n"); 超级无敌考考你 : 如何把 hello 和 world 分别打印在两行? 2004-12-19 A Tutorial Introduction 2 hello.c 打印华氏温度与摄氏温度对照表 计算公式 : C=(5/9)(

More information

TwinCAT 1. TwinCAT TwinCAT PLC PLC IEC TwinCAT TwinCAT Masc

TwinCAT 1. TwinCAT TwinCAT PLC PLC IEC TwinCAT TwinCAT Masc TwinCAT 2001.12.11 TwinCAT 1. TwinCAT... 3 2.... 4... 4...11 3. TwinCAT PLC... 13... 13 PLC IEC 61131-3... 14 4. TwinCAT... 17... 17 5. TwinCAT... 18... 18 6.... 19 Maschine.pro... 19... 27 7.... 31...

More information

Microsoft Word - Vcj05.doc

Microsoft Word - Vcj05.doc 第 5 章选择结构程序设计 在日常生活和工作中, 经常会遇到各种各样的选择, 根据选择的不同, 会得到不同的结果 在程序设计中, 也经常会根据不同的情况执行不同的操作, 这与现实生活中的选择非常类似 但程序设计中的选择结构根据条件只能选择一个分支执行, 即无论分支多寡, 必择其一 ; 纵然分支众多, 仅选其一 本章主要介绍实现选择结构程序设计方面的知识, 包括 If 语句 Select Case 语句

More information

Microsoft PowerPoint - 5. 指针Pointers.ppt [兼容模式]

Microsoft PowerPoint - 5. 指针Pointers.ppt [兼容模式] 指针 Pointers 变量指针与指针变量 Pointer of a variable 变量与内存 (Variables and Memory) 当你声明一个变量时, 计算机将给该变量一个内存, 可以存储变量的值 当你使用变量时, 计算机将做两步操作 : - 根据变量名查找其对应的地址 ; - 通过地址对该地址的变量内容进行读 (retrieve) 或写 (set) 变量的地址称为变量的指针! C++

More information

Microsoft Word - 正文.doc

Microsoft Word - 正文.doc 第 2 章 Java 语言基础 通过本章的实践, 要掌握 Java 中的标识符 关键字 常量, 熟练掌握算术 关 系 逻辑 条件 赋值 位运算符的使用, 掌握简单顺序结构的程序设计 2.1 典型习题解答 2.1 Java 中怎样进行注释? 解答 Java 语言中的注释有 3 种形式 : (1) 单行 : // (2) 多行 : /* */ (3) 文档注释 : /** */ 第三种形式是第二种形式的变形,

More information

Microsoft Word Visual_Basic程序设计上机实践教程正文.doc

Microsoft Word Visual_Basic程序设计上机实践教程正文.doc 实验 3 顺序和分支结构程序设计 实验目的 1. 掌握顺序结构的程序设计思想 2. 掌握命令按钮 (CommandButton) 标签 (Label) 文本框 (TextBox) 编辑框 (EditBox) 等常用控件的使用方法 3. 了解并掌握对话框函数 MessageBox() 的含义与用法 4. 了解和熟悉线条控件 形状控件的画法以及主要属性的用法 实验内容 1. 顺序结构 实训 3-1 编写一应用程序,

More information

Excel VBA Excel Visual Basic for Application

Excel VBA  Excel Visual Basic for Application Excel VBA Jun5,00 Sub 分頁 () Dim i As Integer Dim Cname As String Dim Code As Variant Set score=thisworkbook.sheets("sheet") Code=Array(" 專北一 "," 專北二 "," 專北三 "," 專桃園 "," 專桃竹 "," 專中苗 ", " 專台中 "," 專台南 ","

More information

Microsoft Word - 第3章.doc

Microsoft Word - 第3章.doc CHAPTER 3 第章 Visual Basic 语言基本结构 Visual Basic 支持结构化的程序设计方法, 由结构组成程序, 通过各种算法,VB 程序可以解决不同的具体问题 3.1 基本控制结构 VB 是结构化的程序设计语言 结构化设计方法的特点是程序结构清晰, 易读性强, 也易于查错和排错 结构化程序有 3 种基本控制结构 : 顺序结构 分支结构和循环结构 这 3 种基本结构都具有单入口

More information

"Hi" "Visual Basic 6.0" ""( 空字符串 ) 3. 货币 (Currency) 第 3 章数据类型及其运算 35 货币数据类型是为计算货币而设置的数据类型 在内存中用 8 个字节 (64 位 ) 存储, 精 确到小数点后 4 位 ( 小数点前 15 位 ), 在小数点后第 4

Hi Visual Basic 6.0 ( 空字符串 ) 3. 货币 (Currency) 第 3 章数据类型及其运算 35 货币数据类型是为计算货币而设置的数据类型 在内存中用 8 个字节 (64 位 ) 存储, 精 确到小数点后 4 位 ( 小数点前 15 位 ), 在小数点后第 4 第 3 章数据类型及其运算 本章主要介绍构成 Visual Basic 应用程序的基本元素, 包括数据类型 常量 变量 内部 函数 运算符和表达式等 3.1 数据类型 在各种程序设计语言中, 数据类型的规定和处理方法是各不相同的 VB 不但提供了丰富的标准数据类型, 还可以有用户自定义所需的数据类型 基本数据类型主要有数值型和字符串型, 此外还提供了字节 货币 对象 日期 布尔和变体数据类型 基本数据类型

More information

2009年3月二级VB语言笔试真题

2009年3月二级VB语言笔试真题 2008 年 9 月 计 算 机 二 级 VB 语 言 真 题 一 选 择 题 ( 每 题 2 分, 共 计 70 分 ) 1. 一 个 栈 的 初 始 状 态 为 空 现 将 元 素 1 2 3 4 5 A B C D E 依 次 入 栈, 然 后 再 依 次 出 栈, 则 元 素 出 栈 的 顺 序 是 A)12345ABCDE B)EDCBA54321 C)ABCDE12345 D)54321EDCBA

More information

第一章 引言

第一章  引言 第四章 循环结构 上机问题 程序书写风格 缩入 : 例如, 统一缩入四个空格 复合语句中 {} 的对齐 适当的空行 变量名命名 变量名使用 2 上机问题 关系运算符 == 与赋值运算符 = n == 0 与 n = 0 的区别? 逻辑运算符 :&& 与 的区别? && : 两个条件均为真, 结果为真 : 有一个条件为真, 结果为真 for 语句 if-else 语句的逻辑错误 3 上机问题 scanf

More information

<4D F736F F F696E74202D BDE1B9B9BBAFB3CCD0F2C9E8BCC D20D1A1D4F1>

<4D F736F F F696E74202D BDE1B9B9BBAFB3CCD0F2C9E8BCC D20D1A1D4F1> 能源与动力工程学院 结构化编程 结构化程序设计 选择 结构化编程的三种基本结构 : 顺序结构 I=1 选择 ( 分支 ) 结构 循环结构 sum=sum+i I = I +1 陈 斌 A?=B NO I>100 No YES Yes 目录 第一节逻辑运算 第一节逻辑运算 第二节 I 语句 逻辑运算 算术运算 关系运算 逻辑运算 关系运算符 运算优先级 第三节浮点数及字符的逻辑运算 90 77 功能

More information

CHAPTER VC#

CHAPTER VC# 1. 2. 3. 4. CHAPTER 2-1 2-2 2-3 2-4 VC# 2-5 2-6 2-7 2-8 Visual C# 2008 2-1 Visual C# 0~100 (-32768~+32767) 2 4 VC# (Overflow) 2-1 2-2 2-1 2-1.1 2-1 1 10 10!(1 10) 2-3 Visual C# 2008 10! 32767 short( )

More information

Microsoft Word - 新1-16最新.doc

Microsoft Word - 新1-16最新.doc 项目 5 制作 36 选 7 摇奖机 本项目是制作一个 36 选 7 的摇奖机, 包括摇出 6 个正选号码和 1 个特选号码, 要具有没有重复号码 ; 可以多次摇奖等功能 利用控件数组来设计摇奖机界面, 产生随机数, 通过循环控制语句和分支控制语句产生满足要求的摇奖号码, 并把产生的摇奖号码显示在界面上 通过本项目, 应掌握循环结构 随机数以及控件数组的使用方法和技巧 1.Label 控件 属性 事件

More information

JAVA 单元 2.1 四则运算机 ( 一 ) 单元教学进度设计 教学环节 教学内容 教师学生活动活动 反馈 反馈课前作业完成情况 反馈加分 1. 下面哪些是合法的变量名? ( ) A.2variable 答案 :DEG B..variable2 解答 : C.._whatavariable A:/

JAVA 单元 2.1 四则运算机 ( 一 ) 单元教学进度设计 教学环节 教学内容 教师学生活动活动 反馈 反馈课前作业完成情况 反馈加分 1. 下面哪些是合法的变量名? ( ) A.2variable 答案 :DEG B..variable2 解答 : C.._whatavariable A:/ 单元 2.1 四则运算机 ( 一 ) 单元教学进度设计 教学环节 教学内容 教师学生活动活动 反馈 反馈课前作业完成情况 反馈加分 1. 下面哪些是合法的变量名? ( ) A.2variable 答案 :DEG B..variable2 解答 : C.._whatavariable A:// 不能以数字开头 D._3_ B:// 不能用点和空格 提问 抢答 E.$anothervar C: // 不能用点和空格

More information

试卷代号 ~1075 座位号 E 口 国家开放大学 ( 中央广播电视大学 )20]5 年秋季学期 " 开放本科 " 期末考试 C 十十语言程序设计 试题 同二二十斗 2016 年 1 月 巴叫一 1. 下面的保留字 ( ) 不能作为函数的返回类型 A. void B. int C. new D. l

试卷代号 ~1075 座位号 E 口 国家开放大学 ( 中央广播电视大学 )20]5 年秋季学期  开放本科  期末考试 C 十十语言程序设计 试题 同二二十斗 2016 年 1 月 巴叫一 1. 下面的保留字 ( ) 不能作为函数的返回类型 A. void B. int C. new D. l 试卷代号 ~1075 座位号 E 口 国家开放大学 ( 中央广播电视大学 )20]5 年秋季学期 " 开放本科 " 期末考试 C 十十语言程序设计 试题 同二二十斗 2016 年 1 月 巴叫一 1. 下面的保留字 ( ) 不能作为函数的返回类型 A. void B. int C. new D. long 2. 在每个 c++ 程序中都必须包含有这样一个函数, 该函数的函数名为 ( ) A. main

More information

第二部分动态网站开发语言 第 3 课动态网页脚本语言 VBScript 本课导读 VBScript 是由微软公司推出的, 其语法是由 Visual Basic(VB) 演化来的, 可以看作是 VB 语言的简化版, 与 VB 的关系也非常密切 它具有原语言容易学习的特性 目前这种语言广泛应用于网页和

第二部分动态网站开发语言 第 3 课动态网页脚本语言 VBScript 本课导读 VBScript 是由微软公司推出的, 其语法是由 Visual Basic(VB) 演化来的, 可以看作是 VB 语言的简化版, 与 VB 的关系也非常密切 它具有原语言容易学习的特性 目前这种语言广泛应用于网页和 第二部分动态网站开发语言 第 3 课动态网页脚本语言 VBScript 本课导读 VBScript 是由微软公司推出的, 其语法是由 Visual Basic(VB) 演化来的, 可以看作是 VB 语言的简化版, 与 VB 的关系也非常密切 它具有原语言容易学习的特性 目前这种语言广泛应用于网页和 ASP 程序制作, 同时还可以直接作为一个可执行程序, 用于调试简单的 VB 语句非常方便 技术要点

More information

试卷代号 :1075 座位号 rn 国家开放大学 ( 中央广播电视大学 )2015 年秋季学期 " 开放本科 " 期末考试 c+ 十语言程序设计试题 2016 年 1 月 t 问一 Urr-f 斗 士 1 1. 下面的保留字 ( ) 不能作为函数的返回类型 A. void B. int C. new

试卷代号 :1075 座位号 rn 国家开放大学 ( 中央广播电视大学 )2015 年秋季学期  开放本科  期末考试 c+ 十语言程序设计试题 2016 年 1 月 t 问一 Urr-f 斗 士 1 1. 下面的保留字 ( ) 不能作为函数的返回类型 A. void B. int C. new 试卷代号 :1075 座位号 rn 国家开放大学 ( 中央广播电视大学 )2015 年秋季学期 " 开放本科 " 期末考试 c+ 十语言程序设计试题 2016 年 1 月 t 问一 Urr-f 斗 士 1 1. 下面的保留字 ( ) 不能作为函数的返回类型 A. void B. int C. new D. long 2. 在每个 C 十 + 程序中都必须包含有这样一个函数, 该函数的函数名为 ) A.main

More information

第 3 章选择结构 q q q Python 中表示条件的方法 if 语句 选择结构程序设计方法

第 3 章选择结构 q q q Python 中表示条件的方法 if 语句 选择结构程序设计方法 第 3 章选择结构 q q q Python 中表示条件的方法 if 语句 选择结构程序设计方法 3.1 条件的描述 3.1.1 关系运算 Python 的关系运算符有 : =( 大于等于 ) ==( 等于 )!=( 不等于 ) 关系运算符用于两个量的比较判断 由关系运算符将两个表达式连接起来的式子就称为关系表达式, 它用来表示条件, 其一般格式为

More information

PowerPoint 演示文稿

PowerPoint 演示文稿 The BitCoin Scripting Language 交易实例 交易结构 "result": { "txid": "921a dd24", "hash": "921a dd24", "version": 1, "size": 226, "locktime": 0, "vin": [ ], "vout": [ ], "blockhash": "0000000000000000002c510d

More information

OOP with Java 通知 Project 4: 5 月 2 日晚 9 点

OOP with Java 通知 Project 4: 5 月 2 日晚 9 点 OOP with Java Yuanbin Wu cs@ecnu OOP with Java 通知 Project 4: 5 月 2 日晚 9 点 复习 类的复用 组合 (composition): has-a 关系 class MyType { public int i; public double d; public char c; public void set(double x) { d =

More information

网C试题(08上).doc

网C试题(08上).doc 学习中心 姓名 学号 西安电子科技大学网络与继续教育学院 高级语言程序设计 (C) 全真试题 ( 闭卷 90 分钟 ) 题号一二三总分 题分 60 20 20 得分 一 单项选择题 ( 每小题 3 分, 共 60 分 ) 1.C 语言程序的基本单位是 A) 程序行 B) 语句 C) 函数 D) 字符 2. 下列四组选项中, 均是不合法的用户标识符的选项是 A)A B)getc C)include D)while

More information

OOP with Java 通知 : Project 2 提交时间 : 3 月 14 日晚 9 点 另一名助教 : 王桢

OOP with Java 通知 : Project 2 提交时间 : 3 月 14 日晚 9 点 另一名助教 : 王桢 OOP with Java Yuanbin Wu cs@ecnu OOP with Java 通知 : Project 2 提交时间 : 3 月 14 日晚 9 点 另一名助教 : 王桢 Email: 51141201063@ecnu.cn 复习 : Java 类型 基本类型 boolean, char, 封装 (wrappers) 类 (class) 定义 class MyType { int i;

More information

OOP with Java 通知 : Project 2 提交时间 : 3 月 15 日晚 9 点

OOP with Java 通知 : Project 2 提交时间 : 3 月 15 日晚 9 点 OOP with Java Yuanbin Wu cs@ecnu OOP with Java 通知 : Project 2 提交时间 : 3 月 15 日晚 9 点 复习 : Java 类型 基本类型 boolean, char, 封装 (wrappers) 类 (class) 定义 class MyType { int i; double d; 数据 (Fields) char c; void set(double

More information

2

2 1 2 1-1 Visual Basic 3 1-2 3/8-3/21 3/22-4/4 4/5-4/18 4/19-5/2 5/3-5/16 5/17-5/30 5/31-6/13 6/14-6/27 6/28-7/11 7/12-7/25 7/26-8/8 8/9-8/22 8/25-9/5 9/6-9/19 9/20-10/3 10/4-10/17 10/18-10/31 11/15-11/28

More information

05 CHAPTER Information.IsNumeric ( ) Information.IsDate ( ) True False Date Date True False Y Y Information.IsArray ( ) True False Y Information.IsErr

05 CHAPTER Information.IsNumeric ( ) Information.IsDate ( ) True False Date Date True False Y Y Information.IsArray ( ) True False Y Information.IsErr 05 CHAPTER Information.IsNumeric () Information.IsDate () True False Date DateTrue False Y Y Information.IsArray () True False Y Information.IsError () Information.IsNothing () True False True False Y

More information

Microsoft Word - 第5章.doc

Microsoft Word - 第5章.doc 过程和函数就是在程序中可以被重复使用的代码 当应用程序比较复杂时, 开发人员可能需要在程序中多处使用相同的代码 在 Visual Basic 应用程序开发中, 重要任务之一就是创建可重复使用的代码 通过学习本章, 读者可以熟练掌握过程和函数的定义及使用方法 5.1 过程 过程就是在应用程序可以被多次重复使用的代码段 使用过程具有以下优点 : 复杂任务分解成多个简单代码段 ; 易于读写, 具有较强的可读性和可维护性

More information

SDK 概要 使用 Maven 的用户可以从 Maven 库中搜索 "odps-sdk" 获取不同版本的 Java SDK: 包名 odps-sdk-core odps-sdk-commons odps-sdk-udf odps-sdk-mapred odps-sdk-graph 描述 ODPS 基

SDK 概要 使用 Maven 的用户可以从 Maven 库中搜索 odps-sdk 获取不同版本的 Java SDK: 包名 odps-sdk-core odps-sdk-commons odps-sdk-udf odps-sdk-mapred odps-sdk-graph 描述 ODPS 基 开放数据处理服务 ODPS SDK SDK 概要 使用 Maven 的用户可以从 Maven 库中搜索 "odps-sdk" 获取不同版本的 Java SDK: 包名 odps-sdk-core odps-sdk-commons odps-sdk-udf odps-sdk-mapred odps-sdk-graph 描述 ODPS 基础功能的主体接口, 搜索关键词 "odpssdk-core" 一些

More information

第一章三角函数 1.3 三角函数的诱导公式 A 组 ( ) 一 选择题 : 共 6 小题 1 ( 易诱导公式 ) 若 A B C 分别为 ABC 的内角, 则下列关系中正确的是 A. sin( A B) sin C C. tan( A B) tan C 2 ( 中诱导公式 ) ( ) B. cos(

第一章三角函数 1.3 三角函数的诱导公式 A 组 ( ) 一 选择题 : 共 6 小题 1 ( 易诱导公式 ) 若 A B C 分别为 ABC 的内角, 则下列关系中正确的是 A. sin( A B) sin C C. tan( A B) tan C 2 ( 中诱导公式 ) ( ) B. cos( 第一章三角函数 1. 三角函数的诱导公式 A 组 一 选择题 : 共 6 小题 1 ( 易诱导公式 ) 若 A B C 分别为 ABC 的内角 则下列关系中正确的是 A. sin( A B) sin C C. tan( A B) tan C ( 中诱导公式 ) B. cos( B C) cos A D. sin( B C) sin A sin60 cos( ) sin( 0 )cos( 70 ) 的值等于

More information

C++ 程序设计 OJ1 - 参考答案 MASTER 2019 年 5 月 3 日 1

C++ 程序设计 OJ1 - 参考答案 MASTER 2019 年 5 月 3 日 1 C++ 程序设计 OJ1 - 参考答案 MASTER 2019 年 5 月 3 日 1 1 CIRCLE 1 Circle 描述 编写一个圆类 Circle, 实现半径的输入 面积的计算和输出 输入 圆的半径 (double 类型 ) 输出 圆的面积 ( 保留小数点后两位 ) 样例输入 3 样例输出 28.27 提示 圆周率的取值需要比较精确, 以保证计算结果的精度 #include

More information

chp3

chp3 Java 软件设计基础 3. 流程控制 3.1 语句控制结构 语句类型 变量声明语句 用来声明变量, 格式为 : 表达式语句 在一个表达式的最后加上一个分号构成的语句, 分号是语句不可缺少的部分, 格式为 : 变量 = 表达式 ; 复合语句 [ 修饰符 ] 类型名变量名 1[, 变量名 2][, ]; [ 修饰符 ] 类型名变量名 1[= 初值 1][, 变量名 2][= 初值 2][, ]; 将相关语句组合在一起就构成复合语句,

More information

27 :OPC 45 [4] (Automation Interface Standard), (Costom Interface Standard), OPC 2,,, VB Delphi OPC, OPC C++, OPC OPC OPC, [1] 1 OPC 1.1 OPC OPC(OLE f

27 :OPC 45 [4] (Automation Interface Standard), (Costom Interface Standard), OPC 2,,, VB Delphi OPC, OPC C++, OPC OPC OPC, [1] 1 OPC 1.1 OPC OPC(OLE f 27 1 Vol.27 No.1 CEMENTED CARBIDE 2010 2 Feb.2010!"!!!!"!!!!"!" doi:10.3969/j.issn.1003-7292.2010.01.011 OPC 1 1 2 1 (1., 412008; 2., 518052), OPC, WinCC VB,,, OPC ; ;VB ;WinCC Application of OPC Technology

More information

ExcelUtility 类库使用说明 ( 续 ) 开发 / 设计 : 左文俊 第一个新增功能, 列宽自适应, 当超过 30 个字符则将单元格内容设为换行 任意一个无模板的导出方法均支持该功能, 示例代码如下 : /// <summary> /// 测试方法

ExcelUtility 类库使用说明 ( 续 ) 开发 / 设计 : 左文俊 第一个新增功能, 列宽自适应, 当超过 30 个字符则将单元格内容设为换行 任意一个无模板的导出方法均支持该功能, 示例代码如下 : /// <summary> /// 测试方法 ExcelUtility 类库使用说明 ( 续 ) 开发 / 设计 : 左文俊 第一个新增功能, 列宽自适应, 当超过 0 个字符则将单元格内容设为换行 任意一个无模板的导出方法均支持该功能, 示例代码如下 : 0 /// 测试方法 : 测试将 DataTable 导出到 EXCEL, 无模板 public void TestExportToExcelByDataTable() string excelpath

More information

第3章 Java语言基础

第3章 Java语言基础 第 3 章 Java 语言基础 第 1/55 页 习题 3 3. 8. 9. 13. 18. 实验 : 1. 实验 4( 实 P11~12) 2. 实验任务 : 1 例 3.1( 教 P30) 2 变量赋值 ( 教 P29) 3 编写两个缓冲区对应同一个输入流对象, 并键盘输入整型 a 和双精度 b, 求和 第 2/55 页 习题 3 3. 实验任务 : 1 实验 5( 实 P12~13) 2 实验

More information

没有幻灯片标题

没有幻灯片标题 第 2 章 C 语言的基本数据类型与表达 式 2. 1 C 语言的语法基础 2. 2 C 语言的基本数据类型 2. 3 常量和变量 2. 4 运算符与表达式 2. 5 数据类型转换 用 第 2 章 C 语言的基本数据类型与表达 2.1 C 语言的语法基础 2. 1. 1 C 语言字符集 式 C 语言的基本符号可分 4 个类, 归纳如下 : (1) 英文字母 : 大小写各 26 个, 共计 52 个

More information

PowerPoint 演示文稿

PowerPoint 演示文稿 按钮对象 (button) 当 JavaScript 读到 标记中的 type 属性值为 button 时, 自动建立一个按钮对象, 并将该对象放到表单对象的 elements 数组当中 按钮对象包括 : 普通按钮 (button) 提交按钮 (submit) 重置按钮 (reset) 1. 使用按钮对象的格式 document.forms[ 索引值 ].elements[ 索引值

More information

Microsoft Word - 第3章.doc

Microsoft Word - 第3章.doc 第 3 章 流程控制语句的应用 语句是程序中最小的程序指令, 即程序完成一次完整正操的基本单位 在 C# 中, 可以使用多种类型的语句, 每一种类型的语句又可以通过多个关键字实现 通过这些语句可以控制程序代码的逻辑, 提高程序的灵活性, 从而实现比较复杂的程序逻辑 本章主要内容 : 选择语句的应用 迭代语句的应用 跳转语句的应用 3.1 选择语句的应用 选择语句也叫作分支语句, 选择语句根据某个条件是否成立来控制程序的执行流程

More information

Microsoft Word - CX1000-HMI_程序开发_PLC通讯

Microsoft Word - CX1000-HMI_程序开发_PLC通讯 用 VB.Net 开发 CX1000 的 HMI 第二部分和 TwinCAT PLC 通讯 一 TwinCAT 动态库 TwinCAT.Ads.dll The TwinCAT.Ads.dll 是一个.NET 类库, 它提供和 ADS 设备通讯的类 如果 TwinCAT PLC 运行在 IPC 上, 则需要添加的类库是路径 \TwinCAT\ADS Api\.NET\v1.1.4322 下的 TwinCAT.Ads.dll

More information

第五讲 数组 一维数组 二维数组 数组作为函数参数

第五讲 数组 一维数组 二维数组 数组作为函数参数 第五讲 数组 一维数组 二维数组 数组作为函数参数 一维数组 2 数组 数组 : 具有一定顺序关系的若干相同类型变量的集合体 一维数组的声明 类型标识符变量名 [n] 声明一个长度为 n 的数组 ( 向量 ) 类型标识符 : 数组元素的数据类型 ; n: 数组的长度, 即元素的个数 ; 例 : int x[5] // 声明一个长度为 5 的一维数组 一维数组的引用 变量名 [k] // 注 : 下标

More information

<4D F736F F D DA5BFA6A1C476C1C92DBEC7ACECB8D5A8F728B57BB35D292E646F63>

<4D F736F F D DA5BFA6A1C476C1C92DBEC7ACECB8D5A8F728B57BB35D292E646F63> 全國高級中等學校 106 學年度商業類科學生技藝競賽 程式設計 職種 學科 試卷 選手證號碼 ( 崗位編號 ): 姓名 : 注意事項 : 請將答案劃記於答案卡, 未依規定劃記者不予計分 試題說明 :( 選擇題共 25 題每題 4 分, 答錯不倒扣, 共 100 分 ) ( )1. 執行以下 Visual Basic 程式片段, 其結果為何?(A) 15 (B) 12 (C) 7 (D) 3 Dim

More information

除 :/ 余 :mod, (3) 关系运算 : 小于 :< 小于等于 :<= 大于 :> 大于等于 : >= 等于 : == 不等于 : <> (4) 逻辑运算 : 逻辑于 :And 逻辑或 :Or 逻辑 Xor 逻辑非 :Not (5) 位运算 : (a) 移位运算左移 : << 右移 : >>

除 :/ 余 :mod, (3) 关系运算 : 小于 :< 小于等于 :<= 大于 :> 大于等于 : >= 等于 : == 不等于 : <> (4) 逻辑运算 : 逻辑于 :And 逻辑或 :Or 逻辑 Xor 逻辑非 :Not (5) 位运算 : (a) 移位运算左移 : << 右移 : >> EasyBuilder 500 Macro 使用说明一 : 文档说明 作者 : 程志刚时间 : 2003 年 1 月版权所有 : 台湾威纶科技有限公司概要 : 此文档为宏指令功能模块的使用文档, 说明宏语言的语法, 宏语言的使用, 宏指令源程序编写的操作方法与操作顺序, 使用文档包含以下几个部分 : 宏语言文本说明 : 宏语言使用说明宏指令程序与 PLC 的通信 ( 包括本地地址 LocalBit,LocalWord):

More information

领导,我不想写CSS代码.key

领导,我不想写CSS代码.key 领导 我不想写 CSS 张鑫旭 25MIN 2018-03-31 YUEWEN USER EXPERIENCE DESIGN 01 1 YUEWEN USER EXPERIENCE DESIGN 砖家 02 CSS - 艺术家 YUEWEN USER EXPERIENCE DESIGN 03 CSS - 砖家 艺术家 YUEWEN USER EXPERIENCE DESIGN 04 领导, 我不想写

More information

untitled

untitled 1 Outline 數 料 數 數 列 亂數 練 數 數 數 來 數 數 來 數 料 利 料 來 數 A-Z a-z _ () 不 數 0-9 數 不 數 SCHOOL School school 數 讀 school_name schoolname 易 不 C# my name 7_eleven B&Q new C# (1) public protected private params override

More information

Microsoft Word - 《C语言开发入门》课程教学大纲-2.doc

Microsoft Word - 《C语言开发入门》课程教学大纲-2.doc C 语言开发入门 课程教学大纲 ( 课程英文名称 ) 课程编号 :201409210011 学分 :5 学分学时 :60 学时 ( 其中 : 讲课学时 :37 学时上机学时 :23 学时 ) 先修课程 : 计算机导论后续课程 :C++ 程序设计适用专业 : 信息及其计算机相关专业开课部门 : 计算机系 一 课程的性质与目标 C 语言开发入门 是计算机各专业必修的基础课程, 是数据结构 C++ Java

More information

PowerPoint 演示文稿

PowerPoint 演示文稿 4.4.1 逻辑运算符及其优先次序 3 种逻辑运算符 : &&( 逻辑与 ) ( 逻辑或 )!( 逻辑非 ) && 和 是双目 ( 元 ) 运算符! 是一目 ( 元 ) 运算符 逻辑表达式 用逻辑运算符将关系表达式或其他逻辑量连接起来的式子 4.4.1 逻辑运算符及其优先次序 判断年龄在 13 至 17 岁之内? age>=13 && age

More information

VB控件教程大全

VB控件教程大全 Datagrid DataGrid1.Columns.Remove(0) ' 0 DataGrid1.Columns.Add(0).Caption= ' DataGrod1.Columns(0).DataField= Name ' Adodc1.Refresh DataGrid BackColor Font DataGrid CellPadding HTML CellSpacing HTML Width

More information

Microsoft Word - 第3章.doc

Microsoft Word - 第3章.doc Java C++ Pascal C# C# if if if for while do while foreach while do while C# 3.1.1 ; 3-1 ischeck Test() While ischeck while static bool ischeck = true; public static void Test() while (ischeck) ; ischeck

More information

数据结构

数据结构 信息管理与信息系统专业 第 3 章变量与表达式 任课教师 : 吕雅丽 本章内容 3.1 C# 基本数据类型 3.2 常量与变量 3.3 创建并使用枚举类型 3.4 运算符与表达式类型 3.5 运算符的优先级与结合性 2 3.1 C# 基本数据类型 3.1.1 数值类型 1. 整数类型 整数类型又有有符号整数与无符号整数 有符号整数可以带正负号, 无符号整数不需带正负号, 默认为正数 有符号整数包括

More information

// HDevelopTemplateWPF projects located under %HALCONEXAMPLES%\c# using System; using HalconDotNet; public partial class HDevelopExport public HTuple

// HDevelopTemplateWPF projects located under %HALCONEXAMPLES%\c# using System; using HalconDotNet; public partial class HDevelopExport public HTuple halcon 与 C# 混合编程之 Halcon 代码调用 写在前面 完成 halcon 与 C# 混合编程的环境配置后, 进行界面布局设计构思每一个按钮所需要实现 的功能, 将 Halcon 导出的代码复制至相应的 C# 模块下即可 halcon 源程序 : dev_open_window(0, 0, 512, 512, 'black', WindowHandle) read_image (Image,

More information

设计模式 Design Patterns

设计模式 Design Patterns 丁勇 Email:18442056@QQ.com 学习目标 描述 JSP 表达式语言的语法 认识使用 JSP 表达式的优点 在 JSP 中使用表达式语言 表达式语言简介 5 1 EL 为表达式语言 由两个组开发 JSP 标准标签库专家组 JSP 2.0 专家组 JSP 表达式语言的语法 ${EL Expression} JSP EL 表达式用于以下情形 静态文本 标准标签和自定义标签 表达式语言简介

More information

2009年3月二级VB语言笔试真题

2009年3月二级VB语言笔试真题 2008 年 4 月 计 算 机 二 级 考 试 VB 笔 试 试 题 一 选 择 题 ( 每 题 2 分, 共 计 70 分 ) 1. 程 序 流 程 图 中 带 有 箭 头 的 线 段 表 示 的 是 A) 图 元 关 系 B) 数 据 流 C) 控 制 流 D) 调 用 关 系 2. 结 构 化 程 序 设 计 的 基 本 原 则 不 包 括 A) 多 态 性 B) 自 顶 向 下 C) 模

More information

Microsoft Word - 新1-12.doc

Microsoft Word - 新1-12.doc 实训 5 面向对象编程练习 实训 5 面向对象编程练习 5.1 实训目的 通过编程和上机实验理解 Java 语言是如何体现面向对象编程基本思想 以及如何创建类 和对象 了解成员变量和成员方法的特性 5.2 实训要求 编写一个体现面向对象思想的程序 编写一个创建对象和使用对象的方法的程序 5.3 实训内容 5.3.1 创建对象并使用对象 1 定义一个 Person 类 可以在应用程序中使用该类 成员属性

More information

6-1 Table Column Data Type Row Record 1. DBMS 2. DBMS MySQL Microsoft Access SQL Server Oracle 3. ODBC SQL 1. Structured Query Language 2. IBM

6-1 Table Column Data Type Row Record 1. DBMS 2. DBMS MySQL Microsoft Access SQL Server Oracle 3. ODBC SQL 1. Structured Query Language 2. IBM CHAPTER 6 SQL SQL SQL 6-1 Table Column Data Type Row Record 1. DBMS 2. DBMS MySQL Microsoft Access SQL Server Oracle 3. ODBC SQL 1. Structured Query Language 2. IBM 3. 1986 10 ANSI SQL ANSI X3. 135-1986

More information

CHAPTER 1

CHAPTER 1 CHAPTER 1 1-1 System Development Life Cycle; SDLC SDLC Waterfall Model Shelly 1995 1. Preliminary Investigation 2. System Analysis 3. System Design 4. System Development 5. System Implementation and Evaluation

More information

CC213

CC213 : (Ken-Yi Lee), E-mail: feis.tw@gmail.com 49 [P.51] C/C++ [P.52] [P.53] [P.55] (int) [P.57] (float/double) [P.58] printf scanf [P.59] [P.61] ( / ) [P.62] (char) [P.65] : +-*/% [P.67] : = [P.68] : ,

More information

1. 要退出 Do---Loop 循环, 可使用的语句是 ( ) 语句 A. Exit B. Exit For C. Exit Do D. End Do 5. 有程序代码如下 : Text1. Text=" 欢迎学习 VB!" 则 T e x t 1, Text, 和 " 欢迎学习 VB!" 分别代

1. 要退出 Do---Loop 循环, 可使用的语句是 ( ) 语句 A. Exit B. Exit For C. Exit Do D. End Do 5. 有程序代码如下 : Text1. Text= 欢迎学习 VB! 则 T e x t 1, Text, 和  欢迎学习 VB! 分别代 试卷代号 : 2 2 3 1 中央广播电视大学 2 0 1 2-2 0 1 3 学年度第二学期 " 开放专科 " 期末考试 Visual Basic 程序设计试题 2013 年 7 月 注意事项 一 将你的学号 姓名及分校 { 工作站 ) 名称填写在答题纸的规定栏内 考试结束后, 把试卷和答题纸放在桌上 试卷和答题纸均不得带出考场 监考人收完考卷和答题纸后才可离开考场 二 仔细读懂题目的说明, 并按题目要求答题

More information

res/layout 目录下的 main.xml 源码 : <?xml version="1.0" encoding="utf 8"?> <TabHost android:layout_height="fill_parent" xml

res/layout 目录下的 main.xml 源码 : <?xml version=1.0 encoding=utf 8?> <TabHost android:layout_height=fill_parent xml 拓展训练 1- 界面布局 1. 界面布局的重要性做应用程序, 界面是最基本的 Andorid 的界面, 需要写在 res/layout 的 xml 里面, 一般情况下一个 xml 对应一个界面 Android 界面布局有点像写 html( 连注释代码的方式都一样 ), 要先给 Android 定框架, 然后再在框架里面放控件,Android 提供了几种框架,AbsoluteLayout,LinearLayout,

More information

<4D F736F F D205A572D2D A1AAA1AAD4ACE7F42D43D3EFD1D4CAB5D1B5BDCCB3CC2E646F6378>

<4D F736F F D205A572D2D A1AAA1AAD4ACE7F42D43D3EFD1D4CAB5D1B5BDCCB3CC2E646F6378> 第 1 部分 Visual Studio 6.0 开发环境介绍 本书以 Visual C++ 6.0 作为 C 源程序的实践开发环境, 本章将首先介绍 Visual C++ 6.0 环境的基本操作, 包括 Visual C++ 6.0 的安装和启动,C 源程序的编辑 运行与调试 1.1 安装与启动 Visual C++ 6.0 MSDN Visual C++ 6.0 1.1 Microsoft Visual

More information

无类继承.key

无类继承.key 无类继承 JavaScript 面向对象的根基 周爱 民 / aimingoo aiming@gmail.com https://aimingoo.github.io https://github.com/aimingoo rand = new Person("Rand McKinnon",... https://docs.oracle.com/cd/e19957-01/816-6408-10/object.htm#1193255

More information

PowerPoint 演示文稿

PowerPoint 演示文稿 Python 入门 孙栩 xusun@pku.edu.cn 1 课程的整体介绍 目录 contents 2 Python 的介绍及如何安装 Python 3 使用 Python 编写简单小程序 1 课程的整体介绍 课程的整体介绍 Python 入门 1. Python 的介绍与安装 2. 变量与表达式 3. 一些简单的小程序 数据结构 1. 字符串 2. 列表 3. 元组 4. 字典 5. 集合 分支与循环

More information