VB教程课后习题的答案及解析 下载本文

内容发布更新时间 : 2024/11/7 14:43:04星期一 下面是文章的全部内容请认真阅读。

全国计算机等级考试二级Visual Basic习题集

=

第二章 标准控件和属性

1.下列可以激活属性窗口的操作是( D )

A)用鼠标双击窗体的任何部位 B)执行‘工程’菜单中的‘属性窗口’命令 C)按Ctrl+F4键 D)按F4键 2.确定一个控件在窗体上的位置的属性是( D )

A)Width或Height B)Width和Height C)Top或Left D)Top和Left 3.确定一个窗体或控件的大小的属性是( B )

A)Width或Height B)Width和Height C)Top或Left D)Top和Left 4.在Visual Basic中,所有标准控件都具有的属性是( B )。【2013年9月考试真题】 A) Caption B) Name C) Text D) Value

参考答案:B 【解析】VB标准控件中不同控件具有不同属性,有的相同有的不同,但都具有Name属性。故选B。 5.为了让计时器控件每隔10秒产生了一个Timer事件,应把Interval属性设置为( B ) A) 1000 B) 10000 C) 10 D) 100 6.下面关于单选按钮和复选框的叙述中正确的是( D )

A) 单选按钮被选中则它的Value属性为True;复选框被选中则它的Value属性为2 B) 单选按钮被选中则它的Value属性为True;复选框被选中则它的Value属性为True C) 单选按钮被选中则它的Value属性为1;复选框被选中则它的Value属性为1 D) 单选按钮被选中则它的Value属性为True;复选框被选中则它的Value属性为1 7.将文本框的ScrollBar设置为2,文本框中却没有垂直滚动条,其原因为( B ) A) 文本框的Locked属性值为True B) 文本框的MultiLine属性值为False C) 文本框的MultiLine属性值为True D) 文本框中没有内容

第三章 简单程序设计语句

1.在面向对象的程序设计中,可被对象识别的动作称为( B )。 【2013年9月考试真题】 A) 方法 B) 事件 C) 过程 D) 函数

参考答案:B【解析】在VB中可被对象识别的动作称为事件,事件是由用户或系统触发的,触发后就会执行相应的事件过程代码。故选B 2.以下打开Visual Basic菜单编辑器的操作中,错误的是( A )。 【2013年9月考试真题】 A) 执行\编辑\菜单中的\菜单编辑器\命令 B) 执行\工具\菜单中的\菜单编辑器\命令

C) 单击工具栏中的\菜单编辑器\按钮 D) 右击窗体,在弹出的快捷菜单中选择\菜单编辑器\命令

参考答案:A 【解析】在\编辑\菜单中没有\菜单编辑器\命令。故A选项错误。 3.假定窗体上有一个名称为txtMac的文本框,则执行语句txtMac=”MyText”后的结果为( D )

A) 把字符串”MyText”存入变量txtMac中 B) 把文本框txtMac的value属性设置为MyText C) 把文本框txtMac的Name属性设置为MyText D)在文本框txtMac中显示字符串”MyText” 4.为了使标签Label1透明且不具有边框,以下正确的属性设置是( D ) A) Label1.BackStyle=0 B) Label1.BackStyle=1 Label1.BorderStyle=1 Label1.BorderStyle=1 C) Label1.BackStyle=1 D) Label1.BackStyle=0 Label1.BorderStyle=0 Label1.BorderStyle=0 5.下列控件中,不响应Click事件的是( A )

A) 形状 B) 图像框 C) 标签 D) 框架

6.设窗体、框架、图片框(PictureBox)、图像框(Image)的名称分别是Form1、Frame1、Picture1、Image1,有下面4条语句: (1)form1.print “VB” (2) frame1.print “VB” (3) picture1.print “VB” (4) image1.print “VB” 其中正确的是( A )

A) (1)和(3) B) (1)和(2) C) (3)和(4) D) (2)和(3) 7.以下关于图片框、图像框的叙述中,正确的是( B )

A) 使用绘图方法能够在图像框上绘制图形 B) 图片框可以通过Print方法显示文本 C) 图片框的Stretch属性用来自动调整图片框中图形内容的大小 D) 图像框可以作为容器 8.假定Picture1和Text1分别为图片框和文本框的名称,则下列错误的语句是( B ) A) Debug.Print 25 B) Text1.Print 25 C) Picture1.Print 25 D) Print 25

