Visual Basic程序设计 第三章 常量与变量

Slides:



Advertisements
Similar presentations
第3章 VB语言基础 本章主要内容: ● 基本数据类型 ● 常量、变量 ● 表达式 ● 常用内部函数.
Advertisements

第2章 Visual Basic 6.0编程基础 (第一部分)
程式語言(I)- Visual Basic 6.0 第 9 章 結構化程式設計
第三章 Visual Basic语言基础.
第9章 处理字符串和日期时间 Visual Basic 程序设计教程.
四 VBScript编程基础.
Chapter2 Constants, Variables, and Data Types
ASP VBScript 基础知识.
程式語言Visual Basic 變數的可視範圍
課程名稱:程式設計 授課老師:________
Visual Basic 6.0 學習範本 第三章 基本資料型態.
第二章 Visual Basic语言基础.
第5章 数组 Visual Basic程序设计.
第3章 變數、資料型別與運算子.
程式語言 -Visual Basic 變數、常數與資料型態.
Visual Basic程序设计 第八章 过程 -子程序和函数
第12章 VBA编程 虽然Access的交互操作功能非常强大且易于掌握,但是在实际的数据库应用系统中,用户还是希望尽量通过自动操作达到数据库管理的目的。应用程序设计语言在开发中的应用,可以加强对数据管理应用功能的扩展。Office中包含Visual Basic for Application(VBA),VBA具有与Visual.
初识Visual Basic.
Visual Basic程序设计基础 教师: 丁 鹏 联系电话:
管理信息结构SMI.
走进编程 程序的顺序结构(二).
辅导课程六.
Visual Basic 程序设计 教师:王 杨 电话:
第3章 Visual Basic语言基础 郭清溥.
Visual Basic程序设计基础 教师:夏学梅 电话:
第3章 變數、資料型別與運算子 3-1 變數與資料型別的基礎 3-2 變數的命名與宣告 3-3 資料型別 3-4 運算式與運算子
新觀念的 VB6 教本 第 6 章 資料型別.
Visual Basic 程序设计 第3章 BASIC 语言基础
Visual Basic程序设计.
C++语言程序设计 C++语言程序设计 第二章 基本数据类型与表达式 第十一组 C++语言程序设计.
第二章 Java语言基础.
第三章 VB语言基础 本章重点和难点 3.1 Visual Basic 程序代码的组织方式 3.2 代码行的书写规则
程式設計 Visual Basic簡介 週次:2 建國技術學院 資管系 饒瑞佶 2003年9月17日.
程序设计基础 第 2 章 学习程序设计的基本方法: 多练 模仿.
C++语言程序设计 C++语言程序设计 第七章 类与对象 第十一组 C++语言程序设计.
第2章 VB语言基础 本章要点: 数据类型 常量和变量 运算符表达式 函数.
学习目标 1、什么是字符集 2、字符集四个级别 3、如何选择字符集.
C++语言程序设计 C++语言程序设计 第六章 指针和引用 第十一组 C++语言程序设计.
程序设计基础A(C语言) 主讲教师: 许 康 教师主页:
程序基础 2019/4/25.
第二章、第三章错题分析.
Visual C# 2005程序设计 第1章 Visual C#概述 第2章 C#语法基础 第3章 顺序结构程序设计
<编程达人入门课程> 本节内容 内存的使用 视频提供:昆山爱达人信息技术有限公司 官网地址: 联系QQ: QQ交流群: ,
C语言程序设计 第一章 数据类型, 运算符与表达式 第二章 顺序程序设计 第三章 选择结构程序设计 第四章 循环控制 第五章 数组.
第4章 Excel电子表格制作软件 4.4 函数(一).
第九节 赋值运算符和赋值表达式.
3.16 枚举算法及其程序实现 ——数组的作用.
本节内容 结构体 视频提供:昆山爱达人信息技术有限公司 官网地址: 联系QQ: QQ交流群 : 联系电话:
多层循环 Private Sub Command1_Click() Dim i As Integer, j As Integer
ASP.NET实用教程 清华大学出版社 第4章 C#编程语言 教学目标 教学重点 教学过程 2019年5月5日.
C++语言程序设计 C++语言程序设计 第六章 指针和引用 第十一组 C++语言程序设计.
2.6 字符型数据 一、 字符常量 1、字符常量的定义 用一对单引号括起来的单个字符,称为字符常量。 例如,‘A’、‘1’、‘+’等。
本节内容 C语言的汇编表示 视频提供:昆山爱达人信息技术有限公司 官网地址: 联系QQ: QQ交流群 : 联系电话:
第二章 Java基本语法 讲师:复凡.
复习 标签(label)、文本框(text)控件 按钮:点击事件
第三章 VB语言基础 3.1 数据类型 3.2 常量与变量 3.3 运算符与表达式 3.4 常用内部函数 本章目录.
C++语言程序设计 C++语言程序设计 第一章 C++语言概述 第十一组 C++语言程序设计.
基本知识 数据类型、变量、常量、运算符.
数据表示 第 2 讲.
第二章 数据类型与表达式 丘志杰 电子科技大学 计算机学院 软件学院.
数的简单处理 ——顺序结构、变量、数据类型、运算符
3.9算法及VB初步3 ——以“鸡兔同笼”为例.
VFP的基本数据运算(一).
顺序结构程序设计 ——关于“字符串”和数值.
C语言程序设计 第2章 数据类型.
第2章 Java语言基础.
编译原理实践 6.程序设计语言PL/0.
2 Java语言基础 (数据运算与流程控制).
第二章 简单数据类型 §2.1 数据类型概述 §2.2 变量和常量 §2.3 简单数据类型 §2.4 简单数据类型的相互转换
学习目标 1、什么是列类型 2、列类型之数值类型.
Presentation transcript:

