第三章 VB语言基础 本章重点和难点 3.1 Visual Basic 程序代码的组织方式 3.2 代码行的书写规则

Slides:



Advertisements
Similar presentations
Visual Basic 程序设计 第四讲.
Advertisements

第二章 VB程序设计基础 第1节 Visual Basic 概述 1.1 Visual Basic简介 1.2 面向对象的程序设计概念
第2章 Visual Basic 6.0编程基础 (第一部分)
課程名稱:程式設計 授課老師:________
程式語言(I)- Visual Basic 6.0 第 9 章 結構化程式設計
高中信息技术新课程探讨 算法与程序设计教学实践与探讨 江苏省新海高级中学  张丽.
第9章 处理字符串和日期时间 Visual Basic 程序设计教程.
网 络 课 程 马 鞍 学 网 络 山 课 程 大 络 网 Visual Basic程序设计 第 一 讲 最容易接受的编程语言
高等医药院校药学类第三轮规划教材——大学计算机基础
第 二 课 程序组成、基本数据类型、表达式 我们以上一章练习题为例说明Pascal程序的结构形式:
第五章 数组.
四 VBScript编程基础.
第三章 VB基本语言 3.1编程基础 3.2数据类型 3.3 变量与常量 3.4 运算符和表达式 3.5 内部函数 3.6 基本语句 3.7数组.
Visual Basic程序设计.
ASP VBScript 基础知识.
BLANK overview.
程式語言Visual Basic 變數的可視範圍
VB內建函數與應用.
課程名稱:程式設計 授課老師:________
Visual Basic 6.0 學習範本 第三章 基本資料型態.
第二章 Visual Basic语言基础.
数组 第 6 章.
第5章 数组 Visual Basic程序设计.
Visual Basic程序设计 第七章 数组
第3章 變數、資料型別與運算子.
程式語言 -Visual Basic 變數、常數與資料型態.
1 巨集 2 資料型態 3 物件、屬性、方法與事件 4 陳述式與副函式 5 其他注意事項 6 範例
本單元介紹何謂變數,及說明變數的宣告方式。
Visual Basic程序设计 第八章 过程 -子程序和函数
过程 第 7 章.
ASP动态网页设计实用教程 主讲教师: 开课单位:.
第12章 VBA编程 虽然Access的交互操作功能非常强大且易于掌握,但是在实际的数据库应用系统中,用户还是希望尽量通过自动操作达到数据库管理的目的。应用程序设计语言在开发中的应用,可以加强对数据管理应用功能的扩展。Office中包含Visual Basic for Application(VBA),VBA具有与Visual.
初识Visual Basic.
算法与程序设计.
第1章 概述 程序设计语言的发展 Visual Basic 6.0简介 Visual Basic 6.0集成开发环境 设计程序的一般步骤.
第4章 程序控制结构与算法基础.
Visual Basic 程序设计教程 机械工业出版社同名教材 配套电子教案 2003 年 6月.
计算机程序设计强化复习 Visual Basic 6.0.
程序的基本要素 2018/12/6.
Visual Basic 程序设计 教师:王 杨 电话:
第3章 Visual Basic语言基础 郭清溥.
第3章 變數、資料型別與運算子 3-1 變數與資料型別的基礎 3-2 變數的命名與宣告 3-3 資料型別 3-4 運算式與運算子
3.5 用递归法解决问题 黄学鸿.
第12章 VBA模块设计.
丙級電腦軟設-VB程式設計 資料來源:林文恭研究室 整理:張福生.
新觀念的 VB6 教本 第 6 章 資料型別.
第 8 章 过程.
广州市教育局教学研究室编写的 初中《信息技术》第二册第二章 《程序设计初步》
Visual Basic程序设计.
第4章 常量和变量 常量和变量都是程序中预留的用于保存数据的内存空间。常量的值在程序运行过程中始终不会发生变化。而变量的值在程序的运行过程中是可以变化的。在Fortran语言中,有五种基本的数据类型可供使用。他们分别是整型(INTEGER)、实型(REAL)、复型(COMPLEX)、字符型(CHARACTER)和逻辑型(LOGICAL)。按用途,又可以分数值型、字符型和逻辑型三种。相应的常量和变量也可以分为这三种。本章将按照用途介绍常量和变量的基本概念。
算法与程序设计 周少品.
程式設計 Visual Basic簡介 週次:2 建國技術學院 資管系 饒瑞佶 2003年9月17日.
程序设计基础 第 2 章 学习程序设计的基本方法: 多练 模仿.
VB程序设计语言 主讲教师:王 杨.
VB语言程序设计教程.
第2章 VB语言基础 本章要点: 数据类型 常量和变量 运算符表达式 函数.
第三课 标识符、关键字、数据类型.
现代信息技术 微电子技术 计算机技术 传感技术 通信技术 处理、存储信息的技术 传感、采集技术 传递信息的技术
程序基础 2019/4/25.
第二章、第三章错题分析.
計算機概論 跨越講義 第4章 基本視窗程式應用 4-1 程式語言簡介 4-2 結構化VS物件導向程式設計
第6章 運算式與運算子 [算術與多功能計算機]
VB 2005資料型別與運算子.
1位选手参加了歌唱比赛,评委们的评分如下:
Print方法和函数 2019/5/19.
第5章 数组 5.1 数组概述 5.2 静态数组和动态数组 5.3 数组的基本操作 5.4 控件数组 5.5 数组在自定义数据类型中的应用.
算法与Visual Basic程序基础(二)
VB语言基础 一、 常量 1 定义:在程序运行过程中不能发生改变的量 2 分类 整型常量: 整数 不带小数点的数 数值常量
第4章 数据查询.
第二章 Java基础语法 北京传智播客教育
Presentation transcript:

