国家二级VB机试(数据类型及运算)模拟试卷16
(总分64,考试时间90分钟)
1. 选择题
1. 设x是小于10的非负数。对此陈述,以下正确的VB表达式是
A. 0<=x<10 B. 0<=x<10
C. x>0 and x<10 D. x>0 or x<=10
2. 窗体上有一个名称为Text1的文本框,一个名称为Command1的命令按钮。窗体文件的程序如下: Private Type x a As Integer:b As Integer End Type Private Sub Command1_Click() Dim y As x y.a=InputBox("") If y.a\2=y.a/2 Then y.b=y.a*y.a Else y.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的小数部分四舍五入,转换为整数返回
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
4. 窗体上有名称分别为Text1、Text2的文本框,名称为Command1的命令按钮。运行程序,在Text1中输入“FormList”,然后单击命令按钮,执行如下程序: Private Sub Command1_Click() Text2.Text=UCase(Mid(Text1.Text,5,4)) End Sub 在Text2中显示的是
A. form B. list
C. FORM D. LIST
5. 窗体上有1个名称为Command1的命令按钮,事件过程如下: Private Sub Command1_Click() m=-3.6 If Sgn(m)Then n=Int(m) Else n=Abs(m) End If Print n End Sub 运行程序,并单击命令按钮,窗体上显示的内容为
A. -4 B. -3
C. 3 D. 3.6
6. 设有如下程序: Private Sub Form.Click() num=InputBox("请输入一个实数"):p=InStr(num,"") Ifp>0 Then Print Mid(num,p+1) Else Print"END" End If End Sub 运行程序,单击窗体,根据提示输入一个数值。如果输入的不是实数,则程序输出“END”;否则
A. 用字符方式输出该实数 B. 输出该实数的整数部分
C. 输出该实数的小数部分 D. 去掉实数中的小数点,保留所有数码输出
7. 在窗体上画一个文本框,名称为Text1,然后编写如下程序: Private Sub Form Load() Private Sub Form Click() Text1.Text="":Text1.SetFocus Dim a As String,s As String End Sub a=Text1.Text:s="" For k=1 To Len(a) s=UCase(Mid(a,k,1))+s Next k Text1.Text=s End Sub 程序运行后,在文本框中输入一个字符串,然后单击窗体,则文本框中的内容
A. 与原字符串相同
B. 与原字符串中字符顺序相同,但所有字母均转换为大写
C. 为原字符串的逆序字符串,且所有字母转换为大写
D. 为原字符串的逆序字符串
8. 在窗体上画一个命令按钮,然后编写如下事件过程: Private Sub Command1_Click()
a$=InputBox("请输入一个二进制数") n=Len(a$) For i=l To n Dec=Dec*2+______(a$,i,1) Next i Print Dec End Sub 程序功能为:单击命令按钮,将产生一个输入对话框,此时如果在对话框中输入一个二进制数,并单击“确定"按钮,则把该二进制数转换为等值的十进制数。这个程序不完整,应在横线处填入的内容是
A. Left B. Right
C. Val D. Mid
9. 以下程序的功能是随机产生10个两位的整数: Option Base1 Private Sub Command1_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)
10. 窗体上有一个名称为Command1的命令按钮,单击该按钮时所实现的功能是产生10个随机整数,然后从键盘输入一个整数,查该数在数组中的位置。若到,输出该数的位置;若没有到,给出相应的提示。该命令按钮的单击事件过程如下: Private Sub Command1_Click() Dim a(10)As Integer,x As Integer For i=l 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 For End If Next Ifp=0 Then Print"没有到与输入数据相同的数!" Else Print Str(x)+"在数组中的位置是"+Str(p) End If. End Sub 对于上述事件过程,以下叙述中正确的是
A. 本程序实际产生的随机数是0-99
B. 若产生的随机数中有相同数,则p是其中最后一个数的位置
C. 程序有错,p的初值设置不对
D. 程序有错,InputBox函数产生的数据与x的类型不匹配
11. 在Visual Basic中,表达式3*2\5 Mod 3的值是
A. 1 B. 0
C. 3 D. 出现错误提示
12. 表达式2*3^2+4*2/2+3^2的值是
A. 30 B. 31
C. 49 D. 48
13. 设a=4,b=5,c=6,执行语句Print a<b And b<c窗体上显示的是
A. True B. False
C. 出错信息 D. 0
14. 以下关系表达式中,其值为True的是
A. XYZ>"XYz"
B. VisualBasic"visualbasic"
C. the="there"
D. Integer<"Int"
15. 把数学表达式表示为正确的VB表达似乎应该是
A. (5x+3)/(2y-6) B. x*5+3/2*y-6
C. (5*x+3)÷(2*y一6) D. (x*5+3)/(y*2-6)
16. 下面程序运行时,若输入395,则输出结果是 Private Sub Command1_Click() Dim x%x=InputBox("请输入一个3位整数") Print x Mod 10,x\100,(x Mod 100)\10 End Sub
A. 3 9 5 B. 5 3 9
C. 5 9 3 D. 3 5 9
17. 设a=2,b=3,c=4,d=5,下列表达式的值是a>b And cc
A. True B. False
C. -1 D. 1
18. 设a=10,b=5,c=1,执行语句Print a>b>c窗体上显示的是
A. True B. False
二级VBC. 1 D. 出错
19. 要求如果x被7除余2,则输出x的值,下列语句中不能实现此功能的语句是
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论