Visual Basic程序设计 第三章 常量与变量

主要内容 §3.1 基本数据类型 §3.2 常量 §3.3 变量 作业

§3.1 基本数据类型 数据类型 数值型 字符串型 逻辑型 日期型 对象型 变体型 整型 长整型 字节型 单精度浮点型 双精度浮点型 货币型 §3.1 基本数据类型 数据是程序处理的对象。为了更好地处理各种各样的数据,VB定义了多种数据类型。 整型 长整型 字节型 单精度浮点型 双精度浮点型 货币型 数值型 数据类型 字符串型 逻辑型 日期型 对象型 变体型

1、数值型数据类型 类型 中文名 表示范围 精度 整型 2 精确 长整型 4 单精度 浮点型 双精度 8 货币型 15位整数,4位小数 字节 表示范围 精度 Integer 整型 2 -32768~32767 精确 Long 长整型 4 -2147483648 ~ 2147483647 Single 单精度 浮点型 -3.402823E 1038 ~ 3.402823  1038 6-7位有效数字 Double 双精度 8 -1.7976931348623210308 ~ 1.79769313486232 10308 15位有效数字 Currency 货币型 -922337203685477.5808 ~ 922337203685477.5807 15位整数,4位小数 Byte 字节型 1 0~255

5、Object(对象型)和Variant(变体类型)将分别在后面节中讲解。 2、String(字符串型): 字符串是指连续的字符序列,专门用来存放文字信息的。分为“定长字符串型”和“变长字符串型”两大类。字符串类型所占的内存空间与字符串长度有关,最多 64K个字符。 3、Boolean(逻辑型、布尔型): 只有两个值True(逻辑“真”)和False(逻辑“假”),占2个字节存储空间。 4、Date(日期时间型): 又称日期型,存放日期时间。占8个字节,范围公元100年1月1日~9999年12月31日。 5、Object(对象型)和Variant(变体类型)将分别在后面节中讲解。

§ 3.2 常量 常量:在程序运行时值不能改变的量为常量。分为直接常量和符号常量。 直接常量:程序中直接使用的数据常量 § 3.2 常量 常量:在程序运行时值不能改变的量为常量。分为直接常量和符号常量。 直接常量:程序中直接使用的数据常量 符号常量:用一个符号名来代替数值或字符串,称为符号常量。 常量 直接常量 符号常量 数值常量 字符串常量 逻辑常量 日期常量

3.2.1 直接常量的数据表示方法 整型后加% (可省) : 123、-123、+123、123% 长整型后加&: 1234&、-7890& 3.2.1 直接常量的数据表示方法 整型后加% (可省) : 123、-123、+123、123% 长整型后加&: 1234&、-7890& 八进制 &O开头: &O136 (字母O) 十六进制&H开头: &H3A、 &H6B4 & 单精度后加! :11.2、11.2! 、0.112E+2 双精度后可加# :123.45#、0.12345E+3 # 货币型后加@ :123.45@

字符型常量:使用双引号 ””: " Visual Basic " 、 "你好!“ 特殊的字符串: " " " "表示一个双引号字符串, " "表示空字符串。字符串常量中的双引号必须成对出现。 逻辑型常量:只有True和False两个值。 日期型常量:使用“#”号作界定符: #1/1/2005#、#April 1, 2005#、#1:00:00PM#

