重庆大学2022年秋季学期课程作业《可视化程序设计(VB)》在线题库

( 9 )在窗体文本框 Text l 中输入 “ 456AbC ” 后,立即窗口上输出的结果是 【 9 】 。

Private Sub Textl_KeyPress(KeyAscii As Integer)

Select Case DeyAscii

Case 97 To 122

Debug.Print Ucase(Chr(KeyAscii));

Case 65 To 90

Debug.Print Lcase(Chr(KeyAscii));

Case 48 To 57

Debug.Print Chr(KeyAscii);

Case Else

KeyAscii = 0

End Select

End Sub


正确答案:


在窗体上画1个命令按钮和1个文本框,其名称分别为Command1和Text1,然后编写如下代码:

Dim SaveAll As String

Private Sub Command1_Click()

Text1.Text=Left(UCase(SaveAll),4)

End Sub

Private Sub Text1_KeyPress(KeyAscii As Integer)

SaveAll=SaveAll+Chr(KeyAscii)

End Sub

程序运行后,在文本框中输入abcdefg,单击命令按钮,则文本框中显示的内容是______。


正确答案:

ABCD 
该题中出现了3个内部函数:UCaseLeftChr,其功能分别是转换为大写字母、取左边的字符和求取ASCII字符。代码的功能是将字符串转换成大写字母形式后取最左边的4个字符,并将字符输出。


( 9 ) 在窗体上画 1 个命令按钮和 1 个文本框 , 其名称分别为 Command1 和 Text1 , 然后编写下列事件过程 :

Dim SaveAll As String

Private Sub Command1_Click( )

Text1.Text=Left(UCase(SaveAll),4)

End Sub

Private Sub Text1_KeyPress(KeyAscii As Integer)

SaveAll=SaveAll+Chr(KeyAscii)

End Sub

程序运行后,在文本框中输入 abcdefg ,单击命令按钮,则文本框中显示的内容是 【 11 】 。


正确答案:

( 9 )【答案】 【 11 】 ABCD
【解析】该题中出现了 3 个内部函数: UCase 、 Left 和 Chr ,其功能分别是转换为大写字母、取左边的字符和求取 ASCII 字符 。 代码的功能是将字符串转换成大写字母形式后取最左边的 4 个字符 , 并将字符输出 。


( 32 )在窗体上画 1 个命令按钮和 1 个文本框,其名称分别为 Command1 和 Text1 ,再编写如下程序 :

Dim ss As String

Private Sub Text1_KeyPress(KeyAscii As integer)

If chr(KeyAscii)<> ”” Then ss=ss+chr(KeyAscii)

End Sub

Private Sub Command1_Click()

Dim m As String,i As Integer

For i=Len(ss) To 1 step -1

m=m+Mid(ss,i,1)

Next

Text1.Text=Ucase(m)

End Sub

程序运行后,在文本框中输入 “ Number100 ” ,并单击命令按钮,则文本框中显示的是

A ) NUMBER 100

B ) REBMUN

C ) REBMUN 100

D ) 001 REBMUN


正确答案:D


对文本框Text1编写如下事件过程:

Private Sub Text1_KeyPress(KeyAscii As Integer)

Dim b As String

b = Chr(KeyAscii)

KeyAscii = Asc(UCaseB、)

End Sub

运行时,下列叙述正确的是( )。

A、 Text1中无法输入字符

B、 Text1中内容为"b"

C、 Text1中输入的字符都变为大写

D、 Text1中输入的字符都被转换成ASCII码


正确答案:C