第三章 VB语言基础 本章重点和难点 3.1 Visual Basic 程序代码的组织方式 3.2 代码行的书写规则 3.2 代码行的书写规则 3.3 Visual Basic 的数据类型 3.4 运算符与表达式 3.5 Visual Basic 公共函数

本章重点和难点 掌握VB提供的常见数据类型 掌握变量的定义 掌握VB运算符和表达式的使用 掌握VB公共函数的功能和调用 难点: 1、运算符&与+的区别和联系 2、字符串函数和转换函数的应用

3.1 程序代码的组织方式 一个VB程序由窗体界面和程序代码两部组成,通过程序代码 把窗口界面的各个对象以及应用中的其元素联系在一起。程 3.1 程序代码的组织方式 一个VB程序由窗体界面和程序代码两部组成,通过程序代码 把窗口界面的各个对象以及应用中的其元素联系在一起。程 序代码部分则由若干被称为“过程”的代码行及向系统提供某 些信息的说明组成。过程及又被组织在“模块”之中。将设计 的过程代码及相关说明合理地组织到不同的模块之中,也就 是设计代码的结构,在创建VB应用程序时是最为重要的一个 步骤。

过程 过程就是具有特定书写格式、包含若干可被作为一个整体执行的代码的组合。 “过程”可分为“事件过程”和“通用过程”两类。 1. 事件过程 1.  事件过程 为窗体以及窗体上的各种对象编写的用来响应由用户或系统引发的各种事件的代码就是“事件过程”。 ●     事件过程由VB中事件调用。也就是说,当指定的事件发生时,该过程即会被激活执行。 事件过存储在被称为“窗体模块”的文件中(扩展名“.frm”),而且在缺省情况下,“是私有的”(private)。换言之,事件过程在未特别说明时,仅在该窗体内有效。

事件过程 事件过程的代码框架是由VB系统自动提供的在保存窗体时,窗体的外观和编写的代码统一保存。   图1

通用过程 一个应用程序可以具有若干个窗体,每个窗体又可能拥有相同或不同的对象,但是这些不同窗体中的对象却有可能引发相同的操作或需在进行某些共同的处理。也就是说,一个应用程序中的多个窗体可以共享一些代码,或者一个窗体内不同的事件过程可以共享一些代码。这些可被共享的代码构成的过程称为“通用过程”。 通用过程是由用户自己定义,可由事件过程或其他过程调用而执行。

模块 模块是VB用于将不同类型过程代码组织到一起而提供的一种结构。在VB中具有三种类型的模块:窗体模块、标准模块和类模块。 1. 窗体模块 1.  窗体模块 应用程序中的每个窗体都有一个相应的窗体模块 。窗体模块不仅包含有用于处理发生在窗体中的各个 对象的事件 过程,而且包含有窗体及窗体中各个控件对象的属性设置以及相关的说明。 如果某些通用过程仅供本窗体内的其他过程共享,则它也可包含在窗体模块之中。