3.2.2 符号常量及命名规则 符号常量的使用增加了代码的可读性,因为我们看到的是具有含义的名字而不是数字。如Pi表示常量3.1415926535, 特点:一个常量一经声明,就不能在以后的语句中改变它的数值。 命名规则 : 1、以字母开头,其后可以是字母、数字或下划线字符(不能包含英文标点符号、空格); 2、VB不区分名字中字母的大小写(符号常量一般用大写字母定义) 3、不得超过255个字符; 4、不能使用VB的保留字; 5、同一作用域,不能重名。

3.2.3 常量的声明 常量的声明符及其定义的位置不同,有效作用范围不同。分如下三种情况(三个作用域)。 3.2.3 常量的声明 常量的声明符及其定义的位置不同,有效作用范围不同。分如下三种情况(三个作用域)。 1、过程级常量(LOCAL 局部),在过程中声明的常量,只能在该过程中使用,即有效作用范围是该过程。语法: Const constantname [As Type] = expression constantname 是常量名; As type 常量类型,如省略由所赋值确定常量类型; expression 由数值常数或字符串常数以及运算符组成,但不能使用函数调用。 过程内部直接用Const声明过程级常量。

3、全局级(工程级)常量(PUBLIC)在标准模块声明的常量,在工程的所有模块或窗体中都可用,语法: 2、模块级常量(MOUDULE/FORM),在模块、窗体的“通用”声明的常量或过程中用“Private”声明的常量,在声明它的模块或窗体中的所有过程中可用。语法: [Private] Const constantname [As Type] = expression 在通用中用Private或直接用Const声明窗体级常量 3、全局级(工程级)常量(PUBLIC)在标准模块声明的常量,在工程的所有模块或窗体中都可用,语法: Public Const constantname [As Type] = expression 声明全局级常量必须在标准模块中声明,不能在窗体模块中声明! Const关键字可定义多个符号常量,用逗号分隔: Const conX=1,conY =50.01

常量的声明举例 Const 语句定义数字: Const conPi = 3.14159265358979 Const conX=1,conY =50.01

§3.3 变量 定义:在程序运行时用来保存临时数据的空间,所以也称内存变量。程序通过变量名来操作变量,变量具有名字(用来引用变量所包含的值的词)和数据类型(确定变量能够存储的数据的种类)。 3.3.1 变量命名规则 3.3.2 变量的声明 3.3.3 变量的赋值 3.3.4 变量重名问题 3.3.5 字符串长度问题 3.3.6 Object 对象型变量 3.3.7变体类型(Variant) 3.3.8 变量数据类型转换

3.3.1 变量命名规则 VB 的命名约定在编写 VB代码时,要声明和命名许多元素(Sub 和 Function 过程、变量、常数等等)。声明的过程、变量和常量的名字,必须遵循一定规则。 变量命名规则同常量。 1、以字母开头,其后可以是字母、数字或下划线字符(不能包含英文标点符号、空格); 2、VB不区分名字中字母的大小写(符号常量一般用大定字母定义) 3、不得超过255个字符; 4、不能使用VB的保留字; 5、同一作用域,不能重名。

3.3.2 变量的声明 变量的作用域决定了一个变量在什么代码范围内可以被访问。 定义变量时使用的关键字以及定义变量的位置决定了变量的作用域。

定义变量的声明符及变量定义的位置不同,其有效作用范围也不同,分为工程级、模块级、过程级三个作用域. 1、过程级变量: 局部变量,其作用范围最小,只限于本过程。用Dim或Static在过程内声明: Dim | Static Temp As Integer 过程中的变量值对过程来说是局部的,也就是说,无法在一个过程中访问另一个过程中的变量。 在不同过程中可使用相同的变量名,而不必担心有什么冲突和意想不到的变故。

2、模块级:在模块的“通用” ->“声明”中声明 Private | Dim Temp As Integer 在本模块的各过程中都可以使用。 3、工程级(全局)变量: 在 “通用”->“声明”中声明。 Public Temp As Integer   整个工程内都可以使用 Dim和Static的区别: Dim定义的是动态过程变量,只在程序运行期间存在,不保留值。 Static定义的是静态变量,程序模块运行结束仍存在,并保留值。 Dim即可用于模块级变量的定义,也可用于过程级变量的定义;而Static只能定义过程级变量。 打开【例3.1】使用过程级变量

变量作用域举例: Dim abc As Interger Private Sub Command1_Click() abc = abc + 1 Print abc End Sub Private Sub Command2_Click() Private abc As Interger Static abc As Interger