一、单项选择题(共 30 题、共 60 分)得分:48 分1.设有如下程序: Option Base 0 Private Sub Form_Click() Dim a Dim I As Integer a=Array(1,2,3,4,5,6,7,8,9) For i=0 To 3 Print a(5-i); Next End Sub 程序运行后,单击窗体,则在窗体上显示的内容是_。A、5 4 3 2 B、6 5 4 3 C、7 6 5 4D、4 3 2 1答案正确得分22.在文本框Text1中输入“(hello)”,则输出结果为( )。Private Sub Text1_KeyPress(KeyAscii As Integer)Dim count1%If Chr(KeyAscii) = ( Thencount1 = count1 + 1ElseIfChr(KeyAscii) = ) Thencount1 = count1 - 1End IfIf KeyAscii = 13 ThenIf count1 = 0 ThenPrint 左右括号配对ElseIf count1 0 ThenPrint 左括号多于右括号; count1; 个ElsePrint 右括号多于左括号; -count1; 个End IfEnd IfEnd SubA、左括号多于右括号B、右括号多于左括号C、程序出错D、左右括号配对答案正确得分23.下列程序段的执行结果为( )。a=100:b=50If ab Thena=a-belseb=b+aEnd ifPrint aA、50B、100C、200D、10答案错误得分04.复选框的value属性为1时,表示( )。A、复选框被选中 B、复选框内右灰色的勾C、复选框操作有错误D、复选框未被选中 答案错误得分05.下面的子过程语句说明合法的是_。A、 Sub fib(j%) As IntegerB、Function f%(f%) C、Function f1!(ByVal n%)D、Sub fib(ByRef i%() 答案正确得分26.下列选项中叙述正确的是( )。A、Select Case语句中的条件表达式只能是数值表达式或者字符表达式B、在执行Select Case语句时,所有的Case子句都按出现的次序被顺序执行C、Select Case语句的测试表达式会多次计算D、Select Case语句中的条件表达式可以是任何形式的表达式答案错误得分07.关于VB描述错误的是( )。A、VB是面向过程的程序设计语言B、VB具有事件驱动的编程机制C、VB的工具箱窗口由被绘制成按钮形式的图标构成。D、VB集成开发环境是一组软件工具,集应用程序的设计、编辑、运行调试等于一体答案正确得分28.下列程序执行后,变量x的值为() Dim a , b , c , d , x As Single a = 200 : b = 100 : c = 500 If b a Then d = a : a = b : b = d End If If b c Then x = b ElseIf a c Then x = c Else x = a End If Print xA、100B、200C、500D、0答案正确得分29.以下语句输出结果是( )。Private Sub Form_Click()A=Beijing b=ShangHai Print a;bEnd SubA、AbeijingShangHaiB、BeijingShangHaiC、AbeijingD、Beijing ShangHai答案正确得分210.在使用菜单编辑器设计菜单时,必须输入的项是( )。A、名称 B、索引 C、快捷键D、标题 答案正确得分211.对象的属性用来描述对象的特征,它们是一组( )。A、程序B、属性名C、操作D、数据答案正确得分212.表达x大于10且小于100的关系表达式为()。A、10x10 and xx10 or x100 答案正确得分213.可用于设置系统当前时间的语句是( )。A、Date$B、TimeC、TimerD、Date答案错误得分014.有如下事件过程,程序的功能是()。 Private Sub Commandl _Click ( ) S1=0: S2=0 M1=0: M2=0 N=1 Do while N=100 A=INT(101* RND) If a mod 2=0 THEN S1= S1+A : M1=M1+1 Else S2= S2+A : M2=M2+1 End if N=N+1 Loop Print S1,S2 Print M1,M2 END SubA、求101以内偶数之和B、随机产生100个0-100之间的整数,并分别求这些数的奇数和与偶数的个数与和C、随机产生101个0-100之间的整数,并分别求这些数的奇数和与偶数的个数与和D、求101以内奇数之和答案错误得分015.下列程序段的执行结果为()。N=0For I=1 To 3For J =5 To 1 Step-1N = N+1Next J,IPrint N;J;IA、15 0 4B、12 3 1C、5 3 1D、12 0 4答案正确得分216.方法是附属于对象的行为和动作,可以理解为指使对象的( )。A、程序B、属性C、数据D、命令答案正确得分217.不支持双击事件的控件是()。A、TextBoxB、Label C、CommandButtonD、Form答案正确得分218.若要获得滚动条的当前值,可访问的属性是( )。A、Value B、MaxC、MinD、Text答案正确得分219.假如列表框(List1)有4个数据项,那么把数据项“china”添加到列表框的第二项,应使用的语句是( )。A、List1.Additem “china”,2B、List1.Additem 1,”china”C、List1.Additem “china”,1D、List1.Additem 2,”china”答案正确得分220.若要在图片框中绘制一条直线,使用的方法是( )。A、PsetB、Circ

在窗体上画一个命令按钮和两个文本框,其名称分别为Command1、Text1和Text2,然后编写如下程序: Dim S1 As String,S2 As String Private Sub Form_Load() Text1.Text="" Text2.Text="" End Sub Private Sub Text1_KeyDown(KeyCode As Integer,Shift As Integer) S2=S2 & Chr(Keycode) End Sub Private Sub Text1_KeyPress(KeyAscii As Integer) S1=S1 & Chr(KeyAscii) End Sub Private Sub Command1_Click() Text1.Text=S2 Text2.Text=S1 S1="" S2="" End Sub 程序运行后,在Text1中输入“abc”,然后单击命令按钮,在文本框Text1和Text2中显示的内容分别为______。

A.abc和ABC

B.abc和abe

C.ABC和abc

D.ABC和ABC


正确答案:C
解析:KeyPress事件是处理用户按键的事件过程,当用户按键时激发该事件。KeyDown事件也是在用户按下按键时发生。但是KeyDown事件过程的KeyCode参数与KeyPress事件的KeyAscii参数不同。对于KeyPress事件的KeyAscii参数来说,小写状态下按A键返回97,而对于KeyDown事件过程的KeyCode参数来说返回65,由此可判断选项C为正确答案。


(17)在窗体上有一个文本框,其名称为Text1,编写下列事件过程: Private Sub Text1_KeyPress(KeyAscii As Integer ) Dim str As String Str=Chr(KeyAscii) KeyAscii=Asc(UCase(str)) Text1.Test=String(2,KeyAscii) End Sub 程序运行后,如果在键盘上输入字母“a”则在文本框Text3中显示的内容为 A.aaa B.AAA C.AA D.aa


正确答案:B
【解析】UCase(str)将str转成大写的字符串;String(n,character)返回n个重复的字符,如果character是ASCII码,则返回其对应的字符。程序运行过程为:首先输入字母“a”,并通过“str=Chr(KeyAscii)”语句将a的ASCII值转换成字符串;然后通过“KeyAscii=Asc(UCase(str))”求得大写A的ASCII值,并显示在文本框中;最后通过“Text1.Text=String(2,KeyAscii)”语句为文本框输入了两个字母“A”,所以最后在文本框中显示出3个大写字母“A”。


(18)在窗体上有一个文本框Text1、Text属性值为空,然后编写下列事件过程: Privte Sub Text1_KeyPress(KeyAscii As Integer) Dim str As String,n As Integer Str=UCase(Chr(KeyAscii) n=Len(str) Text1.Text=String(n,str) End Sub 程序运行后,若在文本框中输入单字母“p”,则在文本框Text1中显示的内容为。A.pp B.pP C.PP D.Pp


正确答案:B
【解析】解答本题的前提是了解下列几个函数的作用:UCase函数的作用是将某字符串中的字符全部转成大写;String(n,str)函数的作用是返回n个重复字符的字符串;Len函数的作用是返回字符串的长度。因为KeyPress事件中接收KeyAscii参数为输入键的ASCII码,输入小写字母“p”后,str为大写字母“P”,n=1,String(n,str)为“P”,所以Text1中在按下键盘上的键时又添加了一个“P”。


在窗体文本框Text1中输入“456ABC”后,立即窗口上输出的结果是【 】。

Private SuB Text1_keyPress(keyAscii As Integer)

Select Case keyAscii

Case 97 To 122

DeBug.Print Ucase (Chr (keyAscii));

Case 65 To 90

DeBug.Print Lcase (Chr (keyAscii));

Case 48 To 57

DeBug.Print chr (keyAscii);

Case Else

keyAscii=0

End Select

End SuB


正确答案:456aBc
456aBc 解析:本程序的作用是将大写字符转换为小写字符,小写字符转换为大写字符,数字字符原样输出。因此输出的结果为456aBe。


在窗体上从仨到右有Text1、Text2两个文本框,如图所示,要求程序运行时,在Text1 中输入1个分数后按回车键,则判断分数的合法性,若分数为0~100中的1个数,则光标移到Text2中;否则光标不动,并弹出对话框显示“分数错”。下列程序中正确的是( )。

A.Private Sub Text1_KeyPress(KeyAscii As Integer) If KeyAscii==13 Then 回车符的ASCIl码是13 a=Val(Text1) If a>=0 Or a<=100 Then Text2.SetFocus Else Text1.SetFocus:MsgBox("分数错") End If End If End Sub

B.Private Sub Textl—KeyPress(KeyAscii As Integer) If KeyAseii=13 Then 回车符的ASCIl码是13 a=Val(Text1) If a>=0 And a<=100 Then Textl.SetFocus Else Text2.SetFocus:MsgBox("分数错") End If End If End Sub

C.Private Sub Text1_KeyPress(KeyAscii As Integer) If KeyAscii=13 Then 回车符的ASCII码是13 a=Val(Text1) If a<0 And a>100 Then Text2.SetFocus Else Text1.SetFocus:MsgBox("分数错") End If End If End Sub

D.Private Sub Text1_KeyPress(KeyAscii As Integer) If KevAscii=13 Then 回车符的ASCII码是13 a=Val(Textl) If a>=0 Aad a<=100 Then Text2.SetFocus Else Text1.SetFocus:MsgBox("分数错") End If End If End Sub


正确答案:D
D。【解析】A选项中的IF判断条件错误,因为题中要求分数是在0~100之间(包含端点数),大于等于0的同时也要小于等于100,是and关系不是or关系。B选项中的当Text1的Text合法时,光标移到Text1中,不合法时光标移到Text2中并弹出出错对话框;而题目要求是Text合法时,光标移到Text2中,否则光标不动,弹出出错对话框。C选项的If判断条件错误应该是包含端点的分数。故应选D。

更多 “重庆大学2022年秋季学期课程作业《可视化程序设计(VB)》在线题库” 相关考题
考题 在窗体上画一个文本框,然后编写如下事件过程。当该程序运行后,如果在键盘上输入字母e,则文本框中显示的内容为 ______。 Private Sub Text1_KeyPress(KeyAscii As Integer) Dim char as String char=Chr(KeyAscii) KeyAscii=Asc(UCase(char)) Text1.Text=String(5,KeyAscii) End SubA.eeeeeB.EEEEEC.eeeeeeD.EEEEEE正确答案:D解析:该程序段用到了4个函数,在按了键盘上的某个键(在这里是字母键e)后,Chr函数将得到的键的 Ascii码值(101)转换成该ASCII码值对应的字符(e),然后利用UCase函数将该字符转换成大写字母(E),将该大写字母的ASCII码值(利用函数ASC())赋给KeyAscii,最后利用String函数将5个ASCII码值等于 KeyAscii的字符(即5个E)赋给文本框Text1,此时文本框中将显示5个E,又因为KeyPress事件本身会在文本框中显示/输入一个ASCII码值为KeyAscii的字符(E),因此最后在文本框中将显示6个大写字母E。

考题 在窗体上画一个文本框,其名称为Text1,然后编写如下事件过程: Private Sub Text1_KeyPress(KeyAscii As Integer) Dim sb As String Str=Chr(KcyAscii) KeyAscii=Asc(UCase(str)) Text1.Text=String(2,KeyAscii) End Sub 程序运行后,如果在键盘上输入字母“b”,则在文本框Text1中显示的内容是A.bbbB.BBBC.BBD.bb正确答案:C解析:Ucase$(字符串)是指“字符串”中的小写字母转换为大写字母,Chr$(x)是把x的值转换为相应的ASCII字符。

考题 在窗体上面有一个文本框,其名称为Text1,编写如下事件过程: Private Sub Text1_KeyPress(KeyAscii As Integer) Dim str As String str=Chr(KeyAscii) KeyAscii=Asc(UCase(str)) Text1.Text=String(2,KeyAscii) End Sub 程序运行后,如果在键盘上输入字母“a”,则在文本框Text3中显示的内容为( )。A.aaaB.AAAC.AAD.aa正确答案:B解析:UCase(SB)将sb转成大写的字符串:String(n,character)返回n个重复的字符,如果character是ASCII码,则返回其对应的字符。程序运行过程为:首先输入字母“a”,并通过“str= Chr(KeyAscii)”语句将a的ASCII值转换成字符串:然后通过“KeyAscii=Asc(UCase(str))”求得大写A的ASCII值,并显示在文本框中;最后通过“Textl.Text=String(2,KeyAscii)”语句为文本框输入了两个字母“A”,所以最后在文本框中显示出3个大写字母“A”。

考题 在窗体上画一个文本框,然后编写如下事件过程: Private Sub Text1_KeyPress(KeyAscii As Integer) Dim char As String char=Chr(KeyAscii) KeyAscii=Asc(UCase(char)) Text1.Text=String(6,KeyAscii) End Sub 程序运行后,如果在键盘上输入字母“a”,则文本框中显示的内容为 ______。A.aB.AC.aaaaaaaD.AAAAAAA正确答案:D解析:该事件过程中首先用Chr函数记录下输入的字符,然后用UCase函数将其转化为大写,再用Asc函数记录下其码值。最后使用String函数将其重复6遍并输出到文本框中。当文本框中的文本内容发生变化的时候,会触发文本框的Change事件,而KeyPress事件是在Change事件之前触发的,在发生KeyPress事件之前,尚未触发Change事件。在KeyPress事件中,改变了文本框的Text属性,所以会触发Change事件,之后,键盘输入的信息“a”才在变为大写之后输入文本框,文本框中最终显示的是7个“A”。

考题 在窗体上画一个名称为Text1的文本框,然后编写如下事件过程: Private Sub Text1_ KeyPress (KeyAscii As Integer) Dim ch As String ch = Chr (KeyAscii) KeyAscii = Asc (UCase(ch)) TextText = String(1, KeyAscii) End Sub程序运行后,使文本框拥有焦点,然后按键盘上的B键,则在文本框中显示的内容是 ______。A.bB.bbC.BBD.B正确答案:C

考题 在窗体上有一个文本框Text1,Text属性值为空,然后编写下列事件过程: Private Sub Text1_KeyPress(KeyAscii As Integer) Dim str As String,n As Integer str=UCase(Chr(KeyAscii)) n=Len(str)。 Text1.Text=String(n,str) End Sub 程序运行后,若在文本框中输入单字母“p”,则在文本框Text1中显示的内容为( )。A.A.pp B.pP C.pp D.PpB.正确答案:BB。【解析】解答本题的前提是了解下列几个函数的作用:UCase函数的作用是将某字符串中的字符全部转成大写;String(n,str)函数的作用是返回n个重复字符的字符串;Len函数的作用是返回字符串的长度。因为KeyPress事件中接收KeyAscii参数为输入键的ASCII码,输入小写字母“P”后,str为大写字母“P”,n=1,String(nstr)为“P”,所以Text1中在按下键盘上的键时又添加了一个“P”。

考题 在窗体上有一个文本框Text1,Text属性值为空,然后编写下列事件过程:Private Sub Text1 KeyPress(KeyAscii As Integer)Dim str As String,n As Integerstr=UCase(Chr(KeyAscii))n=Len(str)Text1.Text=String(n,str)End Sub程序运行后,若在文本框中输入单字母“p”,则在文本框Text1中显示的内容为( )。A.ppB.pPC.PPD.Pp正确答案:B解析:解答本题的前提是了解下列几个函数的作用:UCase函数的作用是将某字符串中的字符全部转成大写;String(n,str)函数的作用是返回n个重复字符的字符串;Len函数的作用是返回字符串的长度。因为KeyPress事件中接收KeyAscii参数为输入键的ASCII码,输入小写字母“p”后,str为大写字母“P”,n=1,String(n,str)为“P”,所以Text1中在按下键盘上的键时又添加了一个“P”。

考题 在窗体上画l个命令按钮和l个文本框,其名称为Command1和Text1,再编写如下程序: Dim ss As String Private Sub Text1 KeyPress(KeyAscii As Integer) If Chr(KeyAscii)<>""Then ss=ss+Chr(KeyAscii) End Sub Private Sub Command1 Click( ) Dim m As String,i As Integer For i=Len(ss)To 1 Step-1 m=m+Mid(SS,i,1) Next Text1.Text=UCase(m) End Sub 程序运行后,在文本框中输入“Number 100”,并单击命令按钮,则文本框中显示的就是( )。A.NUMtBER l00B.REBMUNC.REBM UN l00D.001 REBMUN正确答案:DD。【解析】本题是从后往前依次取SS的字符加到m后,起到了逆序输出的结果。

考题 在窗体上面有一个文本框,其名称为Text1,然后编写如下事件过程: Private Sub Text1_KeyPress(KeyAscii As Integer) Dim str As String str=Chr(KeyAscii) KeyAscii=Asc(UCase(str)) TextText=String(2,KeyAscii) End Sub 程序运行后,如果在键盘上输入字母“a”,则在文本框Text1中显示的内容为( )。A.aaaB.AAAC.AAD.aa正确答案:B解析:UCase(str)将str转成大写的字符串;String(n,character)返回n个重复的字符,如果character是ASCII码,则返回其对应的字符。程序运行过程为:首先输入字母“a”,并通过“str=Chr(KeyAscii)”语句将a的ASCII值转换成字符串;然后通过“KeyAscii=Asc(UCase(str))”求得大写A的ASCII值,并显示在文本框中;最后通过“Text1.Text=String(2,KeyAscii)”语句为文本框输入了两个字母“A”,所以最后在文本框中显示出3个大写字母“A”。

考题 在窗体上画一个文本框,然后编写如下事件过程。当该程序运行后,如果在键盘上输入字母“a”,则文本框中显示的内容为 ______。 Private Sub Text1_KeyPress<KeyAscii As Integer) Dim char as String char=Chr(KeyAscii) Text1.Text=String(5,KeyAscii) End SubA.aaaaaB.AAAAAC.aaaaaaD.AAAAAA正确答案:D解析:在程序段用到了4个函数,在按了键盘上的某个键(在这里是字母键A)后,Chr函数将得到的键的ASCII码值(101)转换成该ASCII码值对应的字符(A),然后利用Ucase函数将该字符转换成大写字母(A),将该大写字母的ASCII码值(利用函数Asc())赋给 KeyAscii,最后利用String函数的5个ASCII码值等于KeyAscii的字符(即5个A)赋给文本框Text1,此时文本框中将显示5个A,又因为KeyPress事件本身会在文本框中显示\输入一个ASCII码值为KeyAscii的字符(A),因此最后在文本框中将显示6个大写字母A。