模块 2. 标准模块 ● 标准模块中保存的过程都是 通用过程。标准过程中还包 含有相关的说明。 ● 标准模块中代码并不限于一 2.  标准模块 在应用程序中可被多个窗体共享的代码,应当被组织到“标准模块”之中。标准模块文件的扩展名是“.bas”。 ●     标准模块中保存的过程都是 通用过程。标准过程中还包 含有相关的说明。 ●     标准模块中代码并不限于一 个应用程序,还可供其他应用程序重复使用。

模块 ●     创建标准最简便的方法是: 单击工具栏上“添加窗体”按钮右侧向下的箭头,并在出现的选项表中选择“添加模块”(图2),然后再在出现的“代码编辑器”窗口中输入代码即可。 3.类模块 类模块包含用于创建新的对象类的属性、方法的定义等。

3.2 代码行的书写规则 1.       语句 语句上构成VB程序的最基本成分。一个语句或者用于系统提供某些必要的信息(如程序中使用的数据类型等),或者规定系统应该执行的某些操作。 语句的一般形式如下: <语句定义符> [语句体] ●     语句定义符用于规定语句的功能。 ●     语句体则用于提供语句所要说明的具体内容或者要招待的具体操作。 ●     VB中一些语句可以没有语句定义符;也有一些语句的语句定义符可以省略。

3.2 代码行的书写规则 ●     VB程序是按行书写的。一个语句可写在一行上;也可以通过在行的末尾加上续行标志“ -”(一个空格加一个下划线字符),而分写在多行上;另外,也可在一个代码行上写入多个语句,但语句之间需要用冒号“:”分隔。 例如: 1.  一个语句分写在多行上: Dim student_name As String,student_number As String,ComputerAs _Integer,English As Integer 2.  一行写多个语句: x=10:y4=”Visual Basic”:Z=20

3.2 代码行的书写规则 1.2.  书写规范 ●     语句输入时,可以不区分大小写字母,一个代码行输入完后,按回车键,光标自动移向下一行,同时,系统还会自动把语句中所有“保留字”的第一个字母改为大写字母,并在其前后加上空格。 例如,Rem是系统保留字,所以不论输入的是ReM,还是rem或REM,系统都会自动变换成Rem。 ●     一个代码行的长度不得超过1023B,且在一行的实际文本之前最多只能有256个前导空格。一个逻辑行最多只能有25个后续行。

3.3 Visual Basic 的数据类型 变量或常量的命名规则 数据类型 常量 变量

变量或常量的命名规则 必须以字母、汉字开头,由字母、汉字、数字或下划线组成,长度≤40个字符 不能使用VB中的关键字 不区分变量名的大小写 为增加程序的可读性,可在变量名前加一个缩写的前缀来表明该变量的数据类型

3.3 Visual Basic 的数据类型 数据是程序处理的对象。VB具有强大的数据处理能力,它的具体表现就是VB程序不仅可以处理各种数制的数,而且具有丰富的数据类型。 一.数据类型 VB支持的数据类型多达成12种。表1列出了这些数据类型的名称、存储大小及数据的取值范围。

数据类型 数据类型 存储大小 取值范围 Integer整型数 2 Byte -32768~32767 Long长整型数 4 Byte -2147483648~2147483647 Single单精度型数 -3.402823E38~-1.401298E-45 1.401298E-45~3.402823E38 Double双精度型数 8 Byte -1.79769313486232E308~ -4.9406545841247E-324 4.94065645841247E-324~ 1.79769313486232E308 Byte字节型数 1 Byte 0~255 Boolean逻辑型数 True或False String字符串型数(变长) 10 Byte+串长度 0~约定俗成0亿个字符

数据类型 String字符串型数(定长) 串长度 1~约65400个字符 Date日期型数 8 Byte 1000年1月1日~9999年12月31日 Currency货币型数 -922337203685447.5808~ 922337203685447.5807 Object对象型数 4 Byte 任何对象引用 Variant变体型数 >=16 Byte 数值型可达Double型的范围; 字符型可达变长字符串型的长度

