visual - Basic程序设计教程 - 课后习题答案及练习 下载本文

考后答案网 www.khdaw.com 23、VB支持自定义数据类型,在某程序中我们定义了如下类型:

Student

As string As String As Integer Type

针对上述定义,如下几项用法正确的是( )

A.Student.name=\张三\ B.Dim s As Student

s.name=\张红\

C.Dim s As Type Student D.Dim s As Type s.name=\张三\ s.name=\张三\

24、一个工程中包含两个名称分别为Form1、Form2的窗体,一个名称为mdlFunc的标准模块。假定在Form1、Form2和mdlFunc中分别建立了自定义过程,其定义格式为:

Form1中定义的过程: Private Sub frmfunction1() End Sub

Form2中定义的过程: Public Sub frmfunction2() End Sub

mdlFunc中定义的过程: Public Sub mdlFunction() End Sub

在调用上述过程的程序中,如果不指明窗体或模块的名称,则以下叙述中正确的是( ) A.上述三个过程都可以在工程中的任何窗体或模块中直接被调用 B.只有mdlFunction过程能够被工程中各个窗体或模块直接被调用

C.frmfunction1只能在form1中调用,而frmfunction2 则可以在所有模块或窗体中被直接

第 11 页 共 32 页

考后答案网 www.khdaw.com 调用

D.上述三个过程都只能在各自被定义的模块中直接调用

25、VB中Do……Loop结构既可以构成当型循环,也可以构成直到型循环,根据下面的代码:

Dim i,n as Integer n = 20 i = 1 Do Print i; i = i + 2 Loop Until i >20

判断循环结构的类型和循环体的执行次数,正确的选项是( ) A.当型循环,20次 C.当型循环,10次

B.直到型循环,10次 D.直到型循环,20次

26、在程序中,使用InputBox函数可以接受用户的输入,如果要把它的返回值转换为数值型的数据,应该使用的函数是( )

A.Val

B.Len

C.Str D.Log

27、动态数组因为在程序运行前无法确定数组的大小,所以经常根据程序的运行情况,对数组进行重新定义,以下关于VB中动态数组的叙述中不正确的是( )

A.可以用ReDim语句重新定义动态数组,并且可以进行多次重定义 B.首次用Dim进行动态数组声明的时候,必须指明它的类型和上下界 C.Preserve为ReDim语句的可选参数,用于保留动态数组原来的内容 D.当对动态数组使用Erase语句进行释放操作时,将释放其内存

28、VB中的控件也叫做部件或组件,主要包括三类,以下哪一项不属于VB控件的分类( )

A.控件

B.可插入对象

D.ActiveX控件

C.ADO控件

第 12 页 共 32 页

考后答案网 www.khdaw.com 29、表达式4+5 \\ 6 * 7 / 8 Mod 9 的值是( )

A.4

B.5

C.6

D.7

30、可以同时删除字符串前导和尾部空白的函数是( )

A.Ltrim

B.Rtrim

C.Trim

D.Mid

三、简答题

1、全局变量声明有哪些限制?

2、字符串是否可以自动转换为数字类型?

3、用Format函数格式化后的字符格式在不同区域环境下的输出是否相同?为什么? 4、在InputBox函数中,哪一个参数是必需的? 5、在MsgBox函数中哪一个参数是必须的? 6、在什么情况下使用过程? 7、为什么要进行程序调试? 8、调试程序有哪些手段?

9、用语句Dim A(-3 To 5) As Integer定义的数组的元素个数是多少?

10、设有如下的Visual Basic表达式:5*x^2-3*x-2*Sin(a)/3,与它对应的数学式是什么? 11、数学式(2x?a)(3y?b)对应的VB表达式是什么? 12、表达式2>3 And 4<=5 Or 4>4的值是什么? 13、怎样在程序中设置断点? 14、在什么情况下可以设置断点? 15、程序出错的类型有哪几种?

16、在同一模块、不同过程中声明的相同变量名,两者是否表示同一个变量?为什么? 17、什么情况下会出现“数组下标越界错误”? 18、逐语句和逐过程有什么区别? 19、表达式2.75 * 2 \\ 3.45的值是什么? 20、在程序设计中为什么尽量不用GoTo语句?

四、读程序题

第 13 页 共 32 页

考后答案网 www.khdaw.com 1、分析以下程序,写出运行结果。

Private Sub Form_Click() score = Int(Rnd * 10) + 80 Select Case score Case Is < 60 A$ = \ Case 60 To 69 A$ = \ Case 70 To 79 A$ = \ Case 80 To 89 A$ = \ Case Else A$ = \ End Select Print A$ End Sub

2、读下面的程序,分析其功能,写出运行结果。

在窗体上有一个命令按钮,名称为Command1。然后编写如下程序:

Private Sub Command1_Click() For I = 1 To 4 For J = 0 To I Print Chr$(65 + I); Next J Print Next I

第 14 页 共 32 页

考后答案网 www.khdaw.com End Sub

程序运行后,如果单击命令按钮,则在窗体上显示的内容是什么? 3、阅读下面的程序,分析并写出其功能。

Sub insert(a() As Single,ByVal x As Single) Dim m as integer,n as integer n=1

Do While n<20 And x>a(n) n=n+1

Loop

For m=20-1 To n Step –1

a(m+1)=a(m)

Next m a(n)=x End Sub

4、分析以下程序,写出运行结果。 Sub subP(b() As Integer) For i =1 To 4 b(i)=2*i Next i End Sub

Private Sub Commandl_Click() Dim a(1 To 4)As Integer a (1)=5 a (2)=6 a (3)=7

第 15 页 共 32 页