第二章 Visual Basic语言基础
2.1 Visual Basic的基本数据类型
数据的类型 是指数据在计算机内部的表述和
存储形式。 Visual Basic提供了 11种基本数据类
型和一种用户自定义数据类型 。
2.1.1 用于保存数值的数据类型
Visual Basic中用于保存数值的数据类型有 6
种:整型( Integer)、长整型( Long)、单精度
型( Single)、双精度型( Double)、字节型
( Byte)和货币型( Currency)。
? 整型数据
整型数据包括整型( Integer)和长整型
( Long),用于保存不带小数点和指数符号
的整数。与浮点数相比,整型数据运算速度
快、占用内存少,但数据的取值范围较小。
? 浮点型数据
浮点数包括单精度型( Single)和双精
度型( Double),用于保存带小数点的实数。
? 货币型
货币型( Currency)数据是定点数或整
数,用于计算货币的数量,最多保留小数
点右边 4位和小数点左边 15位。
? 字节型
字节型 (Byte)数据用于存储一个字节的
无符号整数,其取值范围为 0~ 255。除一
元减法外,所有可对整数操作的运算符均
可以操作 Byte数据类型。
? 日期型数据
日期型( Date)数据按8个字节的浮点
数来存储日期,它可以表示的日期范围从
公元 100年 1月 1日到 9999年 12月 31日,而
时间可以从 00:00:00到 23:59:59。
? 字符串型数据
字符型数据( String)用于表示连续的
字符序列,专用于存放文字信息。
? 逻辑型数据
逻辑型数据( Boolean)用于表示逻辑
量,占用两个字节。其取值只有两个:
True(真 )或 False(假 )。
? 对象型数据
对象型数据( Object)可以被用来引用
应用程序所能识别的任何实际对象,占用
4个字节。
? 变体型数据
变体型( Variant)数据是 Visual Basic
提供的一种特殊数据类型,是所有未声明
变量的默认数据类型。
2.2 常量与变量
前一节介绍了 Visual Basic的基本数据
类型,在程序设计中,这些不同类型的数据
既可以常量的形式出现,也可以变量的形式
出现。常量是那些在程序运行过程中,其值
不发生改变的量;而变量在程序运行过程中,
其值是可以改变的。
2.2.1 常量
常量是指在程序运行过程中其值始终保持
不变的量。常量有三种:直接常量、符号常
量和系统常量。
2.2.2 变量
变量是指在程序运行过程中可以改变其值
的量,用于存储程序运行时的临时数据,在
内存中占用 — 定的字节空间。在程序执行的
每个瞬间,变量的值都是确定的、已知的,
但在程序的整个执行过程中,变量的值又是
可以变化的。
1、变量命名规则
2、变量的声明
( 1) 变量的显式声明
声明变量的语句的语法是:
{Dim| Private| Static| Public} <变量名 >
[As <类型 > ][,<变量名 2> [ As <类型
2> ]]…
( 2)变量的隐式声明
( 3)强制显式声明变量语句 Option Explicit
2.3 Visual Basic中的运算符
和运算表达式
运算是对数据进行加工处理的过程,描
述各种不同运算的符号称为运算符,而参与
运算的数据就称为操作数。由运算符和对应
的操作数所构成的一个有意义的式子就称为
表达式。
2.3.1 算术运算符与算术表达式
( 1)算术运算符
( 2)算术表达式书写规则
( 3)算术运算符的优先级
2.3.2 字符串运算符和字符串表达式
( 1)“+”的运算规则
( 2),&”的运算规则
2.3.3 日期表达式
日期表达式由算术运算符“+、-”、
算术表达式、日期型数据和日期型函数所组
成。
2.3.4 关系运算符与关系表达式
2.3.5 逻辑运算符与逻辑表达式
2.3.6 表达式的类型转换及执行顺序
( 1)不同数据类型的转换
( 2)执行顺序
2.4 Visual Basic程序书写规则
( 1)程序的注释
( 2)语句的断行
( 3)将多条语句写在同一行上
( 4) 使用不同进制的数
( 5)使用行号与标号
2.5 Visual Basic的常用内部函数
2.5.1 数学函数
2.5.2 数据类型转换函数
2.5.3 字符串操作函数
2.5.4 日期和时间函数
2.6 Visual Basic的基本输入输出语句
2.6.1 消息框 MsgBox
MsgBox函数的使用方式为:
变量 = MsgBox ( <提示信息 >[,<对话框类型
>][,<对话框标题 >])
[例 2-1] MsgBox的使用实例。
2.6.2 输入框 InputBox函数
[例 2-2]利用 InputBox函数,编写一个输入学
生姓名的对话框,输入完成后,把输入的学
生姓名打印在窗体上。
2.6.3 Print方法
1.使用 Print方法
[例 2-3]编写程序用输入框输入球的半径,然
后计算球的体积和表面积,并使用 Print方法
在窗体中直接输出结果,
2,与 Print方法有关的函数
(1)Tab函数
(2) Spc函数
2.6.4 格式输出函数
格式输出函数 Format可以使数值、日期
或字符按指定的格式输出,常用于 Print方法
中。其语法格式为:
? Format (表达式 [,格式字符串 ])
(1) 数值的格式化
(2) 日期和时间格式化
[例 2-4]下面的程序通过 Format函数,用 print
语句在屏幕上显示的日期和时间。
(3) 字符串格式化
2.7 Visual Basic的基本控制结构
2.7.1 顺序结构
[例 2-5]编写程序交换两个变量中的数据。
2.7.2 条件分支结构
( 1)简单分支结构(单分支结构)
( 2)选择分支语句(双分支结构)
( 3)多分支结构
[例 2-6]编程将学生的百分制成绩转换成等级制,
90分以上(包括 90)为 A,80~90分(包括 80)
为 B,70~80分(包括 70)为 C,60~70分(包
括 60)为 D,60分以下为 F。
[例 2-7]将 [例题 2-6]的程序用 Select Case语句
编写如下 。
[例 2-8]某商场采用购物打折的优惠办法促销,
每位顾客一次购物
在 100元以上,按九五折优惠;
在 500元以上,按九折优惠;
在 1000元以上,按八五折优惠;
在 5000元以上,按八折优惠。
编写程序,输入顾客的购物款,计算并
显示出顾客的实际应付款。
( 4) If语句的嵌套使用
[例 2-9]某企业为了推销其产品,提出一项优惠措施。
规定凡购买其产品 10吨以下者,每吨产品的价格为
1500元;购买超过 10吨但不足 15吨者,超过的部分
按每吨 1200元计价;购买超过 15吨时,其超过 15吨
的部分按每吨 1000元计价。编写程序,输入购买产
品重量,计算并显示应付货款。
( 5)使用 IIf函数
IIf函数可以用来执行一些简单的条件判断操作,
在有些场合可以代替,If …Then-…ElseIf” 的简单应
用。 IIf函数的语法格式是:
变量 = IIf (条件表达式,True部分,False部分 )
2.7.3 循环控制结构
( 1) For…Next 循环
[例 2-10]计算并显示 1+2+3+4+……+100 的和。
[例 2-11]编写程序显示 100~ 1000以内所有能被
77整除的自然数。
( 2) Do…Loop 循环
[例 2-12]用 Do循环编写,编程计算 0~200之间所
有偶数之和。
[例 2-13]数学上把只能被 1或自身整除的整数称
为素数。编写程序用键盘输入一个大于 2的整
数,并判断该数是否是素数。
( 3) While…Wend 循环
[例 2-14]利用公式可以求出自然对数的底的近
似值,要求累加到最后
一项的值小于 0.000001为止。用
While…Wend 循环结构编写的计算程序
( 4)多重循环
[例 2-15] 编写程序在窗体上输出图形。
[例 2-16]编写程序,在窗体上输出 100~200之间的
所有素数。
[例 2-17]编写程序打印九九乘法表。
!
1
!3
1
!2
1
!1
11
Ne ?????? ?
2.7.4 其它辅助控制语句
( 1) GoTo 语句
[例 2-18]编写程序计算存款利息。设本金为
1000元,年利率为 0.02,每年复利计息一次,
求 10年后本利合计是多少。
( 2) On Goto 语句
( 3) End 语句
2.8 数组
2.8.1 数组的基本概念
( 1)数组、数组元素
( 2)数组的类型
( 3)数组的维数
( 4)数组的形式
2.8.2 静态数组
数组的声明
2.8.3数组的使用
[例 2-19]随机产生 10个小于 100的整数,找出其
最大值、最小值和平均值。
[例 2-20]利用冒泡法,编程将一组无序的数据
按从大到小的顺序排列。
2.8.4 动态数组
[例 2-21]编写程序,输出杨辉三角形( Pascal
三角形)。
2.8.5 几个与数组有关的函数
( 1) Array函数
( 2) UBound函数和 Lbound函数
2.9 常用算法的应用
前面我们在介绍 Visual Basic基本知识
的同时,还介绍了一些常用的算法,如累加、
连乘、求素数等。下面再介绍一些程序实例,
以巩固所学的知识。
[例 2-22] 编写程序求解百元买百鸡问题 。
[例 2-23] 猴子吃桃子。
[例 2-24] 用选择排序法,编程将一组无序的
数据按从小到大的顺序排列。
[例 2-25] 编程查找 5× 5整型数组中所有的在
行上最大、在列上也最大的元素。