国家二级VB机试(数据类型及运算)模拟试卷20 (题后含答案及解析)
题型有:1. 选择题
选择题
1. 设有如下通用过程:Public Function Fun(xStr As String)As String  Dim tStr As String,strL As Integer  tStr=““:strL=Len(xStr)  i=strL/2  Do While i<=strL    tStr=tStr&Mid(xStr,i+1,1)    i=i+1  Loop  Fun=tStr&tStrEnd Function在窗体上画一个名称为Text1的文本框和一个名称为Commandl的命令按钮。然后编写如下的事件过程:Private Sub Commandl_Click(  )  Dim S1 As String  S1=ABCDEF:Text1.Text=LCase(Fun(S1))End Sub 程序运行后,单击命令按钮,文本框中显示的是
A.ABCDEF
B.abcdef
C.defdef
D.defabc
正确答案:C
解析:本题考查的考点是有关字符串处理的。本题中过程中的循环变量i的初值是字符串长度的一半,终值是字符串长度,结合循环中的取子串函数,整个循环的功能是取得字符串的后一半放入tstr中,然后连接上自身的值返回到调用程序。 知识模块:数据类型及运算
2. 窗体上有一个名称为Text1的文本框,一个名称为Commandl的命令按钮。窗体文件的程序如下:Private Type x Private Sub Commandl_Click(  ) a As Integer:b As Integer Dim y As xEnd Type      y.a=InputBox(““)      Ify.a\2=y.a/2 Theny.b=y.a*y.a    Elsey.b=Fix(y.a/2)    End If      Text1.Text=y.b  End Sub对以上程序,下列叙述中错误的是
A.x是用户定义的类型
B.InputBox函数弹出的对话框中没有提示信息
C.若输入的是偶数,y.b的值为该偶数的平方
D.Fix(y.a/2)把y.a/2的小数部分四舍五入,转换为整数返回
正确答案:D
解析:本题考查的考点是有关自定义类型和Fix函数的。用户可以通过Type语句自定义类型,并可用自定义的类型声明变量。注意Fix函数是向下取整,Round函数是四舍五入。 知识模块:数据类型及运算
3. 窗体上有两个名称分别为Text1、Text2的文本框。Text1的KeyUp事件过程如下:Private Sub Text1_KeyUp(KeyCode As Integer,Shift As Integer)  Dim c As String  c=UCase(Chr(KeyCode)):Text2.Text=Chr(Asc(c)+2)End Sub当向文本框Text1中输入小写字母a时,文本框Text2中显示的是
A.A
B.a
C.C
D.c
正确答案:C
解析:本题考查的考点是有关字符转换函数的。UCase函数的功能为强制转成大写字母;Chr函数的功能是把整数按照ASCII码转换成字母;Asc函数的功能是把字母转换成对应的ASCII码。本题中变量c的值是大写字母“A”,最终结果是大写字母“C”。 知识模块:数据类型及运算
4. 窗体上有名称分别为Text1、Text2的文本框,名称为Commandl的命令按钮。运行程序,在Text1中输入“FormList”,然后单击命令按钮,执行如下程序:Private Sub Commandl_Click(  )  Text2.Text=UCase(Mid(Text1.Text,5,4))End Sub在Text2中显示的是
A.form
B.list
C.FORM
D.LIST
正确答案:D
解析:Mid(字符串,起始位置[,个数])函数用于从已有字符串中取出从指定位置开始的含指定个数字符的字符串,UCase(  )函数用于将字符串中小写字母转化为大写字母,原本大写或非字母字符保持不变。 知识模块:数据类型及运算
5. 窗体上有1个名称为Commandl的命令按钮,事件过程如下:Private Sub Commandl_Click(  )  m=-3.6  If Sgn(m)Then    n=Int(m)  Else  n=Abs(m) End If  Print nEnd Sub运行程序,并单击命令按钮,窗体上显示的内容为
A.-4
B.-3
C.3
D.3.6
正确答案:A
解析:Int函数的作用是去返回不大于参数的最大整数,例如Int(4.6)=4,Int(-4.6)=-5:VB中的逻辑值True和False和整型值之间会自动进行类型转换,其中-1转换为True,0转换为False。本题中由于m为负数,所以Sgn(m)的值为-1,即条件为真,会返回不大于m的最大整数值即_4。 知识模块:数据类型及运算
6. 设有如下程序:Private Sub Form_Click(  ) num=InputBox(请输入一个实数):p=InStr(num,) Ifp>0 Then  Print Mid(num,P+1) Else  PrintEND End IfEnd Sub运行程序单击窗体,根据提示输入一个数值。如果不是输入实数,则输出“END”;否则
A.用字符方式输出该实数
B.输出该实数的整数部分
C.输出该实数的小数部分
D.去掉实数中小数点,保留所有数码输出
正确答案:C
解析:字符串匹配函数Instr用于查第二个参数在第一个参数中第一次出现的位置,若未到返回0;Mid(字符串,起始位置[,个数])函数用于从已有字符串中取出从指定位置开始的含指定个数字符的字符串,若不指定个数将返回字符串中从参数“起始位置”到字符串尾端的所有字符。本题实际就是先到小数点的位置,然后输出小数点后面的部分,即小数部分。 知识模块:数据类型及运算
7. 在窗体上画一个文本框,名称为Text1,然后编写如下程序:Private Sub Form_Load(  )    Private Sub Form_Click(  )  Text1.Text=““:Text1.SetFocus Dim aAs String,s As StringEnd Sub  a=Text1.Text:s=““ For k=1 To Len(a) s=UCase(Mid(a,k,1))+sNext kText1.Text=s    End Sub程序运行后,在文本框中输入一个字符串,然后单击窗体,则文本框中的内容
A.与原字符串相同
B.与原字符串中字符顺序相同,但所有字母均转换为大写
C.为原字符串的逆序字符串,且所有字母转换为大写
D.为原字符串的逆序字符串
正确答案:C
解析:Mid(字符串,起始位置[,个数])函数用于从已有字符串中取出从指定位置开始的含指定个数字符的字符串,UCase(  )函数用于将字符串中小写字母转化为大写字母,原本大写或非字母字符保持不变。本题中在循环内每次取出第k位个字符并且连接到结果字符串的前面,所以结果字符串是源字符串的逆序字符串。 知识模块:数据类型及运算
8. 在窗体上画一个命令按钮,然后编写如下事件过程:Private Sub Commandl_Click(  ) a$=InputBox(请输入一个二进制数):n=Len(a$) For i=1 To n  Dec=Dec*2+__________(a$,i,1) Next i Print DecEnd Sub  程序功能为:单击命令按钮,将产生一个输入对话框,此时如果在对话框中输入一个二进制数,并单击“确定”按钮,则把该二进制数转换为等值的十进制数。这个程序不完整,应在横线处填入的内容是
A.Lett
B.Right
C.Val
D.Mid
正确答案:D
解析:Mid(字符串,起始位置[,个数])函数用于从已有字符串中取出从指定位置开始的含指定个数字符的字符串。本题中要将二进制数转换为十进制数,应该取出二进制数的每一位然后乘以位权。 知识模块:数据类型及运算
9. 以下程序的功能是随机产生10个两位的整数:Option Base 1Private Sub Commandl_Click(  ) Dim a(10)As Integer,i As Integer Randomize For i=1 To 10  a(i)=Int(Rnd*100)+1:Print a(i) Next i  End Sub运行以上程序,发现有错误,需要对产生随机数的语句进行修改。以下正确的修改是
A.a(i)=Int(Rnd*100)
B.a(i)=Int(Rnd*90)+10
C.a(i)=Int(Rnd*100)+10
D.a(i)=Int(Rnd*101)
正确答案:B
解析:随机数函数Rnd的功能是用于产生一个小于1但大于或等于0的随机数。为了生成某个指定范围内的随机整数,可使用公式:Int((upperbound-lowerbound+1)*Rnd+lowerbound),其中upperbound是随机整数范围的上限,lowerbound是随机整数范围的下限。本题中upperbound为99,lowerbound为10。 知识模块:数据类型及运算
10. 窗体上有一个名称为Commandl的命令按钮,单击该按钮时所实现的功能是产生10个随机整数,然后从键盘输入一个整数,查该数在数组中的位置。若到,输出该数的位置;若没有到,给出相应的提示。该命令按钮的单击事件过程如下:Private Sub Commandl_Click(  )  Dim a(10)As Integer,x As Integer  For i=1 To 10    a(i)=Int(Rnd*100)  Next  x=InputBox(输入100以内的整数:):p=0  For i=1 To 10  Ifa(i)=x Then    p=i:Exit F
or  End If  Next    Ifp=0 Then  Print没有到与输入数据相同的数! Else  Print Str(x)+”在数组中的位置是”+Str(p) End IfEnd Sub对于上述事件过程,以下叙述中正确的是
A.本程序实际产生的随机数是0.99
vb 字符串转数组
B.若产生的随机数中有相同数,则p是其中最后一个数的位置
C.程序有错,p的初值设置不对
D.程序有错,InputBox函数产生的数据与x的类型不匹配
正确答案:A
解析:随机数函数Rnd的功能是用于产生一个小于l但大于或等于0的随机数。为了生成某个指定范围内的随机整数,可使用以下公式:Int((upperbound-lowerbound+1)*Rnd+lowerbound),其中upperbound是随机整数范围的上限,lowerbound是随机整数范围的下限。本题中upperbound为99,lowerhound为0。 知识模块:数据类型及运算

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。