天天动画片 > 八卦谈 > VB语言基础

VB语言基础

八卦谈 佚名 2023-01-01 08:43:06

专题二 VB语言基础

【考纲标准】

考试内容

考试要求

1.对象、属性、事件和事件处理的概念

c

2.VB应用程序的界面设计与调试

c

3.基本数据类型、常量、变量、常用的标准函数(Abs、Int、Sqr、Rnd、Val、Str、Len、Mid、Asc、Chr)

c

4.算术、关系、逻辑三类基本运算及表达式

c

5.常用VB语句

c

 

 

1.(2019·1月浙江学考)下列VB表达式的值等于8的是(  )

A.Abs(-8.3)    B.Int(Rnd*7+1)

C.Len(2+6)    D.18 Mod 10

解析 本题考核的知识点是常见的标准函数应用。A选项的值为8.3,B选项的值为[1,7]之间的整数,C选项的值为3,D选项的值为8。

答案 D

2.(2020·1月样卷) 产生一个在[10,99]中随机整数的VB表达式是(  )

A.Int(Rnd * 99)    B.10 + Int(Rnd * 99)

C.10 + Int(Rnd * 89)    D.10 + Int(Rnd * 90)

解析 本题考核的知识点是常见的标准函数应用。Rnd函数产生一个[0,1)之间的随机数。[10,99]可以转换为[10,100), 可以转换为[0,90)+10。

答案 D

3.(2017·11月浙江选考)有如下VB程序段:

n=0

For i=1 To Len(Text1.Text)

c=Mid(Text1.Text,i,1)

If c>="0" And c<="9" Then m=1 Else m=2

a(m)=a(m)+1

If a(m)=1 Then n=n+1

Next i

数组a各元素的初始值都为0,文本框Text1的内容为“Happy 2017”。执行该程序段后,变量n的值为(  )

A.1    B.2  

C.4    D.9

解析 本题考核的知识点是常见的标准函数应用。条件c>="0 " And c<="9"成立时,把数字的个数记入到a(1)中,共有4个,否则把出现的字符数记入到a(2)中,共有5个。a(1)和 a(2)等于1各出现一次。

答案 B

 

1.VB工程文件的扩展名是.vbp。窗体文件的扩展名是.frm,生成的可执行文件扩展名是.exe。

2.常见基本控件有标签Label、按钮CommandButton、文本框TextBox、列表框ListBox等。

3.常见的对象有窗体Form以及由控件生成的对象,如文本框Text1、列表框List1。

4.描述对象的状态和外观,称为对象的属性。描述对象的行为和动作,称为对象的方法。

考点1 控件和对象的关系

1.控件在窗体中形成对象,一类控件可以生成多个对象,但每个对象的名称必须是唯一的。类似于Flash软件中元件和实例的关系,元件在库中,实例在舞台上。

2.每个对象有宽、高、颜色和显示的文字内容等状态,称为属性,是对象的外观。可以在属性窗口中进行修改,由同一类控件生成的对象,其属性可以不相同。也可以通过程序代码进行修改对象的属性。

3.属性的表示方法:对象名.属性名。如Text1.Text、Label1.Caption、Command1.Caption。

4.对于属性的操作有往往两种,一种是修改属性,一种是把属性值赋给某个变量。

修改属性

属性值赋给某个变量

对象名.属性名=属性值

变量名=对象名.属性名

5.掌握常见对象的属性名

对象名称

常用属性

窗体(Form)

Caption

按钮(Command)

Caption

标签(Label)

Caption

文本框(Text)

Text

6.一个对象可以发生某些行为或动作,如清除列表框内容,向列表框中添加列表,这些称为对象的方法。如List1.AddItem 列表项、 List1.Clear。

【例1】 在VB中,同一窗体中某两个对象的属性窗口如下图所示。

 

关于这两个对象说法正确的有(  )

A.具有相同的背景颜色

B.只能在属性窗口中修改属性值

C.可以把对象Cmd1中的名称改为“Lab1”

D.显示的文字是一样的,因此是由同一类控件产生的对象

解析 本题考核的知识点是对象的属性。对象属性值可以在属性窗口中修改,也可以在程序代码中修改。一个窗口中不允许两个相同的对象名,题图中是两个不同类型的对象。

答案 A