常量 在程序中取值始终保持不变的数据称为“常量”。 1)数值常量   常量 在程序中取值始终保持不变的数据称为“常量”。 1)数值常量 一般的数值常量由正负号、数字和小数点组成,正数的正号可以省略。在VB程序中,除常用的十进制外,还可以使用八进制数和十六进制数。 ●     不带小数点的数称为“整型数”。VB中的整型数又分为整型数和长整型数。 ●     带小数点的数称为“实型数”或“浮点数‘。根据占用的存储量的大小,又分为单精度型数和双精度型数。

  常量 ●     在计算机程序中,很大或很小的数通常以指数形式表示,10的幂次则以字母e或字母d代表。可表示为mmmEeee或mmmDeee两种形式,其中, mmm 是尾数,eee是指数。E表示单精度数,D表示双精度数。 例如: 123 -235 32747 (整型数) 1758624 -3765410 (长整型数) 12304 -762.678 0.000352 -1.243E5 1.234E-5 (单精度数) 3.14159265333 -57832.12345 3.14159265D8 -8.573264907D-15 (双精度数)

常量 ●     VB中允许使用八进制数和十六进制数,它们都是无符号整型数。八进制数的表示方法是在数字前面加“&O”;十六进制数的表示方法是在数字前面加“&H”。例如:&O137 &H137 2)  字符常量 把一串字符用引号括起来,就构成一个字符常量。 例如:“Visual Basic” 、“How are you!”、“ab”等都是合法的字符常量。 2)  逻辑型常量 逻辑型常量只有两个取值:True(真)和False(假)。

常量 3) 日期型常量 日期型常量的一般表示形式是:mm/dd/yyy,如获至宝998年6月15日可表示为:#6/15/1998#   常量 3)  日期型常量 日期型常量的一般表示形式是:mm/dd/yyy,如获至宝998年6月15日可表示为:#6/15/1998# 4)  符号常量 常量在程序中也可用符号来表示。以符号形式表示的常量称为“符号常量”。代表常量的符号称为“常量名”。常量名是一个长度不超过255个字符,只能由字母、数字和下划线组成且首字符必须是字母的字符串。常量名中的字母不区分大小写。

常量 如在程序中使用自定义符号常量,,则应用Const语句先行说明。 Const语句的形式台下:   常量 如在程序中使用自定义符号常量,,则应用Const语句先行说明。 Const语句的形式台下: [Public|Private] const < 常量名> [As Type]= <数值> Public选项只能用在标准模块中,用以说明可在整个应用程序中使用的常量;Private选项则用于说明在模块范围内使用的常量,它们均不能在过程中使用。Type用于指定常量的数据类型。另外,也可以在说明时,通过数据类型符号规定常量的类型。例如: Const Tax As Single =1.02 Public Const Country $ =”CHINA”,Fax_Num&=35424489

符号常量的例子 ‘声明了单精度型常量PI,代表3.14159 Const PI = 3.14159 Const MAX As Integer = &O144 ‘整型常量MAX,代表八进制数144, Const COUNTS# = 45.67 ‘声明了双精度型常量COUNTS,代表45.67,

变量 以符号形式出现在程序中,且取值可以发生变化的数据称为“变量”。 1. 变量名及类型说明 变量名的命名规则是: ● 首字符必须是字母; 1.  变量名及类型说明 变量名的命名规则是: ●     首字符必须是字母; ●     长度不超过255个字符; ●     在作用域内必须唯一; ●     作为变量名的字符串不得包括点号和用于类型说明的字符%、&、!、#、@、$ . ●     不得使用系统保留字作变量名 ●     有时为了提高程序的可读性,可在变量名之前加上一个约定的前缀,用于表示变量的数据类型。约定的前缀见表2。

变量 表2 数据类型 前缀 整型 lnt 长整型 lng 单精度型 sng 双精度型 dbl 逻辑型 bln 货币型 cur 日期型 dt 字串型 str 变体型 vnt 字节型 byt

变量 1. 变量作用域与变量说明语句 1)变量作用域 变量的有效作用范围称为变量作用域。 VB有以下三个作用域等级,见表3: 等级 范围 1.  变量作用域与变量说明语句 1)变量作用域 变量的有效作用范围称为变量作用域。 VB有以下三个作用域等级,见表3: 等级 范围 局部 在过程中说明,仅在说明它的过程有效 窗体/模块 在窗体或模块中说明,在定义该变量的模块或窗体的所有过程内均有效 全局(公有) 在模块或窗体中说明,在工程内的所有过程中都有效

变量 2)变量说明语句 可使用四种说明语句说明变量的类型: Dim <变量名>As<类型>[,<变量名> As<类型>]… Public <变量名>As<类型>[,<变量名> As<类型>]… Private <变量名>As<类型>[,<变量名> As<类型>]… Static <变量名>As<类型>[,<变量名> As<类型>]… 其中,Public语句用于说明全局变量,Private语句用于说明窗体/模块级变量,它们都只能用在模块的通用部分;Static语句用于说明过程级的静态变量,而且Dim语句既可用于说明模块级的变量(在模块的通用部分使用),也可用于说明过程级的变量(在过程内使用),因此较为常用。

