[计算机类试卷]国家二级VB机试(选择题)模拟试卷157及答案与解析.doc

上传人:wealthynice100 文档编号:500182 上传时间:2018-11-30 格式:DOC 页数:20 大小:91.50KB
下载 相关 举报
[计算机类试卷]国家二级VB机试(选择题)模拟试卷157及答案与解析.doc_第1页
第1页 / 共20页
[计算机类试卷]国家二级VB机试(选择题)模拟试卷157及答案与解析.doc_第2页
第2页 / 共20页
[计算机类试卷]国家二级VB机试(选择题)模拟试卷157及答案与解析.doc_第3页
第3页 / 共20页
[计算机类试卷]国家二级VB机试(选择题)模拟试卷157及答案与解析.doc_第4页
第4页 / 共20页
[计算机类试卷]国家二级VB机试(选择题)模拟试卷157及答案与解析.doc_第5页
第5页 / 共20页
点击查看更多>>
资源描述

1、国家二级 VB机试(选择题)模拟试卷 157及答案与解析 一、选择题 1 以下关于变量作用域的叙述中,错误的是 ( A)在标准模块声明部分用 Public声明的变量的作用域为整个工程文件 ( B)在标准模块声明部分用 Private声明的变量的作用域为该标准模块 ( C)在窗体的声明部分不能用 Private声明变量 ( D)在过程中不能使用 Public声明变量 2 下列符号常量的声明中不合法的是 ( A) Const a As Single=3 5 ( B) Const a As Double=5+8 ( C) Const a As Integer=“25” ( D) Const a=“O

2、K” 3 在窗体模块的声明部分声明变量时,不能使用的关键字是 ( A) Dim ( B) Public ( C) Private ( D) Static 4 下面变量定义中错误的是 ( A) Public rood As Integer ( B) Static buf ( C) Dim Ch As String*10 ( D) D Dima!(-5 To-1) 5 如果要定义一个窗体级变量,定义变量语句的位置应该是 ( A)在使用 该变量的过程中 ( B)在该窗体模块所有过程的前面 ( C)在该窗体模块所有过程的后面 ( D)在某个标准模块中 6 下列说法中,错误的是 ( A)变量名长度不能超

3、过 255个字符 ( B)变量名的第一个字符可以是字母或数字 ( C)变量名只能由字母、数字和下划线组成 ( D)变量名不能使用保留字 7 在标准模块中,将 a定义为全局整型变量的语句是 ( A) Static a As Integer ( B) Dim a As Integer ( C) Private a As Integer ( D) Public a As Integer 8 下列说法中,错误的是 ( A)变量名长度不能超过 127个字符 ( B)变量名的第一个字符必须是字母 ( C)变量名不能使用保留字 ( D)变量名只能由字母、数字和下划线组成 9 下面能够将某个变量声明为局部变量

4、的是 ( A)在窗体模块的声明部分,用关键字 Static声明这个变量 ( B)在窗体模块的声明部分,用关键字 Dim声明这个变量 ( C)在需要使用这个变量的过程中,用关键字 Private声明这个变量 ( D)在需要使用这个变量的过程中,用关键字 Public声明这个变量 10 有如下过程代码: Sub vat_dim( ) Static numa As Integer DimnumbAs Integer numa=numa+2: numb=numb+1: print numa; numb End Sub 连续 3次调用 vat dim过程,第 3次调用时的输出是 ( A) 2 1 ( B

5、) 2 3 ( C) 6 1 ( D) 6 3 11 标准模块中有如下程序代码: Public x As Integer,y As Integer Sub var_ pub( ) x=10: y=20 End Sub 在窗体上有 1个命令按钮,并有如下事件过程: Private Sub Commandl_Click() Dim x As Integer Call vat_pub x=x+100: y=y+100: Print x; y End Sub 运行程序后单击命令按钮,窗体上显示的是 ( A) 100;100 ( B) 100;120 ( C) 110;100 ( D) 110;120