【变式训练1】 在文本框Text1中输入了你好,实例修改了该对象的属性名称是(  )

A.BackColor    B.Caption

C.Text    D.Height

解析 窗体、按钮和标签上显示文字用Caption属性,程序运行时,都能显示内容,但不能输入修改内容。文本框通过Text属性,既可以输入信息,也可以输出信息。

答案 C

考点2 事件和事件处理过程

1.事件是发生在对象上的过程,通常是由用户在对象上激发的一种动作,如鼠标单击(Click)、窗体加载(Load)和按下某个键(KeyPress)等。

2.事件处理过程是针对某个具体对象某个事件编写的程序代码。

【例2】 某VB窗体中,事件窗口如下图所示。

 

则下列说法错误的是(  )

A.该窗体中已经编写了2个事件过程

B.当前正在编写的是Cmd1的Click事件

C.运行程序,当前窗体中有对象会显示用户名字样

D.仅把窗体中代码“Cmd1_Click”改为“Comand1_Click”,程序运行时,单击按钮可以运行该事件

解析 本题考核的知识点是事件及事件的处理过程。图中所示有Cmd1的Click事件和Form的Load事件,从图中所示,当前正在编辑Cmd1的Click事件。Form窗体的Load事件表示窗体装载或打开时就执行,因此会在Lab1对象上显示用户名字样。把对象名称修改后,程序运行时,找不到该对象,不会运行该事件。

答案 D

【变式训练2】 例2中的两个事件处理过程名称__________、____________________。

解析 事件处理过程名指某个对象的事件,中间用下划线连接。

答案 Cmd1_Click  Form_Load

考点3 写出下列常见标准函数的功能

函数名

功能

应用举例

函数返回值

Abs(x)

取x的绝对值

Abs(-6.3)

6.3

Int(x)

求不大于x的最大整数

Int(-63)

-7

Sqr(x)

求x的平方根

Sqr(9)

3

Rnd()

产生一个[0,1)之间小数

Rnd()

[0,1)之

间小数

Str(x)

将数值x转换成文本

Str(123)

“123”

Val(s)

将文本s转换成数值

Val(63)

63

Len(s)

求字符串s的长度

Len(Abc)

3

Mid(s,i,n)

在字符串s第i个位置开始n个字符

Mid(I am a

boy,3,2)

am

Asc(s)

求字符s的ASCII码值

Asc(A)

65

Chr(x)

将ASCII码值x转换成对应的字符

Chr(65)

A

2.算术类基本运算符及优先级按从高到低排列为

^(开方)-(取负) * 、/和\Mod+ —

3.关系类运算符  =、 >、 <、 <>、 >=、<=

4.逻辑类运算符 Not And Or

5.基本运算的优先级

算术类运算符关系类运算符逻辑类运算符

【例3】 下列VB表达式的值为False的是(  )

A.Sqr(4)>0 And 9>4    B.Not 3>2 Or 5>3

C.100/5 Mod 2^3\3=0    D.3+2>3 And 3>5 Or 6>8

解析 \是整除,相当于除法运算(/)后只保留整数部分,去掉小数部分(不四舍五入)。如:9/5=1.8,-9/5=-1.8。9\5=1,-9\5=-1。Int(x)是取整函数,是求小于等于x的最大整数值。如Int(1.8)=1,Int(-1.8)=-2。C选项表达式100/5 Mod 2^3\3运算顺序为:先算2^3结果为8,再算100/5结果为20,即20 Mod 8\3,然后算8\3,结果为2,最后运算20 mod 2,结果为0。0=0结果为True。

答案 D

【例4】 下列选项中,将数学公式2a|a-b|(a+b)改写成VB表达式,正确的是(  )

A.2*a*Abs(a-b)(Sqr(a+b))

B.Sqr(a+b)/2a*Abs(a-b)

C.Sqr(a+b)/(2*a*Abs(a-b))

D.Sqr(a+b)/(2a*Abs(a-b))

解析 VB中的表达式与数学中的表达式书写方式不同,在VB表达式中,乘号使用*,不能省略。分式写成除法,注意可以使用括号改变运算顺序。

答案 C

【例5】 VB标准函数Rnd的作用是返回一个大于等于0且小于1的随机实数,只产生大于等于10且小于100随机整数的VB表达式是(  )