参考答案:B 【解析】Print方法可以在窗体上显示文本字符串和表达式的值,并可在其他图形对象或打印机上输出信息。其一般 格式为: [对象名称.]Print[表达式表][,|;] 其中对象名称可以是窗体(Form)、图片框(PictureBox)或打印机(Printer),也可以是立即窗口(Debug)。如果省略对象名称,则在当前窗体上输出。 9.在用菜单编辑器设计菜单时,必须输入的项是( A )

A) 名称 B) 标题 C) 索引 D) 快捷键

第四章 VB程序设计基础

1.语句Print String(3,”string”)的功能是( B )

第 1 页

全国计算机等级考试二级Visual Basic习题集

A) 从字符串string第3个字符开始至末尾取子字符串 B) 在窗体上显示字符串sss

C) 从字符串string左起取出3个字符输出 D) 把数值型数据3转换为字符串 2.以下合法的VB变量名是( C )

A) print B) var name C) x_ D) 3x

参考答案:C【解析】VB中变量的命名规则为:①必须以字母或汉字开头②由字母、汉字、数字或下划线组成③不能使用VB已经占用的关键字。#_1中#是类型符号,变量名中不能用VB保留符号。故不合法。123_a以数字开头不合法。string是VB的关键字,也不合法。故C选项正确 3.VB变量x!的数据类型是( D )

A) 字符串类型 B) 双精度类型 C) 整型 D) 单精度类型

4.设程序中分别将a、b、c、d定义为布尔型、整型、字符串型、日期型变量,下列赋值语句错误的是( D )

A) c=5 & 10 B) d=#2013/01/01# C) b=4.6 D) a=#True# 5.Print Abs(-5^2)+Int(-5^2)的输出结果是( B )

A) 1 B) 0 C) -50 D) -1 6.VB中,若没有显式声明变量的数据类型,则默认的类型是( B )

A) 日期型 B) 变体类型 C) 字符型 D) 整型 7.以下不合法的VB变量名是( A )

A) _y B) filename C) e5 D) read 8.设a=10,b=4,c=5,d=7,表达式a>b And Not c

A) 0 B) 1 C) False D) True 9.要计算x的平方根并放入变量y,正确的语句是( D )。

A) y=Exp(x) B) y=Sgn(x) C) y=Int(x) D) y=Sqr(x)

参考答案:D 【解析】Exp函数是e为底的指数函数,即ex;Sgn是符号函数,正数返回1,负数返回-1,0返回0;Int是取整函数,取<=N 的最大整数;Sqr是求平方根函数。故D选项正确。 10. Print Right(\, 2)语句的输出结果是( C )。

A) VB B) Programming C) ng D) 2

参考答案:C【解析】Right是字串右截取函数,本题中是从字串\VB Programming\右边向左截2个字符,即为\ng\,故选C。 11. Print Format(1234.56, \语句的输出结果是( B )。

A) 123.4 B) 1234.6 C) 1234.5 D) 1234.56

参考答案:B 【解析】Format是格式输出函数,数据要按照\输出格式字符串\指定格式输出。\输出格式字符串\中#表示显示一数字,若此位置没有数字则不显示。本题中\输出格式字符串\整数部分###长度小于1234时,1234按原样输出,小数部分#长度为1,则小数部分保留一位,四舍五入取6,故选B。 12.表达式12 / 2\\4的值是( D )。

A) 1.5 B) 2 C) 4 D) 1

参考答案:D 【解析】运算符除 / 优先级高于整除、所以先计算/ ,再计算、结果是1,故选D。 13.有下面的程序段:

A=1.2 B=321

C=Len(Str(A)+Str(B)) Print C

执行上面的程序段,输出结果是( D )

A) 8 B) 5 C) 7 D) 6 14.下列程序段的输出结果是( B )

x=5

Print x+1;x+1

A) 5 5 B) 6 6 C) 5 6 D) 6 7 15.窗体上有2个名称分别为Text1和Text2的文本框。编写如下程序:

Private Sub Form_Load() Text1.Text=”” Text2.Text=”” End Sub

Private Sub Command1_Click() Print Text1.Text + Text2.Text End Sub

程序运行后,在Text1和Text2中依次输入100和200,并单击命令按钮Command1,则输出结果为( A ) A) 100200 B) 200 C) 100 D) 300

16.已知: x=-6 : y=39 则表达式\的值为( C )。【2013年3月考试真题】

A) -6.5 B) -6 C) 6 D) 6.5