6、12 窗体上有一个 Textl文本框,一个 Commandl命令按钮,并有以下程序: Private Sub Commandl_elick( ) Dim nIfTextl Text ”123456”Thenn=n+1: Print”口令输入错误 ” n “次 ”End IfEnd Sub希望程序运行时得到左图所示的效果,即:输入口令,单击 “确认口令 ”命令按钮,若输入的口令不是 “123456”,则在窗体上显示输入错误 12令的次数。但上而的程序实际显示的是右图所示的效果,程序需要修改。下面修改方案 ( A)在 Dim n语句的下面添加一句: n=0 ( B)把 Print, “口令输入错误

7、 ” n “次 ”改为 Print”口令 输入错误 ”+n+”次 ” ( C)把 Print口令输入错误 ”&n&”次 ”改为 Print”口令输入错误 ”&Str(n)&“次 ” ( D)把 Dim n改为 Static n 13 工程文件中包含一个模块文件和一个窗体文件。模块文件的程序代码是:Public x As Integer Private Y As Integer窗体文件的程序代码是: Dinl a As Integer Private Sub Command 1 Click() Private Sub Form Load( )a: a+5: b=b+5: x=x+5: Y=Y+5

8、 Dim b As Integer Print a; b; x; Y a=2: b=3: x=10: Y: =20End Sub End Sub 运行程序 ( A) 5 5 15 5 ( B) 7 5 15 25 ( C) 7 8 15 5 ( D) 7 5 15 5 14 编写如下程序: Private Sub Comrnandl Click0Function proc(i As Integer) Dim m As Integer,n As Integer Dim a As Integer,Static b As Integer n=2a: a+1: b=b+1 For m=1 To 3 p

9、roc=a.b+i Printproc(n); End Function Next in End Sub 程序运行后,单击命令按钮 Command1,输出结果为 ( A) 3 3 3 ( B) 3 4 5 ( C) 3 5 6 ( D) 1 2 3 15 窗体上有名称为 Commandl的命令按钮,名称分别为 Label1、 Label2、 Label3的标签。编写如下程序: Private x As Integer Private Sub Commandl_Click() Static Y As Integer Dim z As Integer n=5: z=z+n: Y=Y+n: x=x+

10、Y Labe11=x: Labe12=Y: Labe13=z End Sub 运行程序,连续 3次单击命令按钮后, 3个标签中分别显示的是 ( A) 5 5 5 ( B) 15 10 5 ( C) 15 15 15 ( D) 30 15 5 16 在窗体上画一个命令按钮,然后编写如下程序: Sub inc(a As Integer)Private Sub Commandl CUck0 Static x As Integerinc 2: ine 3: ine 4 x=x+a Print x; End Sub End SUb 程序运行后,第一次单击命令按钮时的输出结果为 ( A) 2 3 4 (

11、B) 2 5 9 ( C) 11 14 18 ( D) 4 9 16 17 设窗体上有一个 Commandl命令按钮,还有以下程序代码: Private SUb CommandlClick()Private SUb proc(aAs Intege) Static x As IntegerStatic x As Integer x=x+1 x=x+a: a=x Call proc(x)End Sub Print x, End Sub 程序运行后, 3次单击命令按钮,则产生的输出是 ( A) 1 2 3 ( B) l 3 5 ( C) l 3 7 ( D) 2 4 6 18 编写如下程序: Pri

12、vate Sub Command1_Click() Dim n As Integer: Static s As Integer For n=1 To 3 s=s+n Next Print s End Sub 程序运行后,第三次单击命令按钮 Commandl时,输出结果为 ( A) 3 ( B) 6 ( C) 9 ( D) 18 19 以下不能输出 “Program”的语句是 ( A) Print Mid(“VBProgram”, 3, 7) ( B) Print Right(“VBProgram”, 7) ( C) Print Mid(“VBProgram”, 3) ( D) Print Le