A.Int(Rnd*100)    B.Int(Rnd*90+10)

C.Int(Rnd*99+1)    D.Int(Rnd*99+10)

解析 利用随机函数和取整函数组成的表达式可以产生某一区间的随机整数,题中随机整数的产生区间分别是:Int(Rnd*100)为[0,99);Int(Rnd*90+10)为[10,99];Int(Rnd*99+1)为[1,99);Int(Rnd*99+10)为[10,100]。

答案 B

考点4 程序调

编写的程序,如果出现语法和逻辑错误,在程序运行时,将会出现相应的错误提示。

1.要求对象。程序代码中出现了某个对象,但在窗体中没有这个对象,或者窗体中的对象修改了名称。

2.未找到方法或数据成员。属性或方法名称错误。

3.类型不匹配。赋值号两边的数据类型不一致。

4.溢出。计算的数值大小超出了整型范围。

5.程序结构出错。如选择结构的格式,For循环中没有Next语句配对,IF结构没有End IF等等。

6.子程序未定义。函数名称出错。

【例6】 某VB程序运行时出现了错误提示,运行界面和提示信息如下图所示:

 

程序代码如下。

Private Sub Command1_Click()

Dim x As Single

x = Val(Text1.Text) 

Text2.Text = Sqr(x) 

End Sub

则出现错误提示的可能原因是(  )

在文本框Text1中输入了一个负数 窗体中缺少文本框Text1 窗体中缺少文本框Text2 窗体中缺少按钮Command1 Text1对象没有Text属性 窗体中对象Text2修改为Txt2

A.①②③    B.②③④  

C.②③⑥    D.②④⑥

解析 本题考核的知识点是程序的调试。出现的错误提示是要求对象,是程序代码中的对象在窗体中找不到,代码中共涉及到Text1、Text2和Command1三个对象,若没有Command1对象,不能响应他的单击事件。

答案 C

【变式训练3】 在文本框Text1、Text2中输入内容,单击按钮Command1,在标签Label1、Label2中输出相关信息,代码如下:

 

Private Sub Command1_Click()

Dim a As Integer, b As Integer

a = Val(Text1.Text) ′

b = Val(Text2.Text)

a = a + b

b = a + b ′

Label1.Text = Str(a) ′

Label2.Caption = Abs(b) ′

End Sub

程序在运行时出现了如图所示的错误提示,则出错的语句是(  )

A.     B.  

C.    D.

解析 从错误提示信息来看,是对象的属性出现错误。对象label1没有Text属性。

答案 C

 

1.下列关于VB对象属性的叙述,正确的是(  )

A.标签中显示的文字存放在Text属性中

B.文本框的Caption属性可以设置文本框中显示的文字

C.在程序运行时,可以改变标签的Name属性

D.命令按钮的Caption属性可以设置按钮上显示的文字

解析 标签中显示的文字存放在Caption属性中;文本框的Text属性设置文本框中显示的文字;VB中的属性框中没有name属性,name属性是指属性框中(名称)属性,程序是通过name(名称)属性来确定控件的,name(名称)属性不能在运行时修改,只能设计控件时在属性框中修改。

答案 D

2.在VB窗体中有一个对象,该对象的属性窗口如图所示,下列说法不正确的是(  )

 

A.Interval为属性名

B.1680为属性值

C.该对象的名称为Timer1

D.根据“Timer1 Timer”可判断窗体名为Timer

解析 根据Timer1 Timer可判断该控件Timer1为计时器控件,不能判断窗体名。

答案 D

3.某同学用VB编写了一个应用程序,其程序代码窗口如图所示:

 

下列说法正确的是(  )

A.该窗体中共设计了3个事件过程

B.当前信息显示在属性窗口中

C.当前正在编辑的是Form对象的Load事件

D.程序运行时,单击按钮Command1,没有任何显示内容

答案 D

4.程序运行界面如图所示,要求在文本框Text1中输入字符串,单击统计按钮Command1后,在标签Label2中显示所输入字符串长度。需要编写的VB事件处理过程的名称为(  )

 

A.Command1_Click    B.Text1_Click

C.Form_Click    D.Label2_Click

答案 A

5.下列VB表达式中,结果为数值1的是(  )

A.Rnd()    B.Int(0.8)

C.Abs(Int(-0.6))    D.Str(1)

