国家二级VB机试(数据类型及运算)模拟试卷4_第1页
国家二级VB机试(数据类型及运算)模拟试卷4_第2页
国家二级VB机试(数据类型及运算)模拟试卷4_第3页
国家二级VB机试(数据类型及运算)模拟试卷4_第4页
国家二级VB机试(数据类型及运算)模拟试卷4_第5页
已阅读5页,还剩64页未读 继续免费阅读

付费下载

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

国家二级VB机试(数据类型及运算)模

拟试卷第1套

一、选择题(本题共29题,每题1.0分,共29分。)

1、若变量a未事先定义而商接使用(例如:a=0),则变量a的类型是

A、Integer

B、String

C、Boolean

D、Variant

标准答案:D

知识点解析:本题考查的考点是有关变量定义的。在VB中有一种特殊的类型:变

体类型(Varianl),这种类型可以包含大部分其它类型的数据。在VB中,如果没有

显式声明变量的类型,则该变量默认为变体型(Variant)一

2、为了声明一个长度为128个字符的定长字符串变量StrD,以下语句中正确的是

A、DimStrDAsString

DimStrDAsString(l28)

C、DimStrDAsString[128]

D、DimStrDAsString*128

标准答案:D

知识点解析:字符串(String)是一个字符序列。由ASCH字符组成,包括标准的

ASCII字符和扩展ASCH字符。声明变量为定长字符串,需要在类犁名称Siring后

面加上*长度的标识。

3、VB中,若没有显式声明变量的数据类型,则默认的类型是

A、整型A

B、字符型

C、日期型

D、变体类型

标准答案:D

知识点解析:VB允许隐式声明变量。若没有显式声明变量的数据类型,则默认的

类型是变体型。

4、长整型常数的类型说明符为

A、%

B、#

c、&

D、*

标准答案:C

知识点解析:在VisualBaSic中规定一个变量的数据类型可以用类型说明符来标

识,如%表示整型、$表示字符串型、!表示单精度浮点型、#表示双精度浮点型、

&表示长整型。

5、以下变量名中合法的是

A、x2-l

13、print

C、str_n

D、2x

标准答案:C

知识点解析:变量是一个名字,给变量命名时应遵循以下4条规则:名字只能由字

母、数字和F划线组成:名字的第1个字符必须是英文字母,最后一个字符可以是

类型说明符;名字的有效字符为255个;不能用VisualBaSic的保留字做变量名,

也不能用末尾带有类型说明符的保留字做变量名,但可以在变量名中的保留字嵌

入。

6、以下合法的VB变量名是

A、#1

B、123_a

C、string

D、x_123

标准答案:D

知识点解析:变量是用一个名称来表示的,给变量命名时应遵循规则:名称只能由

字母、数字和下划线组成:名称的第一个字符必须是英文字母,最后一个字符可以

是类型说明符:名称的有效字符为255个:不能用VR的保留字作变量名,但变量

名中可以包含保留字,如ConstA;变量名也不能是末尾带有类型说明符的保留

字,如Dim!是不合法的变量名;不区分字母的大小写。

7、以下合法的VB变量名是

A、x

B、2y

C、a#b

D、x_I_x

标准答纂D

知识点解析:变量是用一个名称来表不的,给变量命名时应遵循规则:名称只能由

字母、数字和下划线组成:名称的第一个字符必须是英文字母,最后一个字符可以

是类型说明符:名称的有效字符为255个:不能用VB的保留字作变量名,但变量

名中可以包含保留字,如ConstA;变量名也不能是末尾带有类型说明符的保留

字,如Dim!是不合法的变量名;不区分字母的大小写。

8、设在一个匚程的窗体中有如下代码:PublicxAsIntegerPrivateSub

Form_Load()DimyAsIntegerEndSub在该工程的标准模块的声明部分有代码:

PublicaAsInteger:PrivatebAsInteger关于上述代码,以下叙述中错误的是

A、变量x的作用域是整个工程

B、变量y的作用域是Form.Load过程

C、变量a的作用域是整个工程

D、变量b的作用域是整个标准模块

标准答案:A

知识点解析:根据变量的定义位置和定义关键字的不同,变量可以分为以下3种类

型:.局部(Local)变量:在过程(事件过程或通用过程)内定义的变量,其作用域为

该变量所在的过程,定义时使用Dim、Static关键字;.模块(Module)变量:模块

变量包括窗体变量和标准模块变量2种。其中,窗体变量可用于该窗体内的所有过

程,其作用域为该变量所在的窗体;标准模块变量是在标准模块中定义的变量,变

量的声明和使用与窗体模块中窗体变量类似。区别是标准模块是只含有程序代码的

应用程序文件,其扩展名为.bas:.全局(Public)变量:全局变量也称为全程变

量,在标准模块的声明部分声明。全局变量的作用域最大,可以在工程的每个模

块、每个过程中使用。

9、在窗体模块的声明部分声明变星时,不能使用的关键字是

A、Dim

B、Public

C、Private

D、Static

标准答案:D

知识点解析:根据变量的定义位置和定义关键字的不同,变量可以分为以下3种类

型:.局部(Local)变量:在过程(事件过程或通用过程)内定义的变量,其作用域为

该变量所在的过程,定义时使用Dim、Static关键字;.模块(Module)变量:模块

变量包括窗体变量和标准模块变量2种。其中,窗体变量可用了该窗体内的所有过

程,其作用域为该变量所在的窗体;标准模块变量是在标准模块中定义的变量,变

量的声明和使用与窗体模块中窗体变量类似。区别是标准模块是只含有程序代码

的应用程序文件,其扩展名为.bas:.全局(Public)变量:全局变量也称为全程变

量,在标准模块的声明部分声明。全局变量的作用域最大,可以在工程的每个模