13、ft(“VBProgram”, 7) 20 执行以下程序段 aS=”Visual Basic Programming”:b$=“C+”c$=UCase(Left$(aS, 7)&b$ RightS(aS, 12)变量 c$的值为 ( A) Visual BASIC Programming ( B) VISUAL C+Programming ( C) Visual C+Programming ( D) VISUAL BASIC Programming 21 可以产生 30 50(含 30和 50)之间的随机整数的表达式是 ( A) Int(Rnd*21+30) ( B) Int(Rnd*20+3

14、0) ( C) Int(Rnd*50 Rnd*30) ( D) Int(Rnd*30+50) 22 能够产生 1到 50之间 (含 1和 50)随机整数的表达式是 ( A) Int(Rnd*5 1) ( B) Int(Rnd(50)+1) ( C) Int(Rnd*50) ( D) Int(Rnd*50+1) 23 表达式 Sgn(0 25)的值是 ( A) -1 ( B) 0 ( C) 1 ( D) 0 5 24 要计算 x的平方根并放入变量 y,正确的语句是 ( A) y=Exp(x) ( B) y=Sgn(x) ( C) y=int(x) ( D) y=Sqr(x) 25 Print R

15、ight(“VB Programming”, 2)语句的输出结果是 ( A) VB ( B) Programming ( C) ng ( D) 2 26 以下表达式与 Int(3 5)的值相同的是 ( A) CInt(3 5) ( B) Val(3 5) ( C) Fix(3 5) ( D) Abs(3 5) 27 以下能对正实数 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) 28 语句: Print As