解析 Rnd()函数返回一个在区间[0,1)之间的随机数;Int(0.8)结果为0;Int(-0.6)值为-1,ABS(-1)结果为1;Str(1)是将数值型1转换为字符型的1

答案 C

6.在VB中,与表达式Len(程序设计)的结果相同的是(  )

A.程序设计    B.Str(4)

C.19 mod 5    D.Abs(-8)

解析 Len(程序设计)是求字符程序设计的长度,结果为数值4。Str(4)结果是字符型4;19 Mod 5是求19除以5的余数,结果是数值4;Abs(-8)是求-8的绝对值,结果是数值8 。

答案 C

7.在VB中,已知z、a、b均是正整数,当逻辑表达式(z Mod a=0)And(z Mod b=0)为真时,则表示(  )

A.z是a的倍数,但不是b的倍数

B.z既是a的倍数,又是b的倍数

C.z是a的倍数或者是b的倍数

D.z既不是a的倍数,也不是b的倍数

解析 本题考查逻辑表达式的应用。逻辑表达式And表示需要两个条件同时满足,结果才为真。

答案 B

8.表示区间[5,14]的VB表达式是(  )

A.Int(Rnd*5)+10    B.Int(Rnd*10)+5

C.Int(Rnd*10)+14    D.Int(Rnd*14)+5

解析 Int(Rnd*5)+10的区间为[10,14];Int(Rnd*10)+5的区间为[5,14];Int(Rnd*10)+14的区间为[14,23];Int(Rnd*14)+5的区间为[5,18]。

答案 B

9.下列Visual Basic表达式的值等于34的是(  )

A.Mid(1234567, 3,2)    B.Abs(-33)+1

C.Sqr(34)    D.Len(34)+1

解析 本题考核的知识点是基本函数的功能。Mid函数取出的是文本,Abs是绝对值,Sqr是算术平方根,Len是字符串的长度。

答案 B

10.如果a,b中任意一个为0,那么y=y+1,能实现该功能的VB语句是(  )

A.If a=0 And b=0 Then y=y+1

B.If a*b=0 Then y=y+1

C.If a=0,b=0 Then y=y+1

D.If a·b=0 Then y=y+1

答案 B

11.在标签“lblname”上显示存储姓名的变量name的值,正确的语句是(  )

A.lblname.caption = name

B.lblname.text = name

C.name = lblname.caption

D.name = lblname

答案 A

12.在VB中,能够使文本框Text1显示你好(不含引号)的代码是(  )

APrint Text1.Text= 你好

B.Text1.Text= 你好

C.Text1.Text= 你好

D.Text1.Font= 你好

答案 C

13.在VB中,应用程序窗体上有一个命令按钮,其名称属性值为“cmdStart”,则响应该命令按钮单击事件的过程名为(  )

A.Command1_Click    B.Command1_DblClick

C.cmdStart_Click    D.cmdStart_DblClick

答案 C

14.下列关于对象的描述中,错误的是(  )

A.对象的属性用于描述对象的状态

B.对象的属性与方法可以有多个

C.对象事件的发生会驱动该对象相应事件处理过程的执行

D.对象的属性值只能在属性窗口中设置

解析 对象的属性值也可以在程序代码中设置。

答案 D

15.某Visual Basic工程的代码窗口如图所示:

 

从图中可以看出,当前正在编辑的是(  )

A.Command1的Click事件过程代码

B.Text1的Click事件过程代码

C.Label1的Click事件过程代码

D.Form1的Load事件过程代码

答案 A

16.下列表达式的运算结果与其他选项不同的是(  )

A.Len(123) + 2 ^ 2        B.Abs(Int(-6.8))

C.Asc(Mid(789, 1, 1))     D.Val(9) - Sqr(4)

解析 ABD选项的值为7,C选项的值为7

答案 C

17.对于语句abc.Caption=你好,下列理解正确的是(  )

A.Caption称为属性值

B.该对象可能是标签、按钮或文本框

C.该语句的作用是将对象属性进行赋值

D.若流程图表示此算法,该语句应该在处理框中

解析 abc称为对象名,Caption是属性名,你好是属性值,有Caption属性的对象不可能是文本框。该语句的功能是在abc的对象上显示文字你好,因此是输出语句。

答案 C

18.下列VB函数返回值为数值的是(  )