变量 用Dim语句声明变量的例子 Dim iCount As Integer Dim sAllsum As Single Dim strS As String*100 或 Dim iCount As Integer, sAllsum As Single

变量 模块级和公有级的变量应“代码编辑器”窗口中的“(通用)”或“(声明)”部分进行说明。 例如: Private Const As Integer 或 Public Name As String ,age As Integer   局部变量仅在使用它的过程中说明; Public Sub Command1_Click() Dim Count As Integer … End Sub

变量 ●     在用Dim语句说明一个变量后,系统自动为该变量赋予一个初始值。若变量是数值型的,则初始值为0;若初始值是字符串型的,则初始值为空;逻辑型变量的初始值为“ False”。 ●     系统还会自动转换在代码中输入的变量名以与说明的变量名相匹配。例如,说明语句是: Dim MyCountry As String 在程序中输入: mycountry=”NanJing” VB将其自动转换成: MyCuntry=”NanJing” VB的这种功能,可帮助使用者输入和使用正确的变量名。

变量 Dim a ,b As Integeer a是变体型,b是整型。 ●     在变量类型说语句中,必须每个需要说明的变量逐个使用As Type说明,未加说明的变量将按变体型变量处理。例如: Dim a ,b As Integeer a是变体型,b是整型。 使用变量说明语句说明变量的数据类型,通常称为“显式说明”,也采用在变量名后加上一个用于规定变量类型的说明字符,来规定变量的类型,这种方法称为“隐式说明”。

变量 VB规定的类型说明字符见下表 说明符 示例 意义 % X% X是整型变量 # #% X是双精度型量 & X& X是长整型量 @ X@ ! X! X是单精度量 $ X$ X是字符型变量

变量 ITem% ‘声明整型变量 用类型说明符声明变量的例子 sHight! ‘声明单精度型变量 trName$ ‘声明字符串变量 cXyz@ ‘声明货币型变量

变量 ●     按照缺省规定,字符变量的长度上可变的。也就是说,通过字符赋予新的数据,它的长度可增可减。但也可以将字符串变量说明为具有固定长度。方法如下: Dim <变量名> As String*size 例如 Dim EmpName As String*size 3) Option Explicit 语句 在模块中使用Option Explicit语句,系统将检查模块中所有未加显式说明的变量,一发现有这样的变量存在,就会产生一个出错信息,提示使用者改正错误

3.4 运算符与表达式 算术运算符的优先级 运算符示例 关系运算符 字符比较 逻辑运算符的优先级

3.4 运算符与表达式 VB中的运算符和表达式可分为算术运算符与算术表达式、关系运算符与关系表达式和逻辑运算符与逻辑表达式三类。 3.4 运算符与表达式 VB中的运算符和表达式可分为算术运算符与算术表达式、关系运算符与关系表达式和逻辑运算符与逻辑表达式三类。 一.算术运算符与算术表达式 1.  算术运算符 VB的算术符有以下几种: ^ 乘方 / 除 + 加 \ 整除 — 减(负号) Mod 取余运算 * 乘 & 字符串连接运算

算术运算符的优先级 运算符 优先级 ^ 1 -(负号) 2 * 3 / \ 4 Mod 5 + 6 -

* 运算符示例 本示例使用 * 运算符来计算两数的乘积。 Dim MyValue MyValue = 2 * 2 ' 返回 4

+ 运算符示例 本示例使用 + 运算符来计算数值的和。+ 运算符也可以用来做字符串的串接操作。 Dim MyNumber, Var1, Var2 MyNumber = 2 + 2 ' 返回 4 MyNumber = 4257.04 + 98112 ' 返回 102369.04 Var1 = "34": Var2 = 6 ' 初始化混合变量的值 MyNumber = Var1 + Var2 ' 返回 40 Var1 = "34": Var2 = "6" ' 用字符串初始化混合变量的值 MyNumber = Var1 + Var2 ‘ 返回 “346”(字符串被串接起 来)

- 运算符示例 本示例使用 - 运算符来计算两数值的差。 Dim MyResult MyResult = 4 - 2 ' 返回 2