答案:C【解析】本题按运算符从高到低优先级计算:*(\\,所以应该是39\\-6)*Sgn(-6)=39\\(-6)*(-1)=(39\\ 6=6 ,故选C 17.下列合法的变量名是( B )。【2013年9月考试真题】

A) sum-a B) num_9 C) print$ D) 5avg

答案:B【解析】VB中变量的命名规则为:①必须以字母或汉字开头②由字母、汉字、数字或下划线组成③不能使用VB的保留字。变量名sum-a中有-减号,不合法;print是VB保留字,不能作变量名,不合法;5avg不能以数字开头,不合法。故选B 18.下列有语法错误的赋值语句是( D )。【2013年9月考试真题】

A) y=7=9 B) s=m+n C) Text1.Text=10 D) m+n=12

第 2 页

全国计算机等级考试二级Visual Basic习题集

参考答案:D 【解析】赋值语句的格式是:变量名=表达式。赋值号左边必须是变量名,不能是表达式或常量。D选项中赋值号左边m+n是表达式,不是变量名,故D选项错误。 19.如果在程序中直接使用了没有声明的变量,则它的数据类型是( B )

A) 逻辑型 B) 变体型 C) 整型 D) 字符串型

20.语句:Print Asc(Chr$(Mid$(“98765432”, 4, 2)))的输出是( A )

A) 65 B) W C) A D) 8765

21.设变量x中的值是395,则下面语句的输出是( A )

Print x \\ 100 +((x Mod 100) \\ 10) *10 +(x Mod 10) * 100

A) 593 B) 935 C) 539 D) 395

参考答案:A 【解析】本题中x定义为整型变量,通过输入对话框输入395,按\确定\按钮后,InputBox函数把返回值395赋给变量x。表达式395 Mod 10 ,结果是5,395\\100结果为3,(395 Mod 100)\\10 的结果为9。故A选项正确。

第五章 特殊对象及特殊属性

1.设程序中有以下语句:MsgBox “Visual” , , “Basic” , “等级考试” , 2 执行该语句后,显示一个信息框,以下关于该信息框的叙述中,正确的是( C )

A) 提示信息是Basic B) 标题栏显示为Visual C) 提示信息是Visual D) 标题栏显示为”等级考试” 参考答案:C 【解析】MsgBox函数的作用:在对话框中显示消息,等待用户单击按钮,并返回一整数,告诉用户单击哪一个按钮。Msgbox函数的格式是:MsgBox(提示信息[, 按钮样式][, 标题信息][, 帮助文件, 帮助上下文编号])。故C选项正确。 2.窗体上有一个名称为Command1的命令按钮,其事件过程如下:

Private Sub Command1_Click() x=\ a=Right(x, 11) b=Mid(x, 7, 5) c=MsgBox(a , , b)

End Sub 运行程序后单击命令按钮。以下叙述中错误的是( D )。 A) 信息框的标题是Basic B) 信息框中的提示信息是Programming C) c的值是函数的返回值 D) MsgBox的使用格式有错 参考答案:D 【解析】Right(x,11)是从字符串变量x右边取11个字符,即“Programming”,这个字符串存入变量a中。Mid(x,7,5)是从字符串变量x的第7个字符开始取5个字符,即“Basic”,此字符串存入变量b中。MsgBox的格式为:MsgBox(Prompt[,Button][,Title]),参数中只有Prompt是必需的,如果省略Button则显示一个确定按钮,因此题目显示的消息框有一个确定按钮,标题是“Basic”,信息是“Programming”。MsgBox的返回值是一个与所选按钮有关的整数。

第六章 Visual Basic结构化程序语句

1.在窗体上画一个名称为Command1的命令按钮,编写如下事件过程:

Private Sub Command1_Click() n=0

For i=0 To 10 X=2 * i-1

If X Mod 3=0 Then n=n+1 Next i Print n

End Sub 运行程序,单击命令按钮,则窗体上显示的是( B )。

A) 1 B) 3 C) 5 D) 7

参考答案:B 【解析】Mod是取模运算符,即求运算两数相除的余数。每次循环中X的值分别是-1,1,3,5,7,9,11,13,15,17,19,其中与3求模为0的数有3、9、15共3个,因此n=n+1会执行3次,最终n=3。 2.设有以下程序:

Private Sub Form_Click() x=50

For i=1 To 4

y=InputBox(\请输入一个整数\ y=Val(y)

If y Mod 5=0 Then a=a+y x=y Else

a=a+x End If Next i Print a

End Sub 程序运行后,单击窗体,在输入对话框中依次输入15、24、35、46,输出结果为( A )。 A) 100 B) 50 C) 120 D) 70