块、每个过程中使用。

10、在标准模块中,将a定义为全局整型变量的语句是

A^StaticaAsInteger

B、DimaAsInteger

C、PrivateaAsInteger

D、PublicaAsInteger

标准答案:D-

知识点解析:根据变量的定义位置和定义关键字的不同,变量可以分为以下3种类

型:.局部(Local)变量:在过程(事件过程或通用过程)内定义的变量,其作用域:

该变量所在的过程,定义时使用Dim、Sialic关键字;.模块(Module)变量:模块

变量包括窗体变量和标准模块变量2种。其中,窗体变量可用于该窗体内的所有过

程,其作用域为该变量所在的窗体;标准模块变量是在标准模块中定义的变量,变

量的声明和使用与窗体模块中窗体变量类似。区别是标准模块是只含有程序代码

的应用程序文件,其扩展名为.bas:.全局(Public)变量:全局变量也称为全程变

量,在标准模块的声明部分声明。全局变量的作用域最大,可以在工程的每个模

块、每个过程中使用。

11、标准模块中有如下程序代码:PublicxAsInteger,yAsIntegerSubvat_pub()

x=10:y=2。EndSub在窗体上有1个命令按钮,并有如下事件过程:PrivateSub

Commandl_Click()DimxAsIntegerCallvar_pubx=x+100:y=y+IOO:Printx;y

EndSub运行程序后单击命令按钮,窗体上显示的是

A、100100

B、100120

C、110100

D、110120

标准答案:B

知识点解析:在标准模块用Public关键字声明的全局变量,其作用域最大,可以

在工程的每个模块、每个过程中使用。但当不同作用范围的变显重名时,有效范围

小的变量会屏蔽有效范嗣大的变量。当一个全局变量与一个过程级变量重名时,当

在本过程中直接使用这个变量名时,被认为是指局部变量。如果要在这个过程中使

用同名的全局变量,要使用模块名来修饰变量名。在本题的事件过程中,由于变

量x被声明为过程级变量,其初始值为0,调用过程vajpub不会改变其值,而变

量y为标准模块中声明的全局变量,调用过程vajpub后其值为20。故最后输出结

果为100和120o

12、窗体上有名称为Commandl的命令按钮,名称分别为Labell、Label2>Label3

的标签°编写加下程序:PrivatexAsIntegerPrivateSubCommandI_CIick()Staticy

AsIntegerDimzAsIntegern=5:z=z+n:y=y+n:x=x+yLabell=x:Label2=y:

Label3=zEndSub运行程序,连续3次单击命令按钮后,3个标签中分别显示的是

A>555

B、15105

C、151515

D、30155

标准答案:D

知识点解析:Static语句在过程级别中使用,用于声明变量并分配存储空间,在整

个代码运行期间都能保留使用static语句声明的变量的值。在窗体的声明段用

Private声明的变量为模决级变量,其作用域为整个窗体。本题中,当第1次单击

时,静态变量y的初值为0,执行调用语句后,静态变量y的值应为5,模块级变

量x的值为5;当第2次单击时,静态变量y的初值为5,执行调用语句后,静态

变量y的值应为10,模块级变量x的值为15;当第3次调用过程时,静态变量y

的初值为10,执行调用语句后,静态变量y的值应为15,模块级变量X的值为

30。

13、以下不能输出“Program”的语句是

A、PrintMidC'VBProgram",3,7)

B、PrintRight("VBProgramn,7)

C、PrintMidC'VBProgram",3)

D、PrintLeftC'VBProgram",7)

标准答案:D

知识点解析:本题考查的考点是有关取子串函数的。在VB中有三种取子串函数;

Left函数用于在字符串左端开始取n个字符;Right函数用于在字符串右端开始取n

个字符(注意子串中字符的顺序与母串中相同):Mid函数可以实现在任何位置取任

何长度的子串,其中长度省略的话将会一直取到串尾。本题中选项D的结果是

VBprogr,不符合题意。

14、表达式Sgn(0.25)的值是

A、-1

B、0

C、1

D、0.5

标准答案:C

知识点解析:Sgn函数会返回参数的符号,如果参数为正数返回1,为负数返回-

lo

15、以下能对正实数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)

标准答案:B

知识点解析:Ini函数会返回不大于参数的最大整数,要对第3位小数进行四舍五

入,需要先将d自加0.005,这样如果第三位小数大于5就将进位:接下来乘以

100,这样第3位小数就变成了第一位小数,对其做Int函数留下整数部分,最终

再乘以0.01得到结果。

16、在窗体上画两个文本框,其名称分别为Textl和Text2,然后编写如下程序:

PrivateSubForm_Load()Textl.Texl="":Text2.Text="H:Textl.SetFocusEnd

SubPrivateSubTextl_Change()Text2.Text=Mid(Textl.Text,6)EndSub程序运

行后,如果在文本框Textl中输入ChinaBeijing,则在文本框Text2中显示的内容

A、ChinaBeijing

China

C、Beijing

D、ChinaB

标准答案:C

知识点解析:Mid(string,start|,lenglh])函数用于从已有字符串中取出从指定位置

开始的含指定个数字符的字符串,如果start参数超过了siring参数中字符的数日,

将返回空字符串,如果省略或length参数超过文本的字符数(包拓start处的字符),

将返回字符串中从slarl到字符串结束的所有字符。本题程序运行后,当在文本框

Textl中输入字符数达到或超过6时,在文本框Text2中将随即显示输入字符中从

第6个字符开始的所有字符,全部字符输入后,文本框Text2中的内容为

“Beijing”。

17>设有如下通用过程:PublicFunctionFun(xStrAsString)AsStringDimtStrAs

String,strLAsIntegertStr:"*':strL=Len(xStr)i=strL/2DoWhilei<=strL