/ 运算符示例 本示例使用 / 运算符来计算浮点数除法。 Dim MyValue MyValue = 10 / 4 ' 返回 2.5

\ 运算符示例 本示例使用 \ 运算符来计算整型除法。 Dim MyValue MyValue = 11 \ 4 ' 返回 2

Mod 运算符示例 本示例使用 Mod 运算符来对两数作除法运算,但返回其余数而非商数。如果两数中有一数为浮点数,该数会先被四舍五入成整型后再进行运算。 Dim MyResult MyResult = 10 Mod 5 ' 返回 0 MyResult = 3 Mod 10 ‘ 返回 3 MyResult = 12 Mod 4.3 ' 返回 0 MyResult = 12.6 Mod 5 ' 返回 3

& 运算符示例 本示例使用 & 运算符将字符串串接起来。 Dim MyStr MyStr = "Hello" & " World" ' 返回 "Hello World" MyStr = "Check " & 123 & " Check“ ' 返回 "Check 123 Check" Mystr=123 & 456 ' 返回 "123456"

关系运算符 算术运算符的运算次序为 ^ → —(负号) → *和/ →\ → Mod → +和— → & 把常量、变量等运元素用算术运连接起来的式子称为“算术表达式”。例如: a*b/(c*d) 3.14159265*r^2 等 二.关系运算符与关系表达式 关系运算用于对两个数据进比较,比较结果为逻辑值“True”或“False”。 VB常用的关系运算符如下表所示。

关系运算符 1. 关系表达式 关系表达式就是用关系运算把两个比较对象连接起来的式子。 ● 比较对象可以是变量、常量和算术表达式。例如: < <= > >= <> = Is 功能 小于 小于等于 大于 大于等于 不等于 等于 用比较两个对象的引用变量 1.  关系表达式 关系表达式就是用关系运算把两个比较对象连接起来的式子。 ●     比较对象可以是变量、常量和算术表达式。例如: a<32 x+y>=z/2 b$<>”Basic” object1 is object2 ●     关系表达式的运算是采用“按值比较”的方法,即先求出运算符两边的“值”,若是变量,则取其当前值,如果两端的值满足条件,则结果为“True”,否则为“False”。

关系运算符示例 本示例示范各种“关系运算符”的用法。 MyResult, Var1, Var2 MyResult = (45 < 35) ' 返回 False MyResult = (45 = 45) ' 返回 True MyResult = (4 <> 3) ' 返回 True MyResult = ("5" > "4") ' 返回 True Var1 = "5": Var2 = 4 ' 设置变量初值。 MyResult = (Var1 > Var2) ' 返回 True Var1 = 5: Var2 = Empty Var1 = 0: Var2 = Empty MyResult = (Var1 = Var2) ' 返回 True

字符比较 运算符 说明 例 结果 = 等于 “ABCDE”=“ABR” False > 大于 “ABCDE”>”ABR” >= 大于等于 “bc”>=“abcdef” True < 小于 23<3 <= 小于等于 “23”<“3” < > 不等于 “abc”<>”ABC”

运算符与表达式 ●     字符型数据的关系运算上依照字符的ASCⅡ代码,自左至右按照“逐个比较,遇大则大,长大短小,完全相同,才是相等”的原则进行。 三.逻辑运算符与逻辑表达式 逻辑运算符是对逻辑值进行的运算。 1.  逻辑运算符 VB有如下常用的逻辑运算符。 Not:逻辑非 And:逻辑与 Or:逻辑或 Xor:逻辑异或。 逻辑运算的优先次序是: Not→And→Or→Xor

逻辑运算符的优先级与真值表 Not 取反 1 And 与 2 Or 或 3 Xor 异或 当操作数为假时,结果为真 Not F T 意义 优先级 说明 例 结果 Not 取反 1 当操作数为假时,结果为真 Not F T And 与 2 操作数均为真时,结果才为真 T And F T And T F Or 或 3 操作数中有一个为真时,结果为真 T Or F F Or F Xor 异或 操作数相反时,结果才为真 T Xor F T Xor T

Not 运算符示例 本示例使用 Not 运算符来做两个表达式结果的逻辑非(logical negation)。 Dim A, B, C, D, MyCheck A = 10: B = 8: C = 6 MyCheck = Not(A > B) ' 返回 False。 MyCheck = Not(B > A) ' 返回 True。