第 3 页

全国计算机等级考试二级Visual Basic习题集

参考答案:A 【解析】程序的作用是输入的数如果是5的倍数就累加,如果不是就每次加50或与上次是5的倍数的那个数相累加。因此最终a的值是15+15+35+35=100。 3.在窗体上画1个命令按钮和2个文本框,其名称分别为Command1、Text1和Text2,然后编写如下事件过程: Private Sub Command1_Click() n = 0

a = Val(Text1.Text) While a > 0

n = n + a Mod 10 a = a \\ 10 Wend

text2.Text = Str(n) End Sub

程序运行后,在Text1中输入2468, ,单击Command1按钮,则在Text2中显示的是( B )

A) 10 B) 20 C) 2468 D) 8642 4.编写如下程序: Private Sub Form_Click( ) a=0

For i=1 to 20 step 3 a=a+i \\ 5 Next i Print a

End Sub 运行程序,单击窗体,输出结果为( D )

A) 14 B) 13 C) 12 D) 11 5.有如下程序:

Private Sub Form_Click()

Dim s As Integer, N As Integer s = 0 Do

s = (s + 1) * (s + 2) N = N + 1

Loop Until s >= 30 Print N; s

End Sub 运行程序,单击窗体,输出结果是( C )

A) 4 220 B) 1 30 C) 3 182 D) 2 42 6.有如下程序:

Private Sub Form_Click( ) Dim B As String

Dim m As Integer, Dec As Integer B=Inputbox(“请输入一个二进制数”) M=Len(B) For i=1 to m

Dec=Dec * 2 +Val( ______ ) Next i Print Dec End Sub

程序功能是,从键盘上输入一个二进制数,把它转换为等值的十进制数并输出。程序不完整,在_____处应填入的内容是:C

A) Right(B,i) B) Str(B) C) Mid(B,i,1) D) Left(B,i)

参考答案:C 【解析】将二进制数转换为十进制数需要将二进制数的每一位取出来进行运算,从一个数值字符串中截取一位数字字符要使用Mid函数,因此在程序空缺处该填入Mid。 7.设有如下程序:

Private Sub Form_Click() Dim a As String

a = InputBox(\输入一个字符串\ For i = Len(a) To 1 Step -1 Print Mid(a, i, 2); Next i

End Sub 运行程序,单击窗体,在输入对话框中输入ABCD,单击”确定”按钮,输出结果是( A )

A) DCDBCAB B) AABBCCDD C) DCBA D) DDCCBBAA 8.编写如下程序:

Private Sub Command1_Click( ) Dim n As Long , s As String n=InputBox(“输入一个数”) Do while n<>0

Print n \\ 10 Mod 10 ; Print n Mod 10 ;

第 4 页

全国计算机等级考试二级Visual Basic习题集

n=n \\ 100 Loop Print s End Sub

程序运行后,单击命令按钮Command1,并输入数值123456,则输出结果为( A )

A) 5 6 3 4 1 2 B) 6 4 2 5 3 1 C) 6 5 4 3 2 1 D) 6 1 5 2 4 3 9.编写如下程序:

Private Sub Command1_Click() Dim x As String, y As String x = Right(\ y = Mid(\ If x > y Then Print x + y Else

Print y + x End If

End Sub 程序运行后,单击命令按钮Command1,输出结果为( C )

A) cbacd B) cbcd C) cdcba D) cdcb 10.编写如下程序:

Private Sub Command1_Click() Dim x As Integer, y As Integer x = 1: y = 1 Do

y = x * y

If y > 10 Then Print x, y Exit Do Else

x = x + 3 End If

Loop While x <= 10

End Sub 运行程序,循环实际执行次数为( B )

A) 4 B) 2 C) 0 D) 3 11.编写如下程序:

Private Sub Command1_Click() Dim m As Integer, n As Integer m = 2: n = 1 Select Case m Case 1

Select Case n Case 1

Print \ Case 2

Print \ End Select Case 2

Print \ End Select End Sub

程序运行后,单击命令按钮Command1,输出结果为( B )

A) AAA B) CCC C) 1 D) BBB 12.在窗体上画一个命令按钮,然后编写如下事件过程: Private Sub Command1_Click() Dim I, Num Randomize Do

For I = 1 To 1000

Num = Int(Rnd * 100) Print Num;

Select Case Num Case 12 Exit For Case 58

第 5 页