16、c(Chr$(Mid$(“98765432”, 4, 2)的输出是 ( A) 65 ( B) A ( C) 8765 ( D) W 29 语句: Print Int(Rnd*5+20)的输出不可能是 ( A) 20 ( B) 22 ( C) 24 ( D) 25 30 产生 100以内 (不含 100)2位随机整数的 Visual Basic表达式是 ( A) Int(Rnd(1)*91)+10 ( B) Int(Rnd(1)*90)+10 ( C) Int(Rnd(1)*91)+1 1 ( D) Int(Rnd(1)*90)+1l 国家二级 VB机试(选择题)模拟试卷 157答案与解析 一、

17、选择题 1 【正确答案】 C 【试题解析】 根据变量的定义位置和定义关键字的不同,变量可以分为以下 3种类型:局部 (。 Local)变量:在过程 (事件过程或通用过程 )内定义的变量,其作用域为该变量所在的过程,定义时使用 Dim、 Static关键字;模块 (Module)变量:模块变量包括窗体变量和标准模块变量 2种。其中,窗体变量可用于该窗体内的所有过程,其作用域为 该变量所在的窗体;标准模块变量是在标准模块中定义的变量,变量的声明和使用与窗体模块中窗体变量类似。区别是标准模块是只含有程序代码的应用程序文件,其扩展名为 .bas;全局 (Public)变量:全局变 【知识模块】 数据类

18、型及运算 2 【正确答案】 C 【试题解析】 声明符号常量用来代替数值或字符串。一般格式为: Const常量名=表达式 常量名 =表达式 “,其中要求表达式的类型和常量的类型是相同或者相容的。 “25“是一个字符串常量,无法赋值给整型符号常量 a。 【知识模块】 数据类型及运算 3 【正确答案】 D 【试题解析】 根据变量的定义位置和定义关键字的不同,变量可以分为以下 3种类型:局部 (Local)变量:在过程 (事件过程或通用过程 )内定义的变量,其作用域为该变量所在的过程,定义时使用 Dim、 Static关键字;模块 (Module)变量:模块变量包括窗体变量和标准模块变量 2种。其中,

19、窗体变量可用于该窗体内的所有过程,其作用域为该变量所在的窗体:标准模块变量是在标准模块中定义的变量。变量的声明和使用与窗体模块中窗体变量类似。区别是标准模块是只含有程序代码的应用程序文件,其扩展名 为 bas;全局 (Public)变量:全局变量 【知识模块】 数据类型及运算 4 【正确答案】 A 【试题解析】 定义变量时需要使用 As类型或者类型说明符来指明变量的数据类型,如果不指明则为隐式声明,该变量为变体型; mod是关键字表示求余运算,根据标识符命名规则不能作为变量名。 【知识模块】 数据类型及运算 5 【正确答案】 B 【试题解析】 根据变量的定义位置和定义关键字的不同,变量可以分为

20、以下 3种类型:局部 (Local)变量:在过程 (事件过程或通用过程 )内定义的变量,其作用域:该变量所在的过程,定义时使用 Dim、 Static关键字;模块 (Module)变量:模块变量包括窗体变量和标准模块变量 2种。其中,窗体变量可用于该窗体内的所有过程,其作用域为该变量所在的窗体:标准模块变量是在标准模块中定义的变量,变量的声明和使用与窗体模块中窗体变量类似。区别是标准模块是只含有程序代码的应用程序文件,其扩展名为 bas;全局 (Public)变量:全局变量 【知识模块】 数据类型及运算 6 【正确答案】 B 【试题解析】 变量是用一个名称来表示的,给变量命名时应遵循规则:名称

21、只能由字母、数字和下划线组成;名称的第一个字符必须是英文字母,最后一个字符可以是类型说明符;名称的有效字符为 255个:不能用 VB的保留字作变量名,但变量名中可以包含保留字,如 ConstA;变量名也不能是末尾带有类型说明符的保留字,如 Dim!是不合法的变量名;不区分字母的大小写。 【知识模块】 数据类型及运算 7 【正确答案】 D 【试题解析 】 根据变量的定义位置和定义关键字的不同,变量可以分为以下 3种类型:局部 (Local)变量:在过程 (事件过程或通用过程 )内定义的变量,其作用域:该变量所在的过程,定义时使用 Dim、 Static关键字:模块 (Module)变量:模块变量

22、包括窗体变量和标准模块变量 2种。其中,窗体变量可用于该窗体内的所有过程,其作用域为该变量所在的窗体;标准模块变量是在标准模块中定义的变量,变量的声明和使用与窗体模块中窗体变量类似。区别是标准模块是只含有程序代码的应用程序文件,其扩展名为 bas;全局 (Public)变量:全局变 量 【知识模块】 数据类型及运算 8 【正确答案】 A 【试题解析】 变量是用一个名称来表示的,给变量命名时应遵循规则:名称只能由字母、数字和下划线组成;名称的第一个字符必须是英文字母,最后一个字符可以是类型说明符;名称的有效字符为 255个;不能用 VB的保留字作变量名,但变量名中可以包含保留字,如 ConstA

23、;变量名也不能是末尾带有类型说明符的保留字,如 Dim!是不合法的变量名;不区分字母的大小写。 【知识模块】 数据类型及运算 9 【正确答案】 C 【试题解析】 根据变量的 定义位置和定义关键字的不同,变量可以分为以下 3种类型:局部 (Local)变量:在过程 (事件过程或通用过程 )内定义的变量,其作用域:该变量所在的过程,定义时使用 Dim、 Static关键字;模块 (Module)变量:模块变量包括窗体变量和标准模块变量 2种。其中,窗体变量可用于该窗体内的所有过程,其作用域为该变量所在的窗体;标准模块变量是在标准模块中定义的变量,变量的声明和使用与窗体模块中窗体变量类似。区别是标准

24、模块是只含有程序代码的应用程序文件,其扩展名为 bas;全局 (Public)变量:全局变量 【知 识模块】 数据类型及运算 10 【正确答案】 C 【试题解析】 Static语句在过程级别中使用,用于声明变量并分配存储空间,在整个代码运行期间都能保留使用 Static语句声明的变量的值。本题中,当第 1次调用过程时,静态变量 numa的初值为 0、普通变量 numb的初值为 0,执行循环语句后,静态变量 numa的值应为 2、普通变量 numb的值为 1:当第 2次调用过程时,静态变量 numa的初值为 2、普通变量 numb的初值为 0,执行循环语句后,静态变量 numa的值应为 4、普通

25、变量 numb的值为 1;当第 3次调用过 程时,静态变量 numa的初值为 4、普通变量 numb的初值为 0,执行循环语 【知识模块】 数据类型及运算 11 【正确答案】 B 【试题解析】 在标准模块用 Public关键字声明的全局变量,其作用域最大,可以在工程的每个模块、每个过程中使用。但当不同作用范围的变量重名时,有效范围小的变量会屏蔽有效范围大的变量。当一个全局变量与一个过程级变量重名时,当在本过程中直接使用这个变量名时,被认为是指局部变量。如果要在这个过程中使用同名的全局变量,要使用模块名来修饰变量名。在本题的事件过程中,由于变量 x被声明为过程级变量,其初始值为 0,调用过程 v

26、at pub不会改变其值,而变量 y为标准模块中声明的全局变量,调用过程 var_pub后其值为 20。故最后输出结果 【知识模块】 数据类型及运算 12 【正确答案】 D 【试题解析】 本题中题干部分的程序之所以会产生不合要求的结果,其原因是在单击事件中的第一条语句为 Dim n,这样的话每次单击按钮时触发此事件,都将会执行这条语句,重新定义一个局部变量 n并设其默认初值为 0。 Static语句在过程级别中使用,用于声明变量并分配存储空间,在整个代码运行期间 都能保留使用 Static语句声明的变量的值,因此此处应该使用 Statiic n来声明变量。 【知识模块】 数据类型及运算 13

27、【正确答案】 D 【试题解析】 本题中在模块文件中声明的 x是全局变量, y是模块变量;在窗体中声明的 a是模块级变量;在窗体的 Load事件中声明了局部变量 b,而且隐式声明了局部变量 y;在按钮的 click事件中使用到的 a是模块级变量,其值为 2; b是隐式声明的局部变量,其初值为 0; x是全局变量,其值为 10; y也是隐式声明的局部变量,其初值为 5。 【知识模块】 数据类型 及运算 14 【正确答案】 B 【试题解析】 使用 Dim关键字定义的是动态局部变量,过程执行结束后即被释放;使用 Static关键字定义的是静态局部变量,过程执行结束后仍然保留。本题中函数 proc中的局

28、部变量 a是动态变量, b是静态变量。即每次函数调用后 b的值会保留。先后三次调用 proc(n)方法,依次输出 3、 4、 5. 【知识模块】 数据类型及运算 15 【正确答案】 D 【试题解析】 Static语句在过程级别中使用,用于声明变量并分配存储空间,在整个代码运行期间都能保留使用 Static语句声明的变量的值。在窗体的声明段用Private声明的变量为模块级变量,其作用域为整个窗体。本题中,当第 1次单击时,静态变量 y的初值为 0,执行调用语句后,静态变量 y的值应为 5,模块级变量 x的值为 5;当第 2次单击时,静态变量 y的初值为 5,执行调用语句后,静态变量 y的值应为

29、 10,模块级变量 x的值为 15;当第 3次调用过程时,静态变量 y的初值为 10,执行调用语句后,静态变量 y的值应为 15,模块级变量 x的值为 3 【知识模块】 数据类型及运算 16 【正确答案】 B 【试题解析】 Static语句 在过程级别中使用,用于声明变量并分配存储空间,在整个代码运行期间都能保留使用 Static语句声明的变量的值。本题的 inc过程中的x是一个静态变量,在三次调用过程中变量的值会保留分别为 2、 2+3、 5+4。 【知识模块】 数据类型及运算 17 【正确答案】 C 【试题解析】 本题中在 C0l砌 a|1d1 _cIick过程中和 Sub过程 proc中

30、分别定义了一个静态变量 x,这两个 x都是局部变量,隶属于不周的局部互不干涉;当单击命令按钮时,单击事件中的 x加 1,然后调用 proc过程;由于 proc的形参 *采用地址传递,因此对 a的改变会影响实参 x。三次单击按钮分别使得两个过程中的x分裂变化,都会保留上一次过程结束时的值。 【知识模块】 数据类型及运算 18 【正确答案】 D 【试题解析】 Static语句在过程级别中使用,用于声明变量并分配存储空间,在整个代码运行期间都能保留使用 static语句声明的变量的值。在本题中连续 3次单击命令按钮,第一次单击时输出的 s=1+2+3=6。第二次单击时输出的s=6+1+2+3=12,

31、第三次单击时输出的 s=12+1+2+3=1 8. 【知识模块】 数 据类型及运算 19 【正确答案】 D 【试题解析】 本题考查的考点是有关取子串函数的。在 VB中有三种取子串函数: Left函数用于在字符串左端开始取 n个字符; Right函数用于在字符串右端开始取 n个字符 (注意子串中字符的顺序与母串中相同 ): Mid函数可以实现在任何位置取任何长度的予串,其中长度省略的话将会一直取到串尾。本题中选项 D的结果是 VBprogr,不符合题意。 【知识模块】 数据类型及运算 20 【正确答案】 B 【试题解析】 本题考查的考点是有关取子串函数的。在 VB中有 3种取 子串函数: LcR

32、函数用于在字符串左端开始取 n个字符; Right函数用于在字符串右端开始取 n个字符 (注意子串中字符的顺序与母串中相同 ); Mid函数可以实现在任何位置取任何长度的子串,其中长度省略的话将会一直取到串尾。 UCase函数用于把字符串转换成大写表示。 【知识模块】 数据类型及运算 21 【正确答案】 A 【试题解析】 随机数函数 Rad的功能是用于产生一个小于 1但大于或等于 0的随机数。为了生成某个指定范围内的随机整数,可使用以下公式: Int(upperbod-lowerbound+1)。 Rnd+lowerbound),其中 upperbound是随机整数范围的上限, lowerbo

33、und是随机整数范围的下限。本题中 upperbound为 50, 10werbolInd为30。 【知识模块】 数据类型及运算 22 【正确答案】 D 【试题解析】 随机数函数 Rnd的功能是用于产生一个小于 1但大于或等于 0的随机数。为了生成某个指定范围内的随机整数,可使用以下公式:Int(upperbound-lowerbound+1)*Rnd+lowerbound),其中 upperbound是随机 整数范围的上限, 10werbound是随机整数范围的下限。本题中 upperbound为 50,lowerbound为 1。 【知识模块】 数据类型及运算 23 【正确答案】 C 【试