And 运算符示例 本示例使用 And 运算符来做两个表达式结果的逻辑合取(a logical conjunction)。 Dim A, B, C, D, MyCheck A = 10: B = 8: C = 6 MyCheck = A > B And B > C ' 返回 True MyCheck = B > A And B > C ' 返回 False

Or 运算符示例 本示例使用 Or 运算符来做两个表达式结果的逻辑析取(logical disjunction)。 Dim A, B, C, D, MyCheck A = 10: B = 8: C = 6 MyCheck = A > B Or B > C ' 返回 True。 MyCheck = B > A Or B > C ' 返回 True。 MyCheck = A <B Or B <C ' 返回 False。

Xor 运算符示例 Dim A, B, C, MyCheck A = 10: B = 8: C = 6 MyCheck = A > B Xor B > C ' 返回 False MyCheck = B > A Xor B > C ' 返回 True MyCheck = B > A Xor C > B ' 返回 False

运算符与表达式 2. 逻辑表达式 逻辑表达式是用逻辑运算符把逻辑变量连接起来的式子。 2.  逻辑表达式 逻辑表达式是用逻辑运算符把逻辑变量连接起来的式子。 例如:a>=2*3.141159*r And x<>5 Or Not bx>2 Or Text1.text=”Microsoft” 逻辑表达式主要用于表示一些复杂判断条件。

运算符与表达式 四.运算规则 在表达式中,当运算符不止一类时,要先处理算术运算符,着处理逻辑运算符。而这几种运算符内的优先次序,则按前面各小节所列次序进行。 ●     在运算时,如果进行运算的两个运算对象的类型相同,它们的运算结果也将是同一类型。 ●     如果不同数据类型的数据进行运算,结果的类型为两个运算对象中存储长度较长的那个对象的类型。 除法运算是例外情况,不论除数与被除数类型如何,其结果是双精度型

3.5 Visual Basic 公共函数 所谓公共函数是由系统提供的,可在任何一个VB程序中随时使用的程序段。 ●     每个函数都有系统规定的函数名。 ●     使用函数称为函数调用。函数调用的形式如下: <函数名> (p1,p2,…) 其中,p1,p1, …是调用函数时的自变量序列,自变量的个数、排列次序和数据类型应和函数规定的参数相同。

3.5 Visual Basic 公共函数 常用数学函数 常用转换函数 字符串函数 日期函数 格式化函数Format$ 课堂练习

常用数学函数 函数名 说 明 例 结 果 Abs(N) 取绝对值 Abs(-3.5) 3.5 Atn(N) 反正切函数 Atn(0) 说 明 例 结 果 Abs(N) 取绝对值 Abs(-3.5) 3.5 Atn(N) 反正切函数 Atn(0) Cos(N) 余弦函数 Cos(0) 1 Exp(N) e为底的指数函数,即eN Exp(3) 20.068 Log(N) 以e为底的自然对数 Log(10) 2.3 Rnd[(N)] 产生随机数 Rnd 0~1之间的数 Sin(N) 正弦函数 Sin(0) Sgn(N) 符号函数 Sgn(-3.5) -1 Sqr(N) 平方根 Sqr(9) 3 Tan(N) 正切函数 Tan(0)

常用转换函数 函数名 说明 例 结果 Asc( C ) 字符转换成ASCII码值 Asc( “A” ) 65 Chr$(N) Fix(N) 取整 Fix(-3.5) -3 Hex[$](N) 十进制转换成十六进制 Hex(100) 64 Int(N) 不大于N的整数 Int(-3.5) -4 Lcase$( C ) 大写字母转换为小写字母 Lcase$(“ABC” ) “abc” Oct[$](N) 十进制转换成八进制 Oct$(100) “144” Str$(N) 数值转换为字符串 Str$(123.45) “123.45” Ucase$( C ) 小写字母转换为大写字母 Ucase$( “abc” ) “ABC” Val( C ) 数字字符串转换为数值 Val(“123AB” ) 123

字符串函数 函数名 说明 例 结果 Left$(C,N) 取出字符串左边n个字符 Left$(“ABCDEFG”,3 ) “ABC” Len( C ) 字符串长度 Len(“ABCDEFG” ) 7 Ltrim$( C ) 去掉字符串左边空格 Ltrim$(“ABCD” ) “ABCD” Mid$(C,N1,N2) 自字符串N1位开始向右取N2个字符 Mid$(“ABCDEFG”,2,3 ) “BCD” Right$(C,N) 取出字符串右边n个字符 Right$(“ABCDEF”,3) “DEF” Rtrim$( C ) 去掉字符串右边空格 Rtrim$( “ABCD ” ) Space$( N ) 产生N个空格的字符串 Space$( 3 ) “” String$( N ) 返回由C中首字符组成的N个字符串 String$( 3,”ABCDEF” ) “AAA”