变量的默认初值 定义了一个变量,如果没为它赋初值,则 数值型的默认初值为0 逻辑型为False (值为0,非0为Ture) 变长字符型的默认初值是“ ”空串 固定长字符型的默认值是固定长的“ ”空格串 日期时间型#0:00:00# 对象型 Nothing 变体 Empty

强制变量定义 Option Explicit VB默认情况下,所有未出现过的标识符,都被VB当成变体类型的变量。这样,使得程序不容易调试,可以在模块的声明段中加上: Option Explicit 在“工具”菜单中选取“选项”,单击“编辑器”选项卡,再复选“要求变量声明”选项。这样就在任何新模块中自动插入 Option Explicit 语句,但不会在已经建立起来的模块中自动插入;

3.3.3 变量的赋值 A = 100 * 20 在VB中赋值语句: [Let]变量名 = 表达式 3.3.3 变量的赋值 在VB中赋值语句:     [Let]变量名 = 表达式 Let旧版BASIC保留下来的,一般省略不写。 例:Dim A As Integer                 A = 100 * 20 打开【例3.2】使用模块级变量 打开【例3.3】为模块级变量赋初值

3.3.4 变量重名问题 1.不允许同名的情况:一般情况下,在同一作用域内不能定义重名的变量。 2.允许同名的情况:只要不发生冲突就可以。例: 不同过程中可以定义重名的过程级变量; 不同模块中可以定义重名的模块级变量; 等

3.3.5 字符串长度问题 String 变量或参数是一个可变长度的字符串。随着对字符串赋予新数据,它的长度可增可减。 也可以声明字符串具有固定长度,避免VB经常调整长度。 以下语法声明一个定长字符串: String * size 例: 声明一个长度为 50 字符的字符串 Dim EmpName As String * 50

3.3.6 Object 对象型变量 对象型变量,主要是针对VB中的多种控件对来使用。程序通过对象类型变量可间接地对它所引用对象进行操作。 使用对象变量与使用常规变量一样,只不过多了把对象赋予变量这一步:    首先声明变量:   Dim variable As class    然后把对象赋予变量: Set variable = object 在对象变量声明后,未赋值之前其默认值为 Nothing

3.3.7 变体类型(Variant) 变体类型变量可以存贮几乎所有系统定义类型的数据(除定长字符串、自定义类型)。把其它类型的数据赋给变体变量,变体变量的类型会随之变化。 变体变量在存放数值时,占16字节的内存;存放字符串时,占用22字节的内存+字符串长度。 定义变量时可以省略“As Variant”。变体变量也可以引用对象,赋值时须使用Set语句。 例:Dim vntFirs (定义变体变量) vntFirst=1234 (为数值型1234) Set vntFirst=cmdOK (对象型,对cmdOK的引用)

3.3.8 数据类型转换 VB允许不同类型的变量之间相互赋值,也允许把不同类型的值赋予某种类型的变量,VB会自动将所赋予的值转换为被赋值的变量的类型。 数值型转换: 浮点数转换为整型数时,小数部分“四舍五入”为整数(0.5要向最近的偶数靠拢)例: 4.515 ;4.54; 3.54; 字符串与数值转换: 数值可转为字符串; 只有由纯数字,或包含合理的字母组成的字符串才可能转为数值,否则出现“类型不匹配”错误 ;如“1.2e3”1200。

赋给数值型变量,False转换为0,True转换为-1。 数值型变量的值赋给逻辑变量,0转换为False,非0转换为True。 逻辑型值的转换: 赋给数值型变量,False转换为0,True转换为-1。 数值型变量的值赋给逻辑变量,0转换为False,非0转换为True。 日期时间型的转换: 日期时间型变量赋给数值型变量时,日期部分转换为数值的整数部分,值为此日期距1899年12月30日的天数;时间部分转换为小数部分,从零时到该时间占一整天的比例,12:00:00转为0.5。 例: dtm3=#3/18/1999 6:00:00# : sng2=dtm3 ‘sng2的值为“36237.25” 日期时间型变量转换为字符串时,按照日期的短格式字符串。

数据类型显示转换 VB自动完成某些数据转换,为提高运行速度,我们通常使用CType( )函数显式的转换。VB的转换函数包括:             CBool  转换为Boolean类型     CByte   转换为Byte类型     CCur    转换为Currency类型     CDate   转换为Date类型     CDbl    转换为Double类型 CDec    转换为Decimal型 CInt    转换为Integer类型     CLng    转换为Long类型     CSng    转换为Single类型     CStr    转换为String类型     CVar    转换为Variant类型

作业 网上提交: 例3.1、3.2、3.3 P70-73 习题 直接写在课本上,抽查。 上机练习: 本章例题、所有函数的使用。