tStr=tStr&Mid(xStr,i+1,1)i=i+iLoopFun=tStr&tStrEndFunction在窗体上画一

个名称为Textl的文本框和一个名称为Commandl的命令按钮。然后编写如在窗体

上画一个名称为的文本框和一个名称为的命令按钮。然后编写如下的事件过程:

PrivateSubCommandl_Click()DimSIAsStringSI="ABCDEFH:

Textl.Text=LCase(Fun(Sl))EndSub程序运行后,单击命令按钮,文本框中显示

的是

A、ABCDEF

B、abcdef

C、defdcf

D、defabc

标准答案:C

知识点解析:本题考查的考点是有关字符串处理的。本题中过程中的循环变量i的

初值是字符串长度的一半,终值是字符串长度,结合循环中的取子串函数,整个循

环的功能是取得字符串的后一半放入tstr中,然后连接上自身的值返回到调用程

序。

18、窗体上有1个名称为Commandl的命令按钮,事件过程如下:PrivateSub

Commandl_Click()m=-3.6IfSgn(m)Thenn=Int(m)Elsen=Abs(m)EndIfPrintnEnd

Sub运行程序,并单击命令按钮,窗体上显示的内容为

A、-4

B、-3

C、3

D、3.6

标准答案:A

知识点解析:Ini函数的作用是去返回不大于参数的最大整数,例如Inl(4.6)=4,

Int(-4.6)=-5:VB中的逻辑值True和False和整型值之间会自动进行类型转换,其

中-1转换为True,0转换为False。本题中由于m为负数,所以Sgn(m)的值为-1,

即条件为真,会返回不大于m的最大整数值即-4。

19、以卜程序的功能是随机产生10个两位的整数:OplionBase1PrivateSub

Commandl_Click()Dima(10)AsInteger,iAsIntegerRandomizeFori=1To10

a(i)=Int(Rnd*100)+1:Printa(i)NextiEndSub运行以上程序,发现有错误,需要对

产生随机数的语句进行修改。以下正确的修改是

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),其中upperbotmd是随机整数范围的上限,

lowerbound是随机整数范围的下限。本题中upperbound为99,lowerbound为10。

20、窗体上有名称分别为Textl、Text2的文本框,名称为Command1的命令按

钮。运行程序,在Texll中输入“FormList”,然后单击命令按钮,执行如下程序:

PrivateSubCommandl_Click()Text2.Text=UCase(Mid(Textl.Text,5,4))End

Sub在Text2中显示的是

A、form

B、list

C、FORM

D、LIST

标准答案:D

知识点解析•:Mid(字符串,起始位置[,个数])函数用于从已有字符串中取出从指定

位置开始的含指定个数字符的字符串,UCase()函数用于将字符串中小写字母转化

为大写字母,原本大写或非字母字符保持不变。

21、在窗体卜面一个命令按钮.然后编写如下事件过程:PrivateSub

Commandl_Click()a$=inputaox("请输入一个二进制数")n=Len(a$)Fori=1Ton

Dec=Dec*2+(a$,i,1)NextiPrintDecEndSub程序功能为:单击命令按

钮,将产生一个输入对话框,此时如果在对话框中输入一个二进制数,并单击“确

定“按钮,则把该二进制数转换为等值的十进制数。这个程序不完整,应在横线处

填入的内容是

A^Left

B、Right

C、Vai

D、Mid

标准答案:D

知识点解析:Mid(字符串,起始位置[,个数])函数用于从己有字符串中取出从指定

位置开始的含指定个数字符的字符串。本题中要将二进制数转换为十进制数,应该

取出二进制数的每一直然后乘以位权。

22、表达式2*3-2+4*2/2+3-2的值是

A、30

B、31

C、49

D、48

标准答案:B

知识点解析:本题考查的考点是有关算术运算的。按照运算符的优先级,首先执行

3,2得到9,然后用2乘以9得到18;然后计算4*2/2=4:最后计算3八2得到

9,三者相加得到最后结果31。

23、下面程序运行时,若输入395,则输出结果是PrivateSubCommandl_Click()

Dimx%x=InputB&x("请输入一个3位整数")PrintxMod10,x\100,(xMod100)

\10EndSub

A、395

B、539

C、593

D、359

标准答案:B

知识点解析:VB中常用算术运算符有8个,其中解运算符「)优先级最高:其次

是取负(・)、乘(*)、浮点除(/)、整除(\)、取模(Mod)、加(+)、减(・)。

24、满足下列条件之一的年份是闰年:1)年份能被4整除但不能被100整除2)年份

能被400整除若y代表年份,下面判断闰年的正确表达式是

A、yMod4AndyMod100OryMod400

B、yMod4=0OryMod10000AndyMod400=0

C、yMod100<>0And(yMod4=0OryMod400=0)

D、YMod4=0AndyMod100<>0OryMod400=0

标准答案:D

知识点解析:逻辑运算的优先级低于天系运算。而且逻辑运算中优先级从高到低是

Not^And—>Or,据此判断D选项符合题意。

25、设:a=12,b=5,c=7,表达式x=(a\c+aModb)+Int(13/5)的值是

A、5

B、6

C、7

D、9

标准答案:A

知识点解析:在一个包含多种运算的表达式中,优先级顺序为:首先进行函数运

算,接着进行算术运算,然后进行关系运算(二、>、V、>=、<=、<>),最后