日期函数 函数名 说明 例 结果 Time[$][( )] 返回系统时间 Time 11:26:53AM Date [$][( )] 返回系统日期 Date$( ) “1997-05-01” Now 返回系统时间和日期 97/05/01 11:26:53AM DateSerial(年,月,日) 相对1899,12,30为0返回一个序数 DateSerial(97,05,01)-DateSerial(97,04,01) 30 DateValue( C ) 同上,但自变量为字符串 DateValue(“97,05,01”)-DateValue(“97,04,01”) Day(C|N) 返回日期代号(1~31) Day (“97,05,01”) 1 Month (C|N) 返回月份代号(1~12) Month (“97,05,01”) 5 Year (C|N) 返回年代号(1753~2078) Year(365)相对1899,12,30为0天后365天的年代号 1900 WeekDay(C|N) 返回星期代号(1~7) WeekDay (“97,05,01”) 5(即星期四)

3.5 Visual Basic 公共函数 在使用函数时应特别注意以下几点: 1. 必须准确地掌握函数的功能; 2. 必须使用正确的函数名; 1.  必须准确地掌握函数的功能; 2.  必须使用正确的函数名; 3.  必须注意函数及各个自变量的数据类型、各个自变量的意义和允许的数值范围。

格式化函数Format$ 格式化函数Format[$]专门用于将数值、日期和时间数据按指定格式输出的函数。它的一般形式如下: Format[$](<算术表达式>,fmt$) 式中的fmt$是用于格式控制的字符串。 格式控制字符有: #、0、.、%、$、-、+、(、)、E+、E- 其中#、0:数位控制符 .、,是标点控制符 E+、E-是指数输出控制符; 其它是符号控制符。 格式化函数Format[$]仅用于控制数据的外部输出形式,不会改变数据在计算机内部的存储形式。

格式输出函数 符号 作用 数值表达式 格式化字符串 显示结果 实际数字小于符号位数时,数字前后加0 1234.567 实际数字小于符号位数时,数字前后加0 1234.567 “00000.0000” “000.00” 01234.5670 1234.57 # 实际数字小于符号位数时,数字前后不加0 “#####.####” “###.##” . 加小数点 1234 “0000.00” 1234.00 , 千分位 “##,##0.0000” 1,234.5670 % 数值乘以100,加百分号 “####.##%” 123456.7%

课堂练习 1.下列语句运行时系统给出错误提示的是_。  A.Print -32000-769      B.Print“IE2”+8  C.Print “AB”&128     D.Print 3=2=4 2.下面所列四组数据中,全部是正确的VB常数是          。 A.32768,1.34D2,"ABCDE",&O1767 B.3276,123.56,1.2E-2,#True# C.&HABCE,02-03-2002,False,D-3         D.ABCDE,#02-02-2002#,E-2

课堂练习 3.运行下面程序,单击命令按钮Command1,则立即窗口上显示的结果是 。 Private Sub Command1_Click()    Dim A As Integer,B As Boolean Dim C As Integer,D As Integer    A=20/3  :  B=True  :  C=B  :  D=A+C    Debug. Print A, D,  A=A+C End Sub 7   6  False      B. 6.6  5.6  False     C. 7   6  A=6        D. 7    8    A

课堂练习 4. 表示命题“A是一个带小数的正数,且 B是一个带小数的负数”的逻辑表达式是 5.下列表达式中,值为True的是____。 Ucase("ABCD“)>="abcd" 14/2\3<10 Mod 4 Mid("ABCD",2,2)>Left("ABCD",2) Not(Spr(4)-3>=-2) A>0 and int(a)<>a and b<0 and int(b)<>b

课堂练习 6.下面表达式的值为真的是___ A Mid("Visual Basic",1,12)=Right("Programming Language Visual Basic",12) B "ABCRG">"abcde" C Int(134.69)>=Cint(134.69) D 78.9/32.77<=97.5/43.97 And -45.4>-4.98 7.有变量定义语句Dim a,b As Integer, 变量a的类型和初值是______ A. Integer,0 B. Variant,空值 C. String,"" D. Long,0.0