[解析] 栈是一种特殊的线性表,这种线性表只能在固定的一端进行插入和删除操作,允许插入和删除的一端称为栈顶,另一端称为栈底。一个新元素只能从栈顶一端进入,删除时,只能删除栈顶的元素,即刚刚被插入的元素。所以栈又称先进后出表(FILO,First In Last Out)。线性表可以顺序存储,也可以链式存储,而栈是一种线性表,也可以采用链式存储结构。
[解析] 关于软件测试的目的,Grenford J.Myers在《The Art of Software Testing》一书中给出了深刻的阐述:软件测试是为了发现错误而执行程序的过程;一个好的测试用例是指很可能找到迄今为止尚未发现的错误的用例;一个成功的测试是发现了至今尚未发现的错误的测试。整体来说,软件测试的目的就是尽可能多地发现程序中的错误。
14. 假定有如下的窗体事件过程: Private Sub Form_Click() a$="Microsoft Visual Basic" b$=Right(a$,5) c$=Mid(a$,1,9) MsgBoxa$,34,b$,c$,5 End Sub 程序运行后,单击窗体,则在弹出的信息框的标题栏中显示的信息是______。
17. 在窗体上画一个文本框,然后编写如下事件过程: Private Sub Form_Click() x=InputBox("请输入一个整数") Print x+Text1.Text End Sub 程序运行时,在文本框中输入456,然后单击窗体,在输入对话框中输入123,单击“确定”按钮后,在窗体上显示的内容为______。
18. 在窗体上画一个文本框和一个计时器控件,名称分别为Text1和Timerl,在属性窗口中把计时器的Interval属性设置为1000,Enabled属性设置为False。程序运行后,如果单击命令按钮,则每隔一秒钟在文本框中显示一次当前的时间。以下是实现上述操作的程序: Private Sub Commandl_Click() Timerl.______ End Sub Private Sub Timerl_Timer() Text1.Text=Time End Sub 在下划线处应填入的内容是______。
21. 在窗体上画一个命令按钮,其名称为Commandl,然后编写如下事件过程: Private Sub Commandl_click() Dim i As Integer,X As Integer For i=1 To 6 If i=1 Then x=i If i<=4 Then x=x+1 Else x=x+2 End If Next i Print x End Sub 程序运行后,单击命令按钮,其输出结果为______。
22. 在窗体上画一个名称为Commandl命令按钮,然后编写如下事件过程: Private Sub Commandl_click() c="ABCD" For n=1 To 4 Print______ Next End Sub 程序运行后,单击命令按钮,要求在窗体上显示如下内容 D CD BCD ABCD 则在______处填入的内容为。
26. 把窗体的KeyPreview属性设置为Tree,然后编写如下事件过程 Private Sub Form_KeyPress(KeyAscii As Integer) Dim ch As String ch=Chr(KeyAscii) KeyAscii=Asc(UCase(ch)) Print Chr(KeyAscii+2) End Sub 程序运行后,按键盘上的“A”键,则在窗体上显示的内容是______。
27. 在窗体上画一个命令按钮和一个文本框,名称分别为Commandl和Text1,然后编写如下程序: Private Sub Commandl_click() a=InputBox(“请输入日期(1~31)”) t="旅游景点:" & IIf(a>0 And a<=10,"长城","")_ & IIf(a>10 And a<=20,"故宫","")_ & IIf(a>20 And a<=31,"颐和园","") Text1.Text=t End Sub 程序运行后,如果从键盘上输入16,则在文本框显示的内容是______。
28. 在窗体上画一个名称为Labell的标签,然后编写如下事件过程: Private Sub Form_Click() Dim arr(10,10)As Integer Dim i As Integer,j As Integer For i =2 To 4 For j=2 To 4 arr(i,j)=i*j Next j Next i Labell.Caption=Str(arr(2,2)+arr(3,3)) End Sub 程序运行后,单击窗体,在标签中显示的内容是
29. 在窗体上画一个名称为Commandl的命令按钮,然后编写如下通用过程和命令按钮的事件过程: Private Function fun(By Val m As Integer) If m Mod 2=0 Then fun=2 Else fun=1 End If End Function Private Sub Commandl_Click() Dim i As Integer,s As Integer s=0 For i=1 To 5 s=s+fun(i) Next Print s End Sub 程序运行后,单击命令按钮,在窗体上显示的是______。
30. 阅读程序: Option Base 1 Dim arr()As Integer Private Sub Form_Click() Dim i As Integer,j As Integer ReDim arr(3,2) For i=1 To 3 For j=1 To 2 arr(i,j)=i*2+j Next j Next i ReDim Preserve arr(3,4) For j=3 To 4 arr(3,j)=j+9 Next j Print arr(3,2)+arr(3,4) End Sub 程序运行后,单击窗体,输入结果为______。
31. 在窗体上画一个名称为Commandl的命令按钮,然后编写如下程序: Option Base 1 Private Sub Commandl_Click() Dim c AS Integer,d As Integer d=0 c=6 x=Array(2,4,6,8,10,12) For i=1 To 6 If x(i)>c Then d=d+x(i) c=x(i) ElSe d=d-c End If Next Print d End Sub 程序运行后,如果单击命令按钮,则在窗体上输出的内容为
A.10
B.16
C.12
D.20
A B C D
C
[解析] Array函数是为数组赋值,而Option Base l是用来设置数组下标是从1开始。本题中,由于刚开始c的值为6,故前三个数组值不大于c,执行三次d=d-c,d=-18;而后三个数组值都大于c,执行三次d二d+ x(i),d=-18+8+10+12=12。
32. 设有如下程序: Private Sub Commandl_click() Dim c As Integer,d As Integer c=4 d=InputBox("请输入一个整数") Do While d>0 If d>c Then c=c+1 End If d=InputBox("请输入一个整数") Loop Print c+d End Sub 程序运行后,单击命令按钮,如果在输入对话框中依次输入1、2、3、4、5、6、7、8、9、 0,则输出结果是
A.12
B.11
C.10
D.9
A B C D
D
[解析] Do While语句是条件为True时,执行循环体。本题中当d>c时,执行c=c+1,即在输入对话框中输入5、6、7、8、9时执行该语句,也就是该语句被执行了5次,故c=4+1*5=9。而当在输入对话框中输入0时,循环结束,此时d=0。所以最后输出结果为9。
33. 在窗体上画一个名称为Commandl的命令按钮和一个名称为Text1的文本框,在文本框中输入以下字符串:Microsoft Visual Basic Programming 然后编写如下事件过程: Private Sub Commandl_Click() Open"d:\temp\outf,txt"For Ouput As #1 For i=1 To Len(Text1.Text) c=Mid(Text1.Text,i,1) If c>="A"And C<="Z"Then Print #1,LCase(C) End If Next i Close End Sub 程序运行后,单击命令按钮,文件outf.txt中的内容是______。
34. 在窗体上画一个名称为Commandl的命令按钮,然后编写如下程序: Dim SW As Boolean Function func(X As Integer)As Integer If X<20 Then Y=X Else Y=20+X End If func=Y End FunctiOn Phvate Sub Form_MouseDown(Button As Integer,Shift As Integer,X As Single,Y As Single) SW=False End Sub Phvate Sub Form_MouseUp(BuRon As Integer,Shin As Integer,X As Single,Y As Single) SW=Tree End Sub Pdvate Sub Commandl-Click() Dim intNum As Integer intNum=InputBox("") If SW Then Print func(intNum) End If End Sub 程序运行后,单击命令按钮,将显示一个输入对话框,如果在输入对话框中输入25,则程序的执行结果为______。
35. 设有如下通用过程: Public Sub Fun(a()As Integer,x As Integer) For i=1 To 5 x=x+a(i) Next End Sub 在窗体上画一个名称为Text1的文本框和一个名称为Commandl的命令按钮。然后编写如下的事件过程: Private Sub Commandl_Click() Dim arr(5)As Integer,n As Integer For i=1 To 5 arr(i)=i+i Next Fun arr,n Text1.Text=Str(n) End Sub 程序运行后,单击命令按钮,则在文本框中显示的内容是______。
7. 在窗体上画一个文本框和一个图片框,然后编写如下两个事件过程: Private Sub Form_Click() Text1.Text="VB程序设计" End Sub Private Sub Text1_Change() Picturel.Print"VB Programming" End Sub 程序运行后,单击窗体,则在文本框中显示的内容是,而在图片框中显示的内容是。
8. 阅读下面的程序: Private Sub Form_Click() Dim Check As Boolean,Counter As Integer Check=True Counter=5 Do Do While Counter<20 Counter=Counter+1 If Counter=10 Then Check=False Exit Do End If Loop Loop Until Check=False Print Counter End Sub 程序运行后,单击窗体,输出结果为。
10
[解析] Do While…Loop是先判断条件表达式的值是否为True,如果为True,则执行循环体,如果为False,则执行Loop后面的语句。Do'”Loop Until是先执行循环体,再判断条件表达式,如果表达式的值为True,则执行Loop后面的语句,如果为False,则继续执行循环体。而ExitDo则是强行退出循环。本题中,当Counter =10时,强行退出DoWhile循环,而由于此时Check二False,使得Umil的条件为Tree,结束外层循环。所以最终Counter=10。
9. 设有如下程序: Private Sub Form_Click() Dim n As Integer,s As Integer n=8 s=0 Do s=s+n n=n-1 Loop While n>0 Print s End Sub 以上程序的功能是。程序运行后,单击窗体,输出结果为。
10. 设有如下程序: Option Base 1 Private Sub Commandl Click() Dim arrl Dim Min As Integer,i As Integer arrl=Array(12,435,76,-24,78,54,866,43) Min= For i=2 To 8 If arrl(i)<Min Then Next Print"最小值是:";Min End Sub 以上程序的功能是:用Array函数建立一个含有8个元素的数组,然后查找并输出该数组中各元素的最小值。请填空。
【12】arrl(1) 【13】Min=arrl(i)
[解析] 由于有Option Base 1语句,所以数组下标是从1开始。本题的功能是查找8个数中的最小值,首先使用Array语句给数组赋值,然后把第一个值赋值给最小值变量,及Min=arrl(1),然后从第二个数开始循环与最小值比较,如果比最小值小,则把这个值赋值给Min,即Min=arrl(i)。
11. 在名称为Forml的窗体上画一个文本框,其名称为Text1,在属性窗口中把该文本框的 MultiLine属性设置为True,然后编写如下的事件过程: Private Sub Form Click() Open"d:\test\smText1.txt"For Input As #1 Do While Not Line Input #1,aspect$ whole$=whole$+aspect$+Chr$(13)+Chr$(10) Loop Text1.Text=whole$ Close #1 Open"d:\test\smtext2.txt"For Output As #1 Print #1, Close #1 End Sub 上述程序的功能是,把磁盘文件smText1.txt的内容读到内存并在文本框中显示出来,然后把该文本框中的内容存入磁盘文件smtext2.txt。请填空。