34、题解析】 Sgn函数会返回参数的符号,如果参数为正数返回 1,为负数返回 -1。 【知识模块】 数据类型及运算 24 【正确答案】 D 【试题解析】 Exp函数是求指数函数; Sgn函数是求符号函数; Int函数是取整函数,平方根函数 (Sqr)可以返回 N的算术平方根, N必须大于或等于 0。 【知识模块】 数据类型及运算 25 【正确答案】 C 【试题解析】 Right( )函数用于取出已有字符串最右边指定个数的字符串,本题中取出的是最后两位字符。 【知识模块】 数据类型及运算 26 【正确答案】 C 【试题解析】 Int函数的作用是去返回不大于参数的最大整数,例如Int(4 6)=4,

35、Int(-4 6)=一 5; Fix函数的作用是去掉参数的小数部分只保留整数部分,在参数为正数的时候, Int函数和 Fix函数的返回值是相同的。 【知识模块】 数据类型及运算 27 【正确 答案】 B 【试题解析】 Int函数会返回不大于参数的最大整数,要对第 3位小数进行四舍五入,需要先将 d自加 0 005,这样如果第三位小数大于 5就将进位;接下来乘以 100,这样第 3位小数就变成了第一位小数,对其做 Im函数留下整数部分,最终再乘以 0 01得到结果。 【知识模块】 数据类型及运算 28 【正确答案】 A 【试题解析】 Mid函数可以实现在任何位置取任何长度的子串,其中长度省略的话

36、将会一直取到串尾,本题中是从第 4位取长度为 2的子串即 “65”。 Chr函数可以将 ASCII码转成对应 的字符, ASC函数将字符转换成对应的 ASCII码。 【知识模块】 数据类型及运算 29 【正确答案】 D 【试题解析】 随机数函数 Rnd用于产生一个小于 1但大于或等于 0的随机数值, Int函数会返回不大于参数的最大整数值。由于。 Rnd函数的值不能到达 1,所以整个表达式也不可能到达 25。 【知识模块】 数据类型及运算 30 【正确答案】 B 【试题解析】 随机数函数 Rnd的功能是用于产生一个小于 1但大于或等于 0的随机数。为了生成某个指定范围内的随机整数,可使用以下公式:Int(upperboundlowerbound+1)*Rnd+lowerbound),其中 upperbound是随机整数范围的上限, lowerbound是随机整数范围的下限。 【知识模块】 数据类型及运算

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 考试资料 > 职业资格

copyright@ 2008-2019 麦多课文库(www.mydoc123.com)网站版权所有
备案/许可证编号:苏ICP备17064731号-1