1、国家二级 VB机试(数据类型及运算)模拟试卷 26及答案与解析 一、选择题 1 设 x=4, y=6,则以下不能在窗体上显示出 “A=10”的语句是 ( A) Print A=x+y ( B) Print”A=”; x+y ( C) Print”A=”=Str(x+y) ( D) Print”A=”x+y 2 下列表达式中不能判断 x的是否为偶数的是 ( A) x 2=Int(x 2) ( B) x Mod 2=0 ( C) Fix(x 2)=x 2 ( D) x 2=0 3 如设置了文本框的属性 PasswordChar=”$”,则运行程序时向文本框中输入 8个任意字符后,文本框中显示的是
2、( A) 8个 “$” ( B) 1个 “$” ( C) 8个 “*” ( D)无任何内容 4 为了计算 1+3+5+99 的值,某人编程如下: k=1: s=0 while k99 ( C)循环前的赋值语句 k=1错误,应改为 k=0 ( D)循环中两条赋值语句的顺序错误,应改为 s=s+k: k=k+2 5 如果执行一个语句后弹出如图所示的窗口,则这个语句是( A) InputBox(”输入框 ”, ”请输入 VB数据 ”) ( B) x=InputBox(”输入框 ”, ”请输入 VB数据 ”) ( C) InputBox(”请输入 VB数据 ”, ”输入框 ”) ( D) x=Inpu
3、tBox(”请输入 VB数据 ”, ”输入框 ”) 6 下列可以打开随机文件的语句是 ( A) Open”file1 dat”For Input As#1 ( B) Open”file1 dat”For Append As#1 ( C) Open”file1 dat”For Output As#1 ( D) Open”file1 dat”For Random As#1 len=20 7 下面可以产生 20 30(含 20和 30)的随机整数的表达式是 ( A) Int(Rnd*10+20) ( B) Int(Rnd*11+20) ( C) Int(Rnd*20+30) ( D) Int(Rnd
4、*30+20) 8 假定用下面的语句打开文件: Open”File1 txt”For Input As1 则不能正确读文件的语句是 ( A) Input #1, ch$ ( B) Line Input#1 ch$ ( C) ch$=Input$(5, #1) ( D) Read#1, ch$ 9 设 x是小于 10的非负数。对此陈述,以下正确的 VB表达式是 ( A) 00 and x0 or x0 Then Print Mid(num, P+1) Else Print“END” End If End Sub 运行程序,单击窗体,根据提示输入一个数值。如果输入的不是实数,则程序输出 “END”
5、: 否则 ( A)用字符方式输出该实数 ( B)输出该实数的整数部分 ( C)输出该实数的小数部分 ( D)去掉实数中的小数点,保留所有数码输出 15 在窗体上画一个文本框,名称为 Text1,然后编写如下程序: Pfivate Sub Form_Load() Text1 Text=”: Text1 SetFocus End Sub Private Sub Form Click() Dim aAs String, sAs String a=Text1 Text: s=“” For k=1 To Len(a) s=UCase(Mid(a, k, 1)+s Next k Text1.Text=s
6、End Sub 程序运行后,在文本框中输入一个字符串,然后单击窗体,则文本框中的内容 ( A)与原字符串相同 ( B)与原字符串中字符顺序相同,但所有字母均转换为大写 ( C)为原字符串的逆序字符串,且所有字母转换为大写 ( D) 为原字符串的逆序字符串 16 在窗体上画一个命令按钮,然后编写如下事件过程: Pfive Sub Command1_Click() a$=InputBox(”请输入一个二进制数 ”) n=Len(a$) Dec=Dec*2+_(a$, i, 1) Next i Print Dec End Sub 程序功能为:单击命令按钮,将产生一个输入对话框,此时如果在对话框中输入
7、一个二进制数,并单击 “确定 ”按钮,则把该二进制数转换为等值的十进制数 。这个程序不完整,应在横线处填入的内容是 ( A) Left ( B) Right ( C) Val ( D) Mid 17 以下程序的功能是随机产生 10个两位的整数: Option Base 1 Pfive Sub Commandl_Click() Dim a(10)As Integer,i As Integer For i=1 To 10 a(i)=Int(Rnd*100)+1 Print a(i) 运行以上程序,发现有错误,需要对产生随机数的语句进 行修改。以下正确的修改是 ( A) a(i)=Int(Rnd*1
8、00) ( B) a(i)=Int(Rnd*90)+10 ( C) a(i)=Int(Rnd*100)+10 ( D) a(i)=Int(Rnd*101) 18 窗体上有一个名称为 command1的命令按钮,单击该按钮时所实现的功能是产生 10个随机整数,然后从键盘输入一个整数,查找该数在数组中的位置。若找到,输出该数的位置;若没有找到,给出相应的提示。该命令按钮的单击事件过程如下: Private Sub Commandl_Click() Dim a(10)As Integer,x As Integer a(i)=Int(Rnd*100) x=InputBox(”输入 100以内的整数:
9、”) 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的类型不匹配 19 在 Visual Basic中,表达式 3*2
10、 5 Mod 3的值是 ( A) 1 ( B) 0 ( C) 3 ( D)出现错误提示 20 表 达式 2*32+4*2 2+32的值是 ( A) 30 ( B) 31 ( C) 49 ( D) 48 21 设 a=4, b=5, c=6,执行语句 Print a”XYz” ( B) ”VisualBasic”bc窗体上显示的是 ( A) True ( B) False ( C) 1 ( D)出错 27 要求如果 x被 7除余 2,则输出 x的值,下列语句中不能实现此功能的语句是 ( A) Ifx mod 7=2 Then Print x ( B) Ifx-(x 7)*7=2 Then Pri
11、nt x ( C) Ifx一 (x 7)*7=2 Then Print x ( D) IfxInt(x 7)*7=2 Then Print x 28 满足下列条件之一的年份是闰年: 1)年份能被 4整除但不能被 100整除 2)年份能被 400整除若 y代表年份,下面判断闰年的正确表达式是 ( A) y Mod 4 And y Mod 100 Or y Mod 400 ( B) y Mod 4=0 Or y Mod 1000 And(y Mod 4=0 Or y Mod 400=0) ( D) y Mod 4=0 And y Mod 100 0 Or y Mod 400=0 29 已知 a=6
12、, b=15, c=23,则语句 Print Sgn(a+b Mod 6-c a)&a+b的输出结果为 ( A) 6 ( B) 16 ( C) 31 ( D) 121 30 设 a=2, b=3, c=4, d=5, 表达式 Not a99循环一次也不执行;选项 C),叟量 k表示数列元素,初值为 1表示数列第一项,是正确的;选项 D)正确,如果 k=k+2放在前面,那么计算的数列第一项是 3,而不是 1。 【知识模块】 数据类型及运算 5 【正确答案】 D 【试题解析】 本题考查 InputBox的使用,语法是: InputBox(prompt, title,default, xpos,yp
13、os) 其中的 prompt为窗口的提示, title为输入窗口的标题,default为输入窗口的默认内容, xpos, ypos为窗口距离屏幕左边,上边的距离。在本题中,第一个参数 prompt为 “请输入 VB数据 ”,标题为 “输入框 ”。 【知识模块】 数据类型及运算 6 【正确答案】 D 【试题解析】 本题考查文件操作, VB中打开随机文件的语法为: OpenFor Random As#Len= 其中 For Random表示打开随机文件, Len用来指定记录的长度,记录长度的缺省值为 128个字节。 【知识模块】 数据类型及运算 7 【正确答案】 B 【试题解析】 本题考查常用函数
14、。如果产生一个 m到 n之间的随机数 (nm,包含 n和 m)表达式可为: r=Int(Rnd*(nm+1)+m) 【知识模块】 数据类型及运算 8 【正确答案】 D 【试题解析】 本题考查文件操作,读文件使用 Line Input、 Input#, (以上为文本方式 )和 Get(以上为二进制方式 )。 Open“Filel txt”For Input As#1是以输入方式打开 File1 txt文本文件,因此可以使用 Line Input和 Input方法读文件,选项 D)错误。 【知识模块】 数据类型及运算 9 【正确答案】 C 【试题解 析】 本题考查 VB表达式。 x是一个小于 10
15、的非负数, x0和 x(大于 )、 =(大于或等于 )、 =(等于 )、 、 =);最后进行逻辑运算,顺序为:NotAndOrXorEqvImp 。 【知识模块】 数据类型及运算 26 【正确答案】 B 【试题解析】 VB中的逻辑值 True和 False在参与关系运算时会自动进行类型转换,其中 True转换为 -1, False转换为 0。本题中先计算 ab(105为真 )结果为True,此时系统自动转换其值 为 -1,然后计算 -1c(一 11为假 ),结果为 False。 【知识模块】 数据类型及运算 27 【正确答案】 C 【试题解析】 整除运算符 “ ”的功能是取两数相除结果的整数部
16、分,取模运算符“MOD”的功能是取两数相除的余数部分,且前者的优先级高于后者。据此判断本题中的选项,只有 C选项使用了 “ ”普通算数除法运算符,而且没有对结果进行取整操作,是不能判断被 7除余 2的。 【知识模块】 数据类型及运算 28 【正确答案】 D 【试题解析】 逻辑运算的优先级低于关系运算,而且逻辑运 算中优先级从高到低是 NotAndOr ,据此判断 D选项符合题意。 【知识模块】 数据类型及运算 29 【正确答案】 D 【试题解析】 算术表达式的运算次序为:幂 () 取负 (一 ) 乘、浮点除 (*、 )整除 ( ) 取模 (Mod) 加、减 (+、 -) 连接 (&), Sgn
17、函数会返回参数的符号。本题中 Sgn(a+b Mod 6-c a)函数的参数经计算为正数,故此函数返回值为 1; &运算是字符串连接运算,其优先级低于算术运算,所以会先计算 a+b=21,然后将 1和 2 l自动转换为字符串然后连接起来。 【知识模块】 数据类型及运算 30 【正确答案】 D 【试题解析】 在一个包含多种运算的表达式中,优先级顺序为:首先进行函数运算,接着进行算术运算,然后进行关系运算 (=、 、 =、 ),最后进行逻辑运算 (NotAndOrXorEqvInap) 。按优先级顺序本题逐步运算结果为:Not aa+cNot 26Not True OrFalse And True
18、Faise Or False An d TrueFalse Or FalseFalse 。 【知识模块】 数据类型及运算 31 【正确答案】 D 【试题解析】 赋值语句可以把指定的值赋给一个变量或一个对象的某个属性,其格式为 Let目标操作符 =源操作符。格式中的 “源操作符 ”可以是变量、表达式、常量、对象属性以及它们的组合,但目标操作符必须是单个的变量或者属性。 【知识模块】 数据类型及运算 32 【正确答案】 A 【试题解析】 Visual Basic中的语句是执行具体操作的指令,通常一行输入一条语句。也可 把多条语句放在一行,各语句间用冒号 (: )隔开。还可通过续行符 (续行符由一个空格加一个下划线组成 “ ”)将一条语句分别放在多行。 【知识模块】 数据类型及运算 33 【正确答案】 C 【试题解析】 Visual Basic中的语句是执行具体操作的指令,通常一行输入一条语句。也可把多条语句放在一行,各语句间用冒号 (: )隔开。还可通过续行符 (续行符由一个空格加一个下划线组成 “ ”)将一条语句分别放在多行。 【知识模块】 数据类型及运算