1、国家二级 VB机试(数据类型及运算)模拟试卷 25及答案与解析 一、选择题 1 执行以下程序段 aS=”Visual Basic Programming”: b$=”C+”c$: UCase(LeR$(a$,7)&b$&RightS(aS, 12) 变量 c$的值为 ( A) Visual BASIC Programming ( B) VISUAL C+Programming ( C) Visual C+Programming ( D) VISUAL BASIC Programming 2 可 以产生 3050(含 30和 50)之间的随机整数的表达式是 ( A) Int(Rnd*21+30)
2、 ( B) Int(Rnd*20+30) ( C) Int(Rnd*50 Rnd*30) ( D) Int(Rnd*30+50) 3 能够产生 1到 50之间 (含 1和 50)随机整数的表达式是 ( A) Int(Rnd*51) ( B) Int(Rnd(50)+1) ( C) Int(Rnd*50) ( D) Int(Rnd*50+1) 4 表达式 Sgn(0 25)的值是 ( A) 1 ( B) 0 ( C) 1 ( D) 0 5 5 要计算 x的平方根并放入变量 y,正确的语句是 ( A) y=Exp(x) ( B) y=Sgn(x) ( C) y=Int(x) ( D) y=Sqr(
3、x) 6 Print Right(”VB Programming”, 2)语句的输出结果是 ( A) VB ( B) Programming ( C) ng ( D) 2 7 以下表达式与 Int(3 5)的值相同的是 ( A) CInt(3 5) ( B) Val(3 5) ( C) Fix(3 5) ( D) Abs(3 5) 8 以下能对正实数 d的第 3位小数四舍五 入的表达式是 ( A) 0 01*Int(d+0 005) ( B) 0 01*Int(100*(d+0 005) ( C) 0 01*Int(100*(d+0 05) ( D) 0 01*Int(d+0 05) 9 语句
4、: Print Asc(Chr$(Mid$(”98765432”, 4, 2)的输出是 ( A) 65 ( B) A ( C) 8765 ( D) W 10 语句: Print Int(Rnd*5+20)的输出不可能是 ( A) 20 ( B) 22 ( C) 24 ( D) 25 11 产生 100以 内 (不含 100)2位随机整数的 Visual Basic表达式是 ( A) Int(Rnd(1)*91)+10 ( B) Int(Rnd(1)*90)+10 ( C) Int(Rnd(1)*91)+11 ( D) Int(Rnd(1)*90)+11 12 在窗体上画两个文本框,其名称分别为
5、 Text1和 Text2,然后编写如下程序: Private Sub Form_Load() Text1 Text=”: Text2 Text=“: Text1 SetFocus End Sub Private Sub Text1_Change() Text2 Text=Mid(Text1 Text, 6) End Sub 程序运行后,如果在文本框 Text1中输入 ChinaBeijing,则在文本框 Text2中显示的内容是 ( A) ChinaBeijing ( B) China ( C) Beijing ( D) ChinaB 13 设有如下通用过程: Public Function
6、 Fun(xStr As String)As String Dim tStr As String strL As Integer tStr=“ strL=Len(xStr)i=1 Do While i0 Then Print Mid(num, P+1) Else Prim”END” End If End Sub 运行程序单击窗体,根据提示输入一个数值。如果不是输入实数,则输出“END”;否则 ( A)用字符方式输出该实数 ( B)输出该实数的整数部分 ( C)输出该实数的小数部分 ( D)去掉实 数中小数点,保留所有数码输出 22 在窗体上画一个文本框,名称为 Text1,然后编写如下程序:
7、Private Sub Form_Load() Text1 Text=”: Text1 SetFocus End Sub Private Sub Form_Click() Dim a As String, S As String 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)为原字符串的逆序字符串,且所有字母转
8、换为大写 ( D)为原字符串的逆序字符串 23 在窗体上画一个命令按钮,然后编写如下事件过程: Private Sub Commandl_Click() aS=InputBox(”请输入一个二进制数 ”): n=Len(a$) For i=1 To n Dec=Dec*2+_(a$, i, 1) Next i Print Dec End Sub 程序功能为:单击命令按钮,将产生一个输入对话框,此时如果在对话框中输入一个二进制数,并单击 “确定 ”按钮,则把该二进制数转换为等值的十进制数。这个程序不完整,应在横线处填入的内容是 ( A) Left ( B) Right ( C) Val ( D)
9、 Mid 24 以下程序的功能是随机产生 10个两位的整数: Option Base 1 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)
10、=Int(Rnd*101) 25 窗体上有一个名称为 Command1的命令按钮,单击该按钮时所实现的功能是产生 10个随机整数,然后从键盘输入一个整数,查找该数在数组中的位置。若找到,输出该数的位置;若没有找到,给出相应的提示。该命令按钮的单击事件过程如下: Private Sub Command1_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: Exi
11、t 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的类型不匹配 26 表达式 5 Mod 3+3 5*2的值是 ( A) 0 ( B) 2 ( D) 6 27 设有如下程序段: x=2 For i=1
12、T0 Step 2 x=x+i Next i 运行以上程序后, x的值 是 ( A) 26 ( B) 27 ( C) 38 ( D) 57 28 设 a=“MicrosoflVisualbasic”,则以下使变量 b的值为 “Visualbasic”的语句是 ( A) b=Left(a, 10) ( B) b=Mid(a, 10) ( C) b=Right(a, 10) ( D) b=Mid(a, 11, 10) 29 设 a=”a”, b=”b”, c=”c”, d=”d”,执行语句 x=IIf(ad), ”A”, “B”) 后, X的值为 ( A) ”a” ( B) ”b” ( C) ”A
13、” ( D) ”B” 30 设有如下语句: Dim a,b As Integer c=“VisualBasic” d=#7 20 2005# 以下关于这段代码的叙述中,错误的是 ( A) a被定义为 Integer类型变量 ( B) b被定义为 Integer类型变量 ( C) C中的数据是字符串 ( D) d中的数据是日期类型 31 设: a=2, b=8, c=6, d=3,表达式 ab And Not(cd)Or dc的值是 ( A) 1 ( B) 0 ( C) True ( D) FALSE 32 数学式 y2 x =10在 VB中应表示为 ( A) y*y x And 10 =x (
14、 B) Sqr(y) x And x =10 ( C) Sqr(y) x Or x =10 ( D) y yx Or x =10 33 设 a=10, b=4, c=5, d=7,表达式 ab And Not c、 =、 ),最后进行逻辑运算 (NotAndOrXorEqvImp) 。按此规则本题简化为 False And Not True Or False,最终结果为 False。 【知识模块】 数据类型及运算 32 【正确答案】 A 【试题解析】 Sgn函数为求平方根函数,为了表达 x既小于 y的平方又大于等于10,两个表达式之间应该使用 And联接。 【知识模块】 数据类型及运算 33
15、【正确答案】 B 【试题解析】 在一个包含多种运算的表达式中,优先级顺序为:首先进行函数运算,接着进行算术运算,然后进行关系运算 (=、 、 =、 ),最后进行逻辑运算 (NotAndOrXorEqvImp) 。本题最后结果可以表达为 True And Not True,结果为 False。 【知 识模块】 数据类型及运算 34 【正确答案】 C 【试题解析】 Visual Basic中的语句是执行具体操作的指令,通常一行输入一条语句。也可把多条语句放在一行,各语句间用冒号 (: )隔开。还可通过续行符 (续行符由一个空格加一个下划线组成 “ ”)将一条语句分别放在多行,续行符和前面的字符之间至少要有一个空格以免被认为是一个单词。续行符的后面不可以放以撇号 ()开头的注释语句; Visual Basic可以自动对输入的内容进行语法检查,有语法错误会给出提示。 【知识模块】 数据类型及运算
copyright@ 2008-2019 麦多课文库(www.mydoc123.com)网站版权所有
备案/许可证编号:苏ICP备17064731号-1