进行逻辑运算(Not—>And—Or—Xor—>Eqv—本题最后结果可以表达为

(1+2)+2,结果为5。

26、设a=10,b=4,c=5>d=7,表达式a>bAndNotc〈d+6的值为

A^True

B、False

C、I

D、0

标准答案:B

知识点解析:在一个包含多种运算的表达式中,优先级顺序为:首先进行函数运

算,接着进行算术运算,然后进行关系运算(=、>、V、>=、<=><>),最后

进行逻辑运算(Not—>And—>Or-Xor-Eqv—本题最后结果可以表达为

TrueAndNolTrue,结果为False。

27、下列运算符中,优先级别最低的是

A、Not

B、Like

C、Mod

D、And

标准答案:D

知识点解析•:在一个包含多种运算的表达式中,优先级顺序为:首先进行函数运

算,接着进行算术运算,然后进行关系运算(二、>、<、>=、<=><>),最后

进行逻辑运算(Nol—>And-Or—Xor->EqvTlmo)。

28、下面程序的执行结果是PrivateSubCommandl_Click()a=0k=lDoWhilek<4

x=k"k"a:k=k+lPrintx;LoopEndSub

A、1427

B、111

C、I49

D、000

标准答案:R

知识点解析:本题是一个简单的D。循环,共循环3次,每次都输出k-k^a;因

为a的值始终不变均为0,所以无论k取何值,0次暴的结果都为1。

29、VisualBasic源程序的续行符为

A、冒号(:)

B、分号(;)

C、下划线(一)

D、连字符(・)

标准答案:C

知识点解析:VisualBasic中的语句是执行具体操作的指令,通常一行输入一条语

句。也可把多条语句放在一行,各语句间用冒号(:)隔开。还可通过续行符(续行符

由一个空格加一个下划线组成“_,,)将一条语句分别放在多行。

国家二级VB机试(数据类型及运算)模

拟试卷第2套

一、选择题(本题共28题,每题1.0分,共28分。)

1、如下关于变体类型变量的叙述中,错误的是

A、变体类型数组中只能存放同类型数据

B、使用Array初始化的数组变量,必须是Variant类型

C、没有声明而直接使用的变量其默认类型均是Variant

D、在同一程序中,变体类型的变量可以被多次赋以不同类型的数据

标准答案:A

知识点解析:变体型是一种可变的数据类型,可以表示任何值,包括数值、字符

串、日期、时间等。所以在变体类型的数组中每个元素的数据类型可以不一致。没

有声明而直接使用的变量其默认类型均是变体型,在同一程序中,变体类型的变量

可以被多次赋以不同类型的数据,使用Array初始化的数组变量,必须是变体类

型。

2、有数据定义语句:Dima,bAsIntegerDimx%,yasInteger执行语句后,不是

整型变量的是

A、a

B、b

C、x

D、y

标准答案:A

知识点解析;在VisualBasic中用户既可以显式声明一个变量,也可以不声明而直

接使用变量,显式声明变量时每个变量都应使用类型说明符或者As子句声明类

型,甭则该变量将被视为变体类型。

3、设有以下定义语句:PrivateTypepointxAsIntegeryAsIntegerEndTypeDima

Aspoint下面语句中正确的是

A^a=12

B、a.x=12

C、point=12

D、point.x=12

标准答案:B

知识点解析:Type语句用于在模块级别(过程外的任何代码都将看作模块级别代

码,必须先列出声明,随后列出过程)中定义一个用户自己的数据类型,本质上是

一个数据类型集合,它含有一个至一个以上的成员,每个成员可以被定义为不同的

数据类型。当声明一个刍定义类型变量后,就可通过“变量名.成员名''来访问自定

义变量中的元素。自定义数据类型的声明与基本数据类型变量的声明相同。

4、执行语句DimX,YAsIntegerJS,

A、X和Y均被定义为整型变量

B、X和Y均被定义为变体类型变量

C、X被定义为整型变量,Y被定义为变体类型变量

D、X被定义为变体类型变量,Y被定义为整型变量

标准答案:D

知识点解析:本题考查的考点是有关变量定义的。在VB中有一种特殊的类型:变

体类型(Varianl),这种类型可以包含大部分其他类型的数据。在VB中,如果没有

显式声明变量的类型,则该变量默认为变体型(Valiant)。如果一条定义语句定义多

个变量,每个变量必须单独说明其类型,若不说明则为变体型。

5、如果在窗体模块中所有程序代码的前面有语句:Dimx,则x是

A、全局变量

B、局部变量

C、静态变量

D、窗体级变量

标准答案:D

知识点解析:模块级变量在模块的声明部分用Private或Dim声明。模块变量包括

窗体变量和标准模块变量2种。其中,窗体变量声明在所有程序代码之前,可用于

该窗体内的所有过程,其作用域为该变量所在的窗体;标准模块变:量是在标准模

块中定义的变量,变量的声明和使用与窗体模块中窗体变量类似。

6、下列合法的变量名是

A、sum-a

B、num_9

C>prints

D、5avg

标准答案:B

知识点解析:变量是用一个名称来表示的,给变量命名时应遵循规则:名称只能由

字母、数字和下划线组成;名称的第一个字符必须是英文字母,坡后一个字符可以

是类型说明符;名称的有效字符为255个;不能用VB的保留字作变量名,但变量

名中可以包含保留字,如ConstA;变量名也不能是末尾带有类型说明符的保留

字,如Dim!是不合法的变量名;不区分字母的大小写。

7、以下合法的VB变量名是

A、_a

B、yPrint

C、a-b

D^Type

标准答案:B

知识点解析:变量是用一个名称来表示的,给变量命名时应遵循规则:名称只能

由字母、数字和下划线组成;名称的第一个字符必须是英文字母,最后一个字符可

以是类型说明符;名称的有效字符为255个;不能用VB的保留字作变量名,但变

量名中可以包含保留字,如ConstA:变量名也不能是末尾带有类型说明符的保留

字,如Dim!是不合法的变量名;不区分字母的大小写。

8、下列符号常量的声明中不合法的是

A、ConstaAsSingle=3.5

B>ConstaASDoubIe=5+8

C、ConstaAsInteger=u25"

D、Consta="OKn

标准答案:C

知识点解析:声明符号常量用来代替数值或字符串。一般格式为:Consi常量名二

表达式[,常量名=表达式]…,其中要求表达式的类型和常量的类型是相同或者相

容的。“25”是一个字符串常量,无法赋值给整型符号常量a。

9、下列说法中,错误的是

A、变量名长度不能超过255个字符

B、变量名的第一个字符可以是字母或数字

C、变量名只能由字母、数宁和下划线组成

D、变量名不能使用保留字

标准答案:B

知识点解析:变量是用一个名称来表示的,给变量命名时应遵循规则:名称只能由

字母、数字和下划线组成;名称的第一个字符必须是英文字母,最后一个字符可以

是类型说明符;名称的有效字符为255个:不能用VB的保留字作变量名,但变量

名中可以包含保留字,如ConslA;变量名也不能是末尾带有类型说明符的保留

字.如Dim!是不合法的变量名:不区分字母的大小写.

10、有如下过程代码:Subvar_dim()StaticnumaAsIntegerDimnumbAsInteger

numa=numa+2:numb=numb+1:printnuma;numbEndSub连续3次调用var_dim

过程,第3次调用时的输出是

A、21

B、23

C、61

D、63

标准答案:C

知识点解析:Static语句在过程级别中使用,用于声明变量并分配存储空间,在整

个代码运行期间都能保留使用Static语句声明的变量的值。本题中,当第1次调用

过程时,静态变量numa的初值为0、普通变量numb的初值为0,执行循环语句

后,静态变量numa的值应为2、普通变量numb的值为1;当第2次调用过程时,

静态变量numa的初值为2、普通变量numb的初值为0,执行循环语句后,静态变

量numa的值应为4、普通变量numb的值为1;当第3次调用过程时,静态变量

numa的初值为4、普通变量numb的初值为0,执行循环语句后,静态变量numa

的值应为6、普通变量numb的值为1。

II、编写如下程序:PrivateSubCommandl_Click()DimmAsInteger,nAsInteger

n=2Form=lTo3Printproc(n);NextmEndSubFunctionproc(iAsInteger)DimaAs

Integer,StaticbAsIntegera=a+1:b=b+lproc=a*b+iEndFunction程序运行后,单

击命令按钮Commandl,输出结果为

A、333

B、345

C、356

D、123

标准答案:B

知识点解析:使用Dim关键字定义的是动态局部变量,过程执行结束后即被释

放;使用Static关键字定义的是静态局部变量,过程执行结束后仍然保留。本题中

函数proc中的局部变量a是动态变量,b是静态变量。即每次函数调用后b的值会

保留。先后三次调用proc(n)方法,依次输出3、4、5。

12,编写如下程序:PrivateSubCommandl_Click()DimnAsInteger:StaticsAs

IntegerForn=lTo3s=s+nNextPrintsEndSub程序运行后,第三次单击命令按钮

Commandl时,输出结果为

A、3

B、6

C、9

D、18

标准答案:D

知识点解析:Slatic语句在过程级别中使用,用于声明变量并分配存储空间,在整

个代码运行期间都能保留使用Static语句声明的变量的值°在本题中连续3次单击

命令按钮,第一次单击时输出的s=l+2+3=6。第二次单击时输出的

s=6+1+2+3=12,第三次单击时输出的s=12+l+2+3=18o

13、能够产生1到50之间(含1和50)随机整数的表达式是

A、Int(Rnd*51)

B、Int(Rnd(50)+1)

C、Int(Rnd*50I

D、Int(Rnd*50+l)

标准答案:D

知识点解析:随机数函数Rnd的功能是用于产生一个小于1但大于或等于0的随

机数。为了生成某个指定范围内的随机整数,可使用以卜,公式:Int((upperbound-

lowerbound+1)*Rnd+lowerbound),其中upperbound是随机整数范围的上限,

lowerbound是随机整数范围的下限。本题中uppcrbound为50,lowerbound为1。

14、以下.表达式与lm(3.5)的值相同的是

A、CInt(3.5)

B、Val(3.5)

C、Fix(3.5)

D、Abs(3.5)

标准答案:C

知识点解析:1m函数的作用是去返回不大于参数的最大整数,例如hn(4.6)=4,

Int(-4.6)=-5:Fix函数的作用是去掉参数的小数部分只保留整数部分,在参数为

正数的时候,Int函数和Fix函数的返回值是相同的。

15、产生100以内(不含100)2位随机整数的VisualBasic表达式是

A、Int(Rnd(1)*91)+10

B、Int(Rnd(1)*901+10

C、Int(Rnd(1)*91)+11

D、Int(Rnd(11*90)+11

标准答案:B

知识点解析:随机数函数Rnd的功能是用于产生一个小于1但大于或等于0的随

机数。为了生成某个指定范围内的随机整数,可使用以下公式:Int((upperbound-

lowerbound+1)K,Rnd+lowerbound),其中upperbound是随机整数范围的_L限,

lowerbound是随机整数范围的下限。

16、在窗体上画一个名称为Command1的命令按钮,然后编写如下事件过程:

PrivateSubCommandl_Click()c=1234cl=Trim(Str(c))Fori=lTo4

PrintNextEndSub程序运行后,单击命令按钮,要求在窗体上显

示内容:1121231234则在横线处应填入的内容为

A、Right(cl,i)

B、Lefi(cl,i)

C、Mid(cl,i,1)

D、Mid(cl,i,i)

标准答案:B

知识点解析:本题考查的考点是有关取子串函数的。在VB中有3种取子串函数:

Left函数用于在字符串左端开始取n个字符:Right函数用于在字符串右端开始取n

个字符(注意子串中字符的顺序与母串中相同);Mid函数可以实现在任何位置取任

何长度的子串,其中长度省略的话将会一直取到串尾。本题中显示出来的结果可以

看出,第一行是字符串的第一个字符,第二行是字符串的前两个字符……所以每行

输出的应该是字符串的前i位。

17、窗体上有名称分别为Textl、Text2的文本框,名称为Command1的命令按

钮。运行程序,在Tcxtl中输入“FormList”,然后单击命令按钮,执行如下程序:

PrivateSubCommandl_Click()Texl2.Text=UCase(Mid(Textl.Text,5,4))End

Sub在Text2中显示的是

A^form

list

C、FORM

D、LIST

标准答案:D

知识点解析:Mid(字符串,起始位置[,个数])函数用于从己有字符串中取出从指定

位置开始的含指定个数字符的字符串,UCase()函数用于将字符串中小写字母转化

为大写字母,原本大写或非字母字符保持不变。

18、在窗体上画一个命令按钮,然后编写如下事件过程:PrivateSub

Commandl_Click()aS二lnputBox("请输入一个二进制数"):n=Len(a$)bori=llon

Dec=Dec*2+(aS,i,1)NextiPrintDecEndSub程序功能为:单击命令按钮,将产

生一个输入对话框,此时如果在对话框中输入一个二进制数,并单击“确定”按钮,

则把该二进制数转换为等值的十进制数。这个程序不完整,应在横线处填入的内容

A、Left

B、Right

C、Vai

D、Mid

标准答案:D

知识点解析:Mjd(字符串,起始位置[,个数])函数用于从已有字符串中取出从指定

位置开始的含指定个数字符的字符串。本题中要将二进制数转换为十进制数,应该

取出二进制数的每一位然后乘以位权。

19、窗体上有两个名称分别为Tex"、Tex12的文本框。Texll的KeyUp事件过程如

下:PrivateSubText1_KeyUp(KeyCodeAsInteger,ShiftAsInteger)DimcAsString

c=UCase(Chr(KeyCode)):Text2.Tcxt=Chr(Asc(c)+2)EndSub当向文本框Textl中

输入小写字母a时,文本框Text2中显示的是

A、A

B、a

C、C

D、C

标准答案:C

知识点解析:本题考查的考点是有关字符转换函数的。UCase函数的功能为强制转

成大写字母;Chr函数的功能是把整数按照ASCII码转换成字母:Asc函数的功能

是把字母转换成对应的ASCH码。本题中变量c的值是大写字母“A”,最终结果是

大写字母“C”。

20、在窗体上画一个文本框,名称为Textl,然后编写如下程序:PrivatevSub

Form_Load()Textl.Text="":Textl.SetFocusEndSubPrivateSubForm_Click()

DiniaAsString,sAsStringa=Textl.Text:s="MFork=lToLen(a)

s=UCase(Mid(a,k,l))+sNextkTextl.Text=sEndSub程序运行后,在文本框中

输入一个字符串,然后单击窗体,则文本框中的内容

A、与原字符串相同

B、与原字符串中字符顺序相同,但所有字母均转换为大写

C、为原字符串的逆序字符串,且所有字母转换为大写

D、为原字符串的逆序字符串

标准答案:c

知识点解析:Mid(字符串,起始位置[,个数])函数用于从已有字符串中取出从指定

位置开始的含指定个数字符的字符串,UCase()函数用于将字符串中小写字母转化

为大写字母,原本大写或非字母字符保持不变。本题中在循环内每次取出第k位个

字符并且连接到结果字符串的前面,所以结果字符串是源字符串的逆序字符串。

21、在VisualBasic中,表达式3*2\5Mod3的值是

A、1

B、0

C、3

D、出现错误提示

标准答案:A

知识点解析:本题考查的考点是有关算术运算的。按照运算符的优先级,首先执行

3*2得到6,然后用6整除5得到1,最后用1对3求余数得到最终结果1。本题要

注意为整除运算符,以及Mod取余运算的算法。

5i+3

22、把数学表达式汇7表示为正确的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)

标准答案:D

知识点解析:VB中常用算术运算符有8个,其中嘉运算符(八)优先级最高;其次是

取负(-)、乘(*)、浮点除(/)、整除(\)、取模(Mod)、加(+)、减(・),要改变运算的

优先级可使用圆括号。

23、要求如果x被7除余2,则输出x的值,下列语句中不能实现此功能的语句是

A、Ifxmod7=2ThenPrintx

B、Ifx-(x\7)*7=2ThenPrintx

C、Ifx-(x/7)*7=2ThenPrintx

D、Ifvx-Int(x/7)*7=2ThenPrintx

标准答案:C

知火点解析:整除运算符的功能是取两数相除结果的整数部分,取模运算符

“MOD”的功能是取两数相除的余数部分,且前者的优先级高于后者。据此判断本

题中的选项,只有C选项使用了“/”普通算数除法运算符,而且没有对结果进行

取整操作,是不能判断被7除余2的。

24、已知:x=-6y=39则表达式“y\x*Sgn(x)”的值为

A、-6.5

B、-6

C、6

D、6.5

标准答案:C

知识点解析:算术表达式的运算次序为:金(八)一取负(-)—乘、浮点除(*、/)T整

除(\)一取模(Mod)-加、减(+、-)一连接(&),Sgn函数会返回参数的符号。本题y

\x的值为6,最终结果为-6。

25、数学式y2>x>=10在VB中应表示为

A、y*y>xAndlO<=x

B、Sqr(y)>xAndx>=10

C^Sqr(y)>xOrx<=10

D、y*y>xOrx>=10

标准答案:A

知识点解析:Sgn函数为求平方根函数,为了表达x既小于y的平方又火于等于

10,两个表达式之间应该使用And联接。

26、设变量x的值是845,则下面语句的输出是Printx\100+(xMod100)\10+x

Mod10

A、17

B、548

C、845

D、485

标准答案:A

知识点解析:本题中使用了两种运算:整除运算和求余运算“Mod”,最终输出

的是8+4+5=17,

27、在窗体上画一个命令按钮和一个文本框,其名称分别为Commandl和Textl,

把文本框的Text属性设置为空白,然后编写如下事件过程:PrivateSub

Commandl_Click()a=InputBox("Enteraninteger"):b=Textl.Text:

Tcxtl.Tex二b+aEndSub程序运行后,在文本框中输入456,然后单击命令按钮,

在输入对话框中输入123,则文本框中显示的内容是

A、579

B、123

C、456123

D、456

标准答案:C

知识点解析:[npulBox函数将会返回用户在输入对话框中输入的文本,以字符串的

形式返回;文本框的Text属性会返回文本框中的文本;而当运算符的两端都是

字符串的时候,执行的是字符串的连接运算。

28、输入VB源程序时,若一个命令行中包含两个语句,则两个语句之间的分隔符

应使用

A、冒号(:)

B、分号(;)

C、下划线(一)

D、连字符(-)

标准答案:A

知识点解析:VisualBasic中的语句是执行具体操作的指令,通常一行输入一条语

句。也可把多条语句放在一行,各语句间用冒号(:)隔开。还可通过续行符(续行符

由一个空格加一个下划线组成将一条语句分别放在多行。

国家二级VB机试(数据类型及运算)模

拟试卷第3套

一、选择题(本题共33题,每题1.0分,共33分。)

1、执行如下两条语句后,窗体上显示的是a=9.8596PrintFormat(a,"$00,00,

00")

A、0,009.86

B、$9.86

C、9.86

D、SO,009.86

标准答案:D

知识点解析:此题考察。Forma【函数,该函数的格式为:Format(expression[,

foirnat])其中expression参数指定要转换的数值,format参数是字符窜,$表示

Currency格式,显示带千分符且小数点右面保存两位,因此应选选项D。

2、设一个工程由两个窗体组成,其名称分别为Fornml和Forum2,在Fornml上有

一个名称为Command1的命令按钮。窗体Fornml的程序代码如下:PrivateSub

Commandl_Click()Dima=10Callg(Fomm2,a)EndSubPrivateSubg(fAsFomm,x

AsInteger)y=IIf(x>10,100,一100)f.Showf.C叩tion二yEndSub运行以上程

序,正确的结果是

A、Fornml的Caption属性值为100

B、Forum2的Caption属性值为.100

C、Fornml的Caption属性值为-100

D、Forum2的Caption属性值为100

标准答案:B

知识点解析:本题考查常用函数和窗体属性设置。在Command1命令按钮的Click

事件代码里面,定义变量a,初始化为10,然后调用g函数,参数为Fornm2和

a:在g函数中,首先判断输入的参数x是否大于10,显然调用g函数时传入的a

为10,因此在g函数中y的值为一100,然后设置窗体f变量(Fomm2)的Caption

属性为y,即设置Fornm2的Caption属性为-100。

3、在窗体上画一个名称为Commandl的命令按钮,并编写如下程序:PrivateSub

Commandl_Click()DimxAsIntegerx=IO:y=5Callfl(x,y)Printx,yEndsub

PrivateSubfl(ByRefxlAsInteger,_ylAsInteger)xl=x1+2:yl=yl+2EndSub程

序运行后,单击命令按钮,在窗体工显示的内容是

A、105

B、122

C、107

D、127

标准答案:D

知识点解析:本题考查函数参数传递。在Commandl的Click事件代码里而,定义

了变量x和y,值分别为10和5,然后调用fl过程;fl过程有两个参数,其中第

一个参数是ByRef表明是按地址传递参数的,第二个参数是没有指明ByVai类

型,囚此默认页是ByRef地址传递参数,在fl过程中多参数做的修改,同样会修

改实参;在fl过程中,分别对两个参数加2,因此在Commandl的Click代码里

面,调用fl过程后,x和y的值增加2,变成12和7。

4、在窗体上画一个名称为Filcl的文件列表框,并编写如下程序:PrivateSub

Filel.DblClickOx=Shell(Filel.FileName,I)EndSub以下关于该程序的叙述中,

错误庙是

A、x没有实际作用,因此可以将该语句写成CaHSheH(Filel.FileName,1)

B、双击文件列表框中的文件,将触发该事件过程

C、要执行的文件的名字通过Filel.FileName指定

D、Filel中显示的是的当前驱动器、当前目录下的文件

标准答案:A

知识点解析:本题考查常用内部函数,Shell函数的功能是执行一个可执行文伫,

返回一个Variant(Double),如果成功的话,代表这个程序的任务ID,若不成功,

则会返回O。选项A)错误,x获取Shell函数返回值;选项B)、C)和D)均正确。

5、在窗体上画一个名称为Commandl的命令按钮,然后编写如下程序:Option

BaseIPrivateSubCommandl_Click()DimaAsVarianta=Array(l,2,3,4,5)

Sum=0Fori=lTo5Sum=Sum+a(i)Nextix=Suin/5Fori=lTo5Ifa(i)>xthenPrint

a⑴NextiEndSub程序溶行后,金击命令按钮,在窗体上显示的内容是

A、12

B、123

C、345

D、45

标准答案:D

知识点解析:本题考查数组和循环。在Command1的Cliek事件代码里面,定义了

数组a,并通过Array函数给数组赋初值。接下来通过For循环计算数组元素的累

加和Sum,得到累加和后x=Sum/5来计算平均值。最后通过For循环,打印大于

平均值的元素。

6、执行以下程序段aS="abbacddcba”Fori=6To2Step-2X=Mid(a,i,i):

Y=Lett(a,i)z=Right(a,i):z=UCase(XYz)NextiPrintz输出的结果是

A、ABA

13、BBABBA

C、AABAAB

D、AABAAB

标准答案:B

知识点解析:本题考查循环结构和常用内部函数,Mid、Left和Right是字符串截

取函数,UCase是把字符串转换成大写的函数。在循环体内,X是从a字符串的第

i位开始,取出i长度的字符串,Y从a字符串的最左边开始取出长度为i的字符

串,Z从a字符串的最右边开始取出长度为i的字符串,然后把“XYz”转换成大小

并赋值给z。由于循环体每次操作都一样,只需要考虑循环最后一次执行的情况,

循环最后一次执行的时候i的值为2,此时X=Mid(a,2,2尸bb'、,Y=Left(a,2)=、'ab”,

z=mght(a,2)="ba",所以UCase(XYz尸"BBABBA”。

7、假定一个工程由一个窗体文件Forml和两个标准模块文件Modell和Model2组

成ModelI的代码如卜:PublicxAsInteger:Publicy»AsIntegerSubS1()SubS2()

x=ly=10S2Form1.showEndSubEndSubModel2的代码如下:SubMain()SI

EndSub其中SubMain被设置为启动过程。程序运行后,各模块的执行顺序是

A、Fonn1^Model1—>Modcl2

B、Model1—>Model2—>Form1

C、Model2—♦Model1—>Fortn1

D、Mode12-Forml-Model1

标准答案:C

知识点解析:本题考查启动顺序。木题中,设置Main为启动过程,而Main位于

Model2当中,因此最先运行的是Model2中的Mian过程;在Mian过程中调用S1

过程,而S1位于Modell模块中,因此接下来运行的是Modell模块;在S1过程

中会调用S2过程:S2过程中设置Forml.show来启动Froml,因此最后运行的是

Form1o

8、在窗体(名称为Forml)上画一个名称为Textl的文本框和一个名称为Commandl

的命令按钮,然后编写一个事件过程。程序运行后,如果在文本本框中输入一个字

符,则把命令按钮的标题设置为“计算机等级考试“,以下能实现上述操作的时间过

程是

A、PrivateSubTextl_Change()Command1.Caption="计算机等级考试”EndSub

B、PrivateSubTextlChange()Caption+'计算机等级考试“EndSub

C、PrivateSubTextl_Change()Textl.Caption="计算机等级考试"EndSub

D^PrivateSubTextl_Change()Textl.Text="计算机等级考试“EndSub

标准答案:A」

知识点解析:本题考查控件属性和事件代码。题目要求在文本框输入字符的时候设

置命令按钮的标题属性,因此需要在文本框的Change事件代码设置命令按钮的

Caption属性。

9、在窗体上画一个列表框和一个命令按钮,其名称分别为lisll和Command],然

后编写如下事件过程:PrivateSubFormload()Listl.Addltem',Itemr,:

Listl.Addltcm''ltcm2":Listl.Addltcm''Itcm3"EndSubPrivateSub

Commandl_Click()Listl.List(Listl.ListCounO="AAAA”EndSub程序运行后,

单击命令按钮,其结果为

A、把字符串“AAAA”添加到列表框中,但位置不能确定

B、把字符申“AAAA”添加到列表框的最后(即的后面)

C、把列表框原有的最后一项改为“AAAA”

D、把字符串“AAAA”插入到列表框的最前面(即“Itcml”的前面)

标准答案:B

知识点解析:本题考查控件的属性和方法。在窗体的Load事件代码里面,使用列

表框的Addltcm方法为Listl列表框增加三项;在氽令按钮的Click事件代码里面,

此时列表框Lisll的LislCounl属性为3,因此Listl.List(Listl.ListCount)=''AAAA”

实际是Listl.List(3尸"AAAA”,即向列表框的最后添加一项。

10、在窗体上画一个命令按钮,然后编写如下事件过程:PrivateSUb

CommandlClickFori=lTo5a(i)=Chr(Asc(,,A,,)+(i-I))NextiForEachbInaPrint

b:NextEndSub程序运行后,单击命令按钮,输出结果是

A、ABCDE

B、12345

C、ahede

D、出错信息

标准答案:A

知识点解析:本题考查常用函数和For循环。在第一个循环里面,给数组a的元素

赋值,第一个元素的值为“A”,第二个元素值为“B”,以此类推;接下来第二个For

循环打印输出数组a里面的元素值。

11、设窗体上有一个名为Textl的文本框,并编写如下程序:PrivateSub

Form_load0ShowTextl.Text="“:Textl.SetFocusEndSubPrivateSub

Form_MouseUp(ButtonAsInteger,_shiftAsinteger.XAsSingle,YAsInteger)

Print”程序设计"EndSubPrivateSubText_KeyDown(keyCodAsInteger,_shiftAs

Integer)Prinf,VisualBasic”;EndSub程序运行后,如果在文本框中输入字母“a",

然后单击窗体,则在窗体上显示的内容是

A、VisualBasic

B、程序设计

C、VisualBasic程序设计

D、a程序设计

标准答案:C

知识点解析:本题考查控件属性和事件响应。在文本框输入字母”屋会触发文本框

的KeyDown事件,在该事件代码里面输出“VisualBasic”字符串;接下来单击窗

体,会触发窗体的MouseUp事件,在该事件代码里面输出“程序设计”。

中工L:库疆

12、假定有下表所列的菜单结构:淮--对上——-,要求程序运行后,

如果单击菜单项“大图标”,则在该菜单前添加一个7”。以下正确的是

A、PrivateSubbigicon_Clic

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论