2016 年浙江省信息技术学业水平考试 VB 知识点
(1)基本概念
“算法”指的是解题方法的精确而完整的描述,由有限个步骤组成。算法具有有穷性、确定
性、可执行性、有 0 个或多个输入、有一个或多个输出等特征。
(2)算法的表示
常用的算法表示形式有:自然语言、流程图和计算机语言等。
程序的基本控制结构
① 顺序结构
顺序结构是按语句的先后次序依次执行的程序控制结构。
例 1 有如下程序段:
x=5
y=6
x=y
y=x
该程序段运行后,y 的值为____________
print
y
② 分支结构
分支结构又称为选择结构。根据条件判断其是否成立,从而选择程序执行的方
向,执行其中的一个分支。
③ 循环结构
例 2 有如下程序段:
x=5
y=-20
if Not x>0 then
x=y-3
else
y=x+3
endif
该 程 序 段 运 行 后 , x 的 值 为
___________
例 3:有如下程序段:
e=0:f=1
For
e=e+f
f=f+e
Next i
该 程 序 段 运 行 后 , f 的 值 为
_____________
i=1 to 3
如何改成 Do while 形式
2、程序实现
(1)对象、属性、事件和事件处理的概念
◆对象:对象是客观存在的事物或概念。它有两个特点:状态和行为。类是相同
性质对象的一种抽象,而一个对象是类的一个"实例"。
◆属性:对象有自己的状态(外观),对象的的状态通过若干个属性来描述
◆方法:对象有自己的行为(动作),对象的行为是指对属性进行操作和处理的
方法(Method)
◆事件:事件(Event)就是发生在对象身上的事情,通常是由用户在对象上激
发的一种动作。
◆事件处理过程
一个事件的发生,可以引起某个对象上某个方法(事件处理过程)的
执行,即由某个事件驱动了相应的事件处理过程的执行。这就是面向对象程序设
计中的事件驱动概念。
事件处理过程
Sub 对象名_事件名()
语句...
End Sub
其中,事件处理过程名的表达规范:对象名_事件的标准名称。如 Command1_Click()
Form_Load()
Timer1_Timer()
面向对象程序设计的要点:
◆核心概念是对象。对象由一组描述对象状态的数据和一组描述处理对象方法的
代码构成的。对象的属性定义其外观,方法定义其行为,事件定义其与用户的交
互。
◆ 面向对象程序设计中的特征——事件驱动
(2)VisualBasic 应用程序的界面设计与调试
◆应用程序窗口:是窗口(窗体)设计的平台(窗体名称可以更换,默认为 Form1)
◆控件工具箱:用图表方式列出了许多工具(类),可以选择合适的工具放到应
用程序窗口(形成实例)
◆工程窗口:列出当前工程中的一些文件
◆属性窗口:每个对象都有自己的属性,通过修改对象的属性修改对象外观
◆代码窗口:双击窗体中某对象后,进入代码编写窗口
◆保存文件、生成 exe 文件
窗体文件扩展名:.frm
;工程文件扩展名:.vbp
文件---生成工程...将工程文件编译成可执行的 exe 文件
(3)基本数据类型、常量、变量、常用函数、一维数组
◆VB 基本数据类型
类型
符号
取值
实例
整型
Integer
(-32768~+32767)或 (0~2^16)
如:245,-99
长整型 Long
(-2147483648~+2147483647)
(0~2^32)
或
如:58723
实 数 型 单
精度
Single
有效位是 7 位内(科学记数法)
如:123.875,1.75643E+9
日期型 Date
可以有各种表示形式
#2007-03-05#
字符型 String
要用英文的双引号
“true” “中国”
逻辑型 Boolean
True
False
性别:true false
例 1.在 Visual Basic 中,用变量 p 存储数值 1.414,变量 p 的数据类型应定义为
(A)Boolean
(B)Integer
(C)Single
(D)Date
例 2.在 Visual Basic 中,用变量 x 存储房间号码"A0306",变量 x 的数据类型应定义为
(A)Double
(D)Boolean
(C)String
(B)Date
例 3.在 Visual Basic 中,用变量 y 存储"3:00PM",变量 y 的数据类型应定义为
(A)String
(C)Boolean
(B)Long
(D)Integer
◆ 常量:常量是在程序执行过程中其值保持不变的存储单元或数据。。有整数常量、实数
常量、字符串常量和逻辑常量四种。
自定义常量格式如下:
[Public|private]const 常量名 [as 数据类型]=表达式
例如:
在下面的程序中用到 PI 就代表 3.1415926
PI=3.1415926
Const
◆ 变量:变量是数据的一个存储区,在程序运行过程中,这些存储区的值是可以改变的。
命名规则:变量名由字母、数字和下划线等字符组成,必须以字母开头,在
变量名中对大小写是不加区分的。不能用保留字做变量名。
变量说明语句的常用形式为:Dim 变量名 As 变量的类型
(注意验证方法)
es@ ,Val
下列字符可以作为变量名吗?
12c, &bc ,
◆ 常用标准函数
1)常用的数学函数
Abs(X) --求变量 X 的绝对值 abs(-5.1)=5.1
Int(X) --求不大于 X 的最大整数,int(4.5)=4
int(-4.5)=-5
--截掉数据的小数部分 fix(4.5)=4
int(-4.5)=-4
Fix(X)
Sqr(X) --求 X 的算术平方根
Exp(X) --指数函数,求 e 的 X 次方
Sin(X) --求 X 的正弦值
sqr(25)=5
2)常用的类型转换函数
Asc(X) --字符 X 转换为 ASCII 例 asc("A")=65
Chr(X) --ASCII 码转换为字符 例 chr(65)="A"
Val(X) --数字字符串转换为数值 例 val("123")=123
Str(X) --数值转换为字符串
例 str(123)="123"
3)常用的字符串函数
Len(x)
Mid(X,n,k)
练习
例 1.在 Visual Basic 中,下列表达式的值等于 3 的是
(A)Int(3.14)
(B)Abs(-3.14)
(C)Sqr(9.2)
例 2.在 Visual Basic 中,若 x=6.1786,则表达式 Int(x+0.5)的值是
(A) 6
(C) 6.6
(B) 6.1
例 3.在 Visual Basic 中,表达式 Int(sqr(10))的值是
(A)5
(B)4
(C)3
(D)Len("3.1415")
(D) 7
(D)10
◆ 一位数组
数组是由一批同类型的变量构成的一个序列,组成数组的每一个变量被称为数组
的元素,也称下标变量,下标是一个整数,用来指出某个元素在数组中的位置
一维数组定义:Dim 数组变量名(A1 To A2) As 元素类型
其中 A1 是下标的下界,A2 是下标的上界
Dim A(-2 to 2) as integer 共有 5 几个元素。分别是什么?
共有 4 几个元素。分别是什么?
Dim A(3) as integer
练习:
例 1.在 Visual Basic 中,用数组 a 存储 50 位同学一次数学考试分数,合适的
数组定义语句是
(A)Dim a(1 To 50) As Single
(C)Dim a(1 , 20) As Integer
(B)Dim a(1 To 50) As Boolean
(D)Dim a(1 , 10) As Long
例 2.某数列前三项分别为:a1 = 2、a2 = 3、a3 = 4,以后每项都满足:
ai = ai-3 + ai-1
(i>3)
如果用数组 a 存储该数列的前 20 项,下面程序段划线处应填入
a(1)=2 : a(2)=3 : a(3)=4
For i=______ To 20
a(i) = a(i - 3) + a(i - 1)
Next i
(A)6
(B)9
(C)13
(D)4
例 3.有如下 Visual Basic 程序段:
Dim a(1 To 10) As Integer, i As Integer, m As Integer
m = a(1)
i = 2
Do While i <= 10
If m < a(i) Then m = a(i)
i = i + 1
Loop
已知数组 a 中 a(1)、a(2)、…、a(10)保存的数值分别为:56、32、12、24、
77、89、90、7、3、11,问:
(1)循环刚退出时,变量 i 的值为____________。
(2)该程序段运行后,变量 m 的值为____________。
(4)算数、关系、逻辑三类基本运算及表达式
◆ 算术类基本运算
^(乘方)、-(负号)、*(乘)、/(实数除)、\(整除)、Mod(取余)、+(加)、
-(减)
例:25 mod 6 \2
◆ 关系类基本运算:
(关系运算符号用来比较两个数据的大小情况,结果返回一个逻辑值,真 TRUE
=、 <>(不等于)、 <、 >、 <=、 >=
或者假 FALSE)
1990 MOD 4=0
“abc”<>“abd”
150<>100
10<=25
◆ 逻辑类运算符 Not(逻辑否) 、And(逻辑乘) 、Or(逻辑或)
Not(100<>10)
10=100/10
与 AND 只有两边都为真时才真,跟 并且 类似,
举例:上电脑课要求有电且机房空着
T and T =T
T and F =F
F and F =F
(25>=10)AND(25<=10)
或 OR 只有两边都为假时才为假,跟 或者 类似,
举例:身份证或者学生证可以证明身份
T or T =T
T or F =T
F or F =F
(25>1000)OR(25<2)
◆ 字符串连接符 +
&
◆VB 基本运算的优先级
(a)优先级按照大类:算术运算>关系运算>逻辑运算
(b)算术及逻辑运算的内部优先级:前高后低
(c)关系运算的所有运算的优先级相同
()(1 级)、^(乘方)(2 级)、-(负号,3 级)、*(乘)、/(实数除,4 级)、\
(整除,5 级)、Mod(取余,6 级)、+(加)、-(减)(7 级)、=、 <>(不等
于)、 <、 >、 <=、 >=(8 级)、Not(9 级)、And(10 级) 、Or(11 级)
练习:
例 1.在 Visual Basic 中,如果 a=3,b=4,c=-5,那么下列表达式值为假的是
( A ) (a>b) And
(b>c)
(B)(a>c) And
(b>a)
(C)(a>b) Or (b>c) (D)(a>c) Or (b>a)
例 2.在 Visual Basic 中,若 x、y 都是整数,且 x≥y,则下列逻辑表达式值一
定为真的是
(A)Not (xy
(C)x=y
例 3.在 Visual Basic 中,若 x、y 都是正整数,且 x 能被 y 整除,则下列表达
式值一定为真的是
(A)x/y=0
(B)Sqr(x\y)=x\y (C)Int(x\y)=0
(D)Int(x/y)=x/y
例 4.把星期一记为 1,星期二记为 2,……,星期日记为 0,已知某月 1 日(即
第 1 天)是星期一,下列语句中,用于正确计算该月第 n 日星期数 w 的是
(A)w=n Mod 7
(B)w=(n+1) Mod 7 (C)w=(n+1)\7
(D)w=n\7
(5)赋值语句、选择语句、循环语句、注释语句
◆ 赋值语句
1)赋值语句格式 1: 变量名 = 表达式
2)赋值语句格式 2: 对象名.属性名 = 表达式(赋予给对象的某个属性)
3) 赋值语句格式 3: 例如:D(3) = 表达式 (将表达式赋予给数组元素)
4)冒号:可以让多个语句写在同一行。如 a=2 : b=3 : : x=val(text1.text)
(将表达式的计算结果赋予给变量)
练习:
例 1.在 Visual Basic 中,如果给变量 a、b 都赋值为 3,则下列语句正确的是
(A)a=3:b=3
(C)a=3,b=3
(B)a=b=3
(D)b=a=3
例 2.在 Visual Basic 中,将表达式 b+2 的值赋给变量 a,正确的赋值语句是
(A)b+2=a
(B)2+b=a
(C)a=b+2
(D)a+b=2
◆选择语句
条件表达式 Then
1) 行 If 语句:(一行内写完)
If
或 If 条件表达式 Then
例 1: if a>=b then s=1 else s=-1
例 2: if d>=10 and d<=100 then count=count+1
语句 1
语句
Else
语句 2
2) 块 If 语句
If 条件表达式 1 Then
语句块 1
Else if 条件表达式 2 Then
语句块 2
…………
Else if 条件表达式 n Then
语句块 n
Else
语句块 0
End If
例 1.在 Visual Basic 中,若 a=4,b=3,语句 If a>b Then c=a+1 Else c=b-1 执行后,下
列说法正确的是
(A)执行了语句 c=a+1
(C)执行了语句 c=b-1
(B)先执行 c=a+1,再执行 c=b-1
(D)先执行 c=b-1,再执行 c=a+1
◆ 循环语句
Do While …… Loop 循环语句
1)循环的执行次数预先不知道,但知道循环执行的条件
2)语句格式:
Do While 条件表达式
循环体(语句序列)
Loop
3)条件成立则执行循环体语句,条件不成立则结束循环(跳到 loop 语句的后面)
4)循环体里面,一定要改变循环控制变量
t=0
Do While t<10
例 1.在下面完整的 Visual Basic 的 Do 语句中,有错误的语句行是
#01
#02
#03
#04
t=t+2
End Do
(A) 第#01 行
(B) 第#02 行
(C) 第#03 行
(D) 第#04 行
For ……Next 循环语句
1)For ……Next 循环语句格式
For 循环变量 = 初值 To 终值
循环体语句系列
Next 循环变量
Step 步长
2)步长可以为正(递增),也可以为负(递减),但不可以为 0
3)若步长为 1,则 step 1 可以省略
4)循环尾 next 后面的变量与 For 后面的循环变量必须一致,执行到 next 时,自动把循环
变量增加一个步长值,然后转到循环头!
5)总之,For…Next 循环是循环次数能预先确定,循环变量能自动改变的循环!
例题 1:
计算 s=1^2+3^2+5^2+......+99^2 的值
方法 1:用 for 循环实现
S=0
For i=1 to 99 step 2
S=s+i^2
Next i
输出 S 的值
方法 1:用 Do while 循环实现
S=0
I=1
Do while i<=99
S=s+i^2
i=i+2
Loop
输出 S 的值
计算 s=1-2+3-4+.....+99-100 的值
S=0