A.Chr(x)    B.Str(x)

C.Val(x)    D.Mid(x,n,k)

解析 chr()函数是将一个ASCII码x转为相应的字符;Str(x)函数将数值型x转换为字符型的值;Val(x)函数将字符型x转换为数值;Mid(x,n,k)函数在字符串x中取从第n个字符开始的k个字符。

答案 C

19.下列表达式的值等于25的是(  )

A.Sqr(25)+25 Mod 10+15      B.Len(20+5)

C.Abs(-26)+1         D.Int(24.8)

解析 选项A相当于Sqr(25)+(25 Mod 10)+15=25。

答案 A

20.产生[1,50]范围内某一随机整数的表达式是(  )

A.Rnd * 50    B.Int(Rnd * 50)

C.Int(Rnd * 50)+1    D.Int(Rnd * 49)+1

答案 C

21.在Visual Basic程序中,设x为一个大于“0”的三位正整数,能得到x百位上数字的表达式是(  )

A.Int(x / 10)*10    B.Int(x / 100)*100

C.x - Int(x / 10)*10    D.Int(x / 100)

答案 D

22.在VB中,设a=2,b=3,c=4,表达式a<b Or c <=b And Not(3*a>c)值是(  )

A.2    B.3

C.True    D.False

解析 基本运算的优先级从高到低为:算术运算符>字符运算符>关系运算>逻辑运算,逻辑运算优先顺序为:Not>And>Or。

答案 C

23.对于Visual Basic语句If b=2 Then s=s*2 Else s=s/2,下列说法正确的是(  )

A.b=2为赋值语句

B.s=s*2和s=s/2均为赋值语句

C.s=s*2和s=s/2均为关系表达式

D.s=s*2为关系表达式,s=s/2为赋值语句

答案 B

24.某宾馆的房间号由5位字符组成(例如A0823表示A幢8层23号房间),末位数字为奇数时表示房间朝南,为偶数时表示房间朝北,字符串变量s中存储了1个房间号,下列能正确判断房间朝南的VB表达式是(  )

A.Val(Mid(s,5,1))Mod 2=1

B.Val(Mid(s,5,1))Mod 2=0

C.Val(Mid(s,5,1))\2=1

D.Val(Mid(s,5,1))\2=0

答案 A

25.骰子是一个正六面体,用1~6这六个数分别代表着六面,掷一次骰子出现的数可表示为(  )

A.INT(RND()+1)    B.INT(RND*6)

C.INT(RND()*7)    D.INT(RND()*6+1)

解析 INT(RND()+1)的值是1,INT(RND*6)的值范围是0~5六个数,INT(RND()*7)的值范围是0~6七个数。

答案 D

26.设计一个计算矩形面积的程序,在文本框Text1中输出计算结果,程序如下:

Private Sub Command1_Click()

Dim a As Integer, b As Integer, s As Single

a = 1: b = 3

s = a * b

Text1.Caption = Str(s)

End Sub

运行该程序后,单击按钮Command1,将会出现的错误提示是(  )

A.溢出

B.未找到方法或数据成员

C.无效的过程调用或参数

D.子程序或函数未定义

答案 B

27.运行如下程序段时,出现了如图所示的错误提示框:

Private Sub Command1_Click()

Dim r As Single, s As Single′

r = 10米

s = 3.14159 * r * r′

 Text2.Text = 某个半径为 + Str(r) + 米的圆,其面积为 + Str(s)+ 平方米。

End Sub

 

则程序中出错的语句是(  )

A.        B.       C.     D.

解析 r为单精度,不能加引号且为数字。

答案 B

28.运行如下程序代码,出现了如图所示错误提示,则出错的语句是(  )

 

Private Sub Command1_Click()

Dim a As Integer, b As Integer

Dim c As Integer ′

a = Val(Text1.Text) ′

b = Val(Text2.Text)

c = a + b ′

Label1.Caption = a+b= + c ′

End Sub

A.     B.      C.       D.

解析 错误提示是类型不匹配,字符串型不能和数值型进行连接或运算。

答案 D

 


本文标题:VB语言基础 - 八卦谈
本文地址:www.ttdhp.com/article/18801.html

天天动画片声明:登载此文出于传递更多信息之目的,并不意味着赞同其观点或证实其描述。
扫码关注我们