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

付费下载

下载本文档

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

文档简介

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

拟试卷第1套

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

1、窗体上有两个名称分别为Textl、Tcxt2的文本框。Tcxtl的KcyUp事件过程如

下:PrivateSubTextl_KeyUp(KeyCodeAsInteger,ShiftAsInteger)DimCAsString

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

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

A、A

B、a

C、C

D、C

标准答案:C

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

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

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

大写字母“C”。

2、窗体上有名称分别为Texll、Texl2的文本框,名称为Command1的命令按钮。

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

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

Sub在Text2中显示的是

A、form

B、list

C、FORM

D、LIST

标准答案:D

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

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

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

3、窗体上有1个名称为Command1的命令按钮,事件过程如下: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

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

Int(—4.6)=—5;VB中的逻辑值True和False和整型值之间会自动进行类型转

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

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

4、设有如下程序:PrivateSubForm_ClickOnum=InputBox("请输入一个实数”):

E=lnStr(num,")lfp>0IhcnPrintMid(num,P+1)ElsePnnt"END“EndIfEndSub

运行程序,单击窗体,根据提示输入一个数值。如果输入的不是实数,则程序输出

“END”:否则

A、用字符方式输出该实数

B、输出该实数的整数部分

C、输出该实数的小数部分

D、去掉实数中的小数点,保留所有数码输出

标准答案:C

知识点解析:字符串匹配函数Instr用于查找第二个参数在第一个参数中第一次出

现的位置,若未找到返回0;Mid(字符串,起始位置[,个数])函数用于从己有字符

串中取出从指定位置开始的含指定个数字符的字符串,若不指定个数将返回字符串

中从参数“起始位置”到字符串尾端的所有字符。本题实际就是先找到小数点的位

置,然后输出小数点后面的部分,即小数部分。

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

Fonn_Load()Textl.Text='”':Textl.SetFocusEndSubPrivateSubForm_Click()

DimaAsString,sAsStringa=Textl.Text:s=,n,Fork=lToLcn(a)

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

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

A、与原字符串相同

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

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

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

标准答案:C

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

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

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

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

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

CommandlClick。aS=InputBox(“请输入一个二进制数“)n=Len(a$)Fori=lTon

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

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

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

内容是

A、Left

B、Right

C、Vai

D、Mid

标准答案:D

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

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

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

7^以下程序的功能是随机产生10个两位的整数:OptionBase1PrivateSub

Commandl_CIick()Dima(I0)AsInteger>iAsIntegerRandomizeFori=lTo10

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

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

A、a(i)=Int(Rnd*IOO)

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((uppcrbound

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

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

8、窗体上有一个名称为Commandl的命令按钮,单击该按钮时所实现的功能是产

生10个随机整数,然后从键盘输入一个整数,查找该数在数组中的位置。若找

到.输出该数的位置:若没有找到,给出相应的提示.该命令按钮的单击事件过程

如卜:PrivateSubCommandl_Click()Dima(10)AsInteger,xAsIntegerFori=lTo10

a(i)=Int(Rnd*100)Nextx=InputBox(^A100以内的整数:")P=0Fori=lTo10

Ifa(i)=xThenp=i:ExitForEndIfNextIfp=OThenPrint”没有找到与输入数据相同的

数!”ElsePrintStr(x)+”在数组中的位置是”+Str(p)EndIfEndSub对于上述事件过

程,以下叙述中正确的是

A、本程序实际产生的随机数是0-99

B、若产生的随机数中有相同数,则p是其中最后一个数的位置

C、程序有错,p的初值设置不对

D、程序有错,InputBox函数产生的数据与x的类型不匹配

标准答案:A

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

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

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

lowerbound是随机整数范围的下限。本题中upperbDiind为99,lOwerbound为0。

D>“Integer"v"Iiit"

5x+3

13、把数学表达式2y-6表示为正确的VB表达似乎应该是

A>(5x+3)/(2y-6)

o

B、x*5+3/2*y—6

C、(5*x+3)+(2*y・6)

O

D、(x*5+3)/(y*2—6)

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

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

100)\10EndSub

o

A、395

B、539

o

C、593

D、359

15、设a=2,b=3,c=4,d=5,下列表达式的值是a>bAndc<=dOr2*a>c

A、True

B、False

C、一1

16、设a=10,b=5,c=L执行语句Printa>b>c窗体上显示的是

o

A、True

o

B、False

C>1

o

D、出错

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

O

A、Ifxmod7=2ThenPrintx

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

o

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

o

D、Ifx—Int(x/7)*7=2ThenPrintx

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

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

O

A、yMod4AndyMod100OryMod400

o

B、yMod4=0OryMod100o0AndyMod400=0

C>yMod100o0And(yMod4=0OryMod400=0)

o

D、yMod4=0AndyMod100o0OryMod400=0

19、已知a=6,b=15,c=23,则语句PrintSgn(a+bMod6-c\a)&a+b的输出结果

A>6

B>16

C、31

D>121

20、设a=2,b=3,c=4,d=5,表达式Nota<=cOr4*c=bA2Andb<>a+c的值是

o

A>一1

o

C>True

o

D、False

21、已知:、二一6〉=39则表达式+\乂*5且11(')”的值为

O

A、一6.5

C、6

o

D、6.5

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

o

A、5

C>7

o

D、9

23、表达式12/2\4的值是

A、1.5

o

B、2

C、4

o

24、设:a=2,b=8,c=6,d=3,表达式a>bAndNot(c>d)Ord>c的值是

o

A、1

B、0

o

C>True

O

D>False

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

O

A、y/y>xAnd10<=x

B>Sqr(y)>xAndx>=10

o

C>Sqr(y)>xOrx<=10

I)、y*y>xOrx>=10

26、设a=10,b=4,c=5,6=7,表达式a>bAndNotc

A、True

o

B、False

O

C、1

o

D、0

27、以下叙述中错误的是

O

A、续行符与它前面的字符之间至少要有一个空格

O

B、VisualBasic中使用的续行符为下划线()

O

C、以撇号C)开头的注释语句可以放在续行符的后面

O

D、VisualBasic可以自动对输入的内容进行语法检查

28、下列有语法错误的赋值语句是

O

A、y=7=9

O

B、s=m+n

O

C、Textl.Text=10

O

D、m+n=12

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

应使用

A、冒号(:)

O

B、分号(;)

O

C、下划线(_)

o

n、连字符(・)

30、VisualBasic源程序的续行符为

O

A、冒号(:)

O

B、分号(;)

O

C>下划线(_)

O

D、连字符(・)

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

拟试卷第2套

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

1、为把圆周率的近似值3.14159存放在变量pi中,应该把变量pi定义为

A、DimpiAsInteger

Dimpi⑺AsInteger

C>DimpiAsSingle

D、DimpiAsLong

标准答案:C

知识点解析:本题考查的考点是有关VB中的数据类型的。VB提供了很多种数据

类型,其中能接受小数值的有单精度型Single和双精度型Doubleo

2、有如下语句序列:Dima.bAsIniegerPrimaPrinlb执行以上语句序列,下列叙

述中错误的是

A、输出的a值是0

B、输出的b值是0

C、a是变体类型变量

D、b是整型变量

标准答案:A

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

接使用变量,显式声明变量时每个变量都应使用As子句声明类型,否则该变量将

被视为变体类型。本题中a是变体类型变量,默认初值为False:b是整型变量,默

认初值为0。

3、假定有如下的程序段:DimintVarAsIntegerintvar=TruePrintintVar则输出结果

A、0

B、-1

C、True

D^False

标准答案:B

知识点解析:VB中的逻辑值True和False在参与关系运算时会自动进行类型转

换,其中True转换为-1,False转换为0。

4、双精度浮点数的类型说明符为

A、%

B、#

C、&

D、@

标准答案:R

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

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

&表示长整型。

5、设窗体文件中有下面的事件过程:PrivateSubCommandI_Click()Dimsa%=100

PrintaEndSub其中变量a和s的数据类型分别是

A、整型,整型

B、变体型,变体型

C、整型,变体型

D、变体型,整型

标准答案:C

知识点解析:在VB中,可以显式声明变量和隐式声明变量。如果使用Dim、

Public>Static等关键字来声明变量,则为显式声明,此时如果不指定变量的类

型,则该变量为变体型变量;如果不使用关键字声明变量而直接使用,视为隐式声

明,此时变量的类型可以使用类型符号来规定,也可以默认为变体型。本题中的变

量a就是使用%来隐式声明,其类型为整型。

6、有数据定义语句:DimX,YAsInteger以上语句表明

A、X、Y均是整型变量

B、X是整型变量,Y是变体类型变量

C、X是变体类型变量,Y是整型变量

D、X是整型变量,Y是字符型变量

标准答案:C

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

接使用变量,显式声明变量时每个变量都应使用As子句声明类型,否则该变量将

被视为变体类型。DimX,YAsInteger表示X是变体类型变量,Y是整型变量。

7、以下关于变量作用域的叙述中错误的是

A、在窗体模块的声明部分声明的Private变量,其作用域是窗体内的所有过程

B、在标准模块的声明部分声明的Private变量,其作用域是模块内的所有过程

C、在窗体模块的声明部分声明的Pubilc变量,其作用域是本窗体的所有过程

D、在标准模块的声明部分声明的Pubilc变量,其作用域是应用程序的所有过程

标准答案:C

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

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

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

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

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

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

程序文件,其扩展名为,bas全局(Public)变量:全局变量也称为全程变量,在标准

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

中使用c

8、以下不合法的VB变量名是

A、filename

B、read

C、,y

D、e5

标准答案:C

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

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

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

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

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

9、下面变量定义中错误的是

A、PublicroodAsInteger

Staticbuf

C、DimchAsString*10

D、Dima!(-5To-l)

标准答案:A

知识点解析:定义变量时需要使用As类型或者类型说明符来指明变量的数据类

型,如果不指明则为隐式声明,该变量为变体型;mod是关键字表示求余运算,根

据标识符命名规则不能作为变量名。

1。、下列说法中,错误的是

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

B、变量名的第一个字符必须是字母

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

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

标准答案:A

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

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

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

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

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

11、窗体上有一个Textl文本框,一个Command1命令按钮,并有以下程序:

PrivateSubCommandl_click()DimnIfTextl.Tcxt<>"123456"Thcnn=n+l:Print"

口令输入错误“&n&”泗EndIfEndSub希望程序运行时得到左图所示的效果,即:

输入口令,单击“确认匚令”命令按钮,若输入的口令不是“123456”,则在窗体上显

示输入错误口令的次数。但上而的程序实际显示的是右图所示的效果,程序需要修

改。下面修改方案中正确的是()。

A^在Dimn语句的下面添加一句:n=0

B、把Print”口令输入错误“&n&"次“改为Print”口令输入错误"+n+t"次”

C、把Print"口令输入错误"&n&"次“改为Print"口令输入错误”&Str(n)&“次"

D^把Dim改为Staticn

标准答案:D

知识点解析:本题中题干部分的程序之所以会产生不合要求的结果,其原因是在单

击事件中的第一条语句为Dimn,这样的话每次单击按钮时触发此事件,都将会执

行这条语句,重新定义一个局部变量n并设其默认初值为0。Slatic语句在过程级

别中使用,用于声明变量并分配存储空间,在整个代码运行期间都能保留使用

Static语句声明的变量的值,因此此处应该使用Staticn来声明变量。

12、在窗体上画一个命令按钮,然后编写如下程序:Subinc(aAsInteger)Staticx

AsIntegerx=x+aPrintx:EndSubPrivateSubCommandl_Click()inc2:inc3:inc4

EndSub程序运行后,第一次单击命令按钮时的输出结果为

A、234

B、259

C、111418

D、4916

标准答案:B

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

个代码运行期间都能保留使用Static语句声明的变量的值。本题的inc过程中的x

是一个静态变量,在三次调用过程中变量的值会保留,分别为2、2+3、5+4。

13、执行以下程序段aS="VisualBasicProgramming":b$="C++"

c$=UCase(Left$(a$,7))&b$&Right$(a$,12)变量c$的值为

A、VisualBASICProgramming

B、VISUALC++Programming

C、VisualC++Programming

D^VISUALBASICProgramming

标准答案:B」「

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

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

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

任何长度的子串,其中长度省略的话将会一直取到串尾。UCase函数用于把字符串

转换成大写表示c

14、要计算x的平方根并放入变量y,正确的语句是

A、y=Exp(x)

B、y=Sgn(x)

C、y=Int(x)

D、y=Sqr(x)

标准答案:D

知识点解析:Exp函数是求指数函数;Sgn函数是求符号函数:Im函数是取整函

数,平方根函数(Sqr)可以返回N的算术平方根,N必须大于或等于0。

15、语句:PrintAsc(Chr$(Mid$(,,98765432n,4,2)))的输出是

A、65

B、A

C、8765

D、W

标准答案:A

知识点解析:Mid函数可以实现在任何位置取任何长度的子串,其中长度省略的话

将会一直取到串尾,本题中是从第4位取长度为2的子串即“65”。Chr函数可以将

ASCH码转成对应的字符,ASC函数将字符转换成对应的ASCII码。

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

String,strLAsIntegerlSlr=""slrL=Len(xSlr)i=lDoWhilei<=slrL/2

tStr=tStr&Mid(xStr,i,1)&Mid(xStr,strL-i+1,1)i=i+lLoopFun=tStrEndFunction

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

PrivateSubCommandl_Click()DimSIAsStringSl="abcdef:PrintUCase(Fun(SI))

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

A、ABCDEF

B、abcdef

C、AFBECD

D、DEFABC

标准答案:c

知识点露析:本题通用过程的功能是:从字符串变量xStr值的左右两端同时开

始,由外向里每次取出两个字符(左右各一个),组成一个新的字符串。本题程序运

行后,当调用通用过程函数Fun后,返回值应为“afbecd",转换为大写后在文本框

中的显示结果为“AFBECD”o

17、窗体上有一个名称为Tcxtl的文本框,一个名称为Commandl的命令按钮。窗

体文件的程序如卜:PrivateTypexaAsInteger:bAsIntegerEndTypePrivateSub

Commandl_Click()DimyAsxy.a=InputBox(H")Ify.a\2=y.a/2Then

y.b=y.a*y.aElsey.b=Fix(y.a/2)EndIfTextl.Tcxt=y.bEndSub对以上程

序,下列叙述中错误的是

A、x是用户定义的类型

B、InputBox函数弹出的对话框中没有提示信息

C、若输入的是偶数,y.b的值为该偶数的平方

D、Fix(y.a/2)把y.a/2的小数部分四舍五入,转换为整数返回

标准答案:D

知识点解析:本题考查的考点是有关自定义类型和Fix函数的。用户可以通过

Type语句自定义类型,并可用自定义的类型声明变量。注意Fix函数是向下取

整,Round函数是四舍五入。

18、设有如下程序:PrivateSubForm_Click()num=InputBox("请输入一个实数"):

P=InStr(num,")Ifp>0ThcnPrintMid(num,p+l)ElsePrinf'END"EndIfEnd

Sub运行程序单击窗体,根据提示输入一个数值。如果不是输入实数,则输出

“END”;否则

A、用字符方式输出该实数

B、输出该实数的整数部分

C、输出该实数的小数部分

D、去掉实数中小数点,保留所有数码输出

标准答案:C

知识点解析:字符串匹配函数Insll用于查找第二个参数在第一个参数中第一次出

现的位置,若未找到返回0;Mid(字符串,起始位置[,个数])函数用于从己有字符

串中取出从指定位置开始的含指定个数字符的字符串,若不指定个数将返回字符串

中从参数“起始位置”到字符串尾端的所有字符。本题实际就是先找到小数点的位

置,然后输出小数点后面的部分,即小数部分。

19、窗体上有一个名称为Command1的命令按钮,单击该按钮时所实现的功能是

产生10个随机整数,然后从键盘输入一个整数,查找该数在数组中的位置。若找

到,输出该数的位置;若没有找到,给出相应的提示。该命令按钮的单击事件过程

如下:PrivateSubCommandl_Click()Dima(10)AsInteger,xAsIntegerFor

i=lTolOa⑴=Inl(Rnd*100)Nexlx=InputBox("输入1()0以内的整数:"):P=0

Fori=lTolOIfa(i)=xThenp=i:ExitForEndIfNextIfp=0ThenPrint”没有找到与输入

数据相同的数ElsePrintStr(x)+”在数组中的位置是“+Str(p)EndIfEndSub对于上

述事件过程,以下叙述中正确的是

A、本程序实际产生的随机数是0-99

B、若产生的随机数中有相同数,则p是其中最后一个数的位置

C、程序有错,p的初值设置不对

D、程序有错,InputBox函数产生的数据与x的类型不匹配

标准答案:A

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

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

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

lowerbound是随机整数范围的卜.限。本题中upperbound为99,lowerbound为0。

20、窗体卜有1个名称为Commandl的命令按钮.事件过程如下:PrivateSuh

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

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

A、-4

B、-3

C、3

D、3.6

标准答案:A

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

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

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

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

21>以下程序的功能是随机产生10个两位的整数:OptionBaselPrivateSub

Commandl_Click()Dima(l0)AsInteger,iAsIntegerRandomizeFori=lTol0

a(i)=Int(Rnd*100)+1Printa(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((uppcrbound-

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

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

22、设a=4,b=5,c=6»执行语句PrintaVbAndbVc窗体上显示的是

A、True

B、False

C、出错信息

D、0

标准答案:A

知识点解析:本题考查的考点是有关逻辑运算和关系运算的。逻辑运算就是两个逻

辑型的量进行运算,逻辑运算符的优先级低于关系运算符,故本题先计算And两

端的表达式结果,这两个表达式的结果都为True,所以二者相与的结果也为

True。

23、设a=2,b=3,c=4,d=5,下歹!J表达式的值是a>bAndeV二dOr2*a>c

A、True

B、False

C、-1

D、1

标准答案:B

知识点解析:一个表达式可能含有多种运算,计算机按一定的顺序对表达式求值。

一般顺序如下:首先进行函数运算;接着进行算术运算,其次序为:累(人)1取负

(-)一乘、浮点除(*、/)一整除(\)一取模(Mod)-加、减(+、-)-连接(&);然后进

行关系运算(=、>、V、<>、<=、>=);最后在行逻辑运算,顺序为:

Not—>And—>Or—>Xor->Egv—>Imp。

24、已知a=6,b=15,c=23,贝U语句PrintSgn(a+bMod6-c\a)&a+b的输出结果为

A、6

B、16

C、31

D、121

标准答案:D

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

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

Sgn(a+bMod6-c\a)函数的参数经计算为正数,故此函数返回值为1;&运算是字符

串连接运算,其优先级低于算术运算,所以会先计算a+b=21,然后将I和21自动

转换为字符串然后连接起来。

25、表达式12/2\4的值是

A、1.5

B、2

C、4

D、1

标准答案:D

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

除(\)一取模(Mod)—加、减(+、-)-连接(&),所以本题将会先计算12/2得到6,

然后计算6\4=1。

26、设A、B、C是三角形的3条边,则以下表示“任意两边之和大于第三边”的布

尔表达式是

A、A+B>COrA+C>BOrB+C>A

B、A+BVCOrA+CVBOrB+CVA

C、No(A+B<=COrA-K:<=BOrB+C<=A)

D、A+B>=CAndA+C>=BAndB+C>=A

标准答案:C

知识点解析:表示任意两边之和大于第三边的标准表达式为A+B>CAndA+C>B

AndB+OA,三个表达式之间是And的关系。存选项中并未出现这个答案,但是

C选项表达的意思是“没有任意两条边的和小于等于第三条边”,这和题意也是相符

的。

27、能正确表述“x为大于等于5并且小于20的数”的VisualBasic表达式是

A、x>=5Andx<20

B、x>=5Orx<20

C、5<=x<20

D、5<=x<=20

标准答案:A

知识点解析:逻辑运算也称布尔运算。用逻辑运算符连接的两个或多个关系式,组

成一个布尔表达式。本题要表达的是两个表达式必须同时为真,故此使用And运

算符。

28、以下叙述中错误的是

A、续行符与它前面的字符之间至少要有一个空格

B、VisualBasic中使用的续行符为下划线(_)

C、以撇号(,)开头的注释语句可以放在续行符的后面

D、VisualBasic可以自动对输入的内容进行语法检查

标准答案:C

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

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

由一个空格加一个下划线组成将一条语句分别放在多行,续行符和前面的字符

之间至少要有一个空格以免被转为是一个单词。续行符的后面不可以放以撇号(')开

头的注释语句;VisualBasic可以自动对输入的内容进行语法检查,有语法错误会

给出提示。

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

拟试卷第3套

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

1、若在窗体模块的声明部分声明了如下自定义类型和数组PrivateTyperecCode

AsInteger:CaptionAsStringEndTypeDimarr(5)Asrec则下面的输出语句中正确的

A^Printarr.Code(2),arr.Caption(2)

B、Printarr.Code,arr.Caption

C、Printart(2).Code,art(2).Caption

D^PrintCode⑵,Caption(2)

标准答案:C

知识点解析:在标准模块中可以声明自定义类型,该类型由Type关键字声明,在

声明中要定义类型的所有域「若用自定义类型声明一个变量,则该变量拥有若干

域,取得每个域的值需要用“变量名.域名”的形式,作为一个自定义类型的数组,

首先要取出某个数组元素然后才能访问该元素的某个域,所以要想访问arr(2)的

域,需要使用arr(2).Code和arr(2).Captiono

2、以下自定义数据类型的语句中,正确的是

A、TypestudentIDAsString*20nameAsString*lOageAsIntegerEndstudent

B、TypestudentIDAsString*20nameAsString*lOageAsIntegerEndType

C>TypestudentIDAsStringnameAsStringageAsIntegerEndstudent

D、TypeIDAsString*20nameAsString*lOageAsIntegerEndTypestudent

标准答案:B

知识点解析:Type语句用于在模块级别中定义一个用户自己的数据类型,其本质

上是一个数据类型集合,它含有一个或一个以上的元素,每个元素可以被定义为不

同的数据类型。自定义类型中的元素可以是变长字符串,也可以是定长字符串。但

在随机文件中使用时,必须使用定长字符串,一般格式为:Siring*常数。其中,

“常数”是用于指定字符串长度的数。

3、下面为单精度实型(即单精度浮点型)变量的是

A、x$

B、x&

C、x!

D、x#

标准答案:C

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

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

&表示长整型。

4、以下选项中,不合法的VisualBasic的变量名是

A、a5b

B、_xyz

C、a_b

D、andif

标准答案:B

知识点解析:本题考查的考点是有关VisualBasic中的变量命名规则的。Visual

Basic中给变量命名只能由字母、数字和下划线组成,并且第一个字符必须是其文

字母。

5、在标准模块中用Public关键字定义的变量,其伦用域为

A、本模块所有过程

B、整个工程

C、所有窗体

D、所有标准模块

标准答案:B

知识点解析:在标准模块中用Public关键字定义的变量叫做全局变量,也称为全

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

模块、每个过程中使用。

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

A、x-2

B、12abc

C、sum_total

D、print

标准答案:C

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

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

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

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

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

7、在某个事件过程中定义的变量是

A、局部变量

B、窗体级变量

C、全局变量

D、模块变量

标准答案:A

知识点解析:根据变量的定义位置和定义关键字的不同,变量可以分为局部(Local)

变量、模块(Module)变量和全局(Public)变量3种类型。

8、以下关于变量作用域的叙述中,错误的是

A、在标准模块声明部分用Public声明的变量的作用域为整个工程文件

B、在标准模块声明部分用Private声明的变量的作用域为该标准模块

C、在窗体的声明部分不能用Private声明变量

D、在过程中不能使用Public声明变量

标准答案:C

知识点解析:根据变量的定义位置和定义关键字的不同,变量可以分为局部(Local)

变量、模块(Module)变量和全局(Public)变量3种类型。

9、如果要定义一个窗体级变量,定义变量语句的位置应该是

A、在使用该变量的过程中

B、在该窗体模块所有过程的前面

C、在该窗体模块所有过程的后向

D、在某个标准模块中

标准答案:B

知识点解析:根据变量的定义位置和定义关键字的不同,变量可以分为局部(Local)

变量、模块(Module)变量和全局(Public)变量3种类型。

10、下面能够将某个变量声明为局部变量的是

A、在窗体模块的声明部分,用关键字Static声明这个变量

B、在窗体模块的声明部分,用关键字Dim声明这个变量

C、在需要使用这个变量的过程中,用关键字Private声明这个变量

D、在需要使用这个变量的过程中,用关键字Public声明这个变量

标准答案:C

知识点解析:根据变量的定义位在和定义关键字的不同,变量可以分为局部(Local)

变量、模块(Module)变量和全局(Public)变量3种类型。

11、工程文件中包含一个模块文件和一个窗体文件。模块文件的程序代码是:

PublicxAsIntegerPrivateyAsInteger窗体文件的程序代码是:DimaAsInteger

PrivateSubForm_Load()DimbAsIntegera=2:b=3::x=10:y=20EndSubPrivate

SubCommandl_Click()a=a+5:b=b+5:x=x+5:y=y+5Printa;b;x;yEndSub运

行程序,单击亩体上的命令按钮,则在窗体上显示的是

A、55155

B、751525

C、78155

D、75155

标准答案:D

知识点解析:本题中在模块文件中声明的x是全局变量,y是模块变量:在窗体中

声明的a是模块级变量;在窗体的Load事件中声明了局部变量b,而且隐式声明

了局部变量y;在按钮的Click事件中使用到的a是模块级变量,其值为2:b是隐

式声明的局部变量,其初值为0;x是全局变量,其值为10;y也是隐式声明的局

部变量,其初值为5。

12、设窗体上有一个Command1命令按钮,还有以下程序代码:PrivateSub

Commandl_Click()StaticxAsIntegerx=x+lCallproc(x)Printx,EndSubPrivate

Subproc(aAsInteger)StaticxAsIntegerx=x+a:a=xEndSub程序运行后,3次单击

命令按钮,则产生的输出是

A、123

B、135

C、137

D、246

标准答案:C

知识点解析:本题中在CommandlClick过程中和Sub过程proc中分别定义了一个

静态变量x,这两个x都是局部变量,隶属于不同的局部,互不干涉;当单击命令

按钮时,单击事件中的x加1,然后调用proc过程;由于proc的形参a采用地址

传递,因此对a的改变会影响实参X。三次单击按钮分别使得两个过程中的x分别

变化,都会保留上一次过程结束时的值。

13、可以产生30〜50(含30和50)之间的随机整数的表达式是

A、Int(Rnd*21+30)

B、Int(Rnd*20+30)

C、Int(Rnd*50-Rnd*30)

D、Int(Rnd*30+501

标准答案:A

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

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

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

lowerbound是随机整数范围的卜限。本题中upperbound为50,lowerbound为30。

14、PrintRight("VBProgramming",2)语句的输出结果是

A、VB

B、Programming

c、ng

D、2

标准答案:C

知识点解析:Righi()函数用于取出已有字符串最右边指定个数的字符串,本题中取

出的是最后两位字符。

15、语句:PrintInt(Rnd*5+2O)的输出不可能是

A、20

B、22

C、24

D、25

标准答案:D

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

Im函数会返回不大于参数的最大整数值。由于Rnd函数的值不能到达1,所以整

个表达式也不可能到达25。

16、假定有以下函数过程:FunctionFun(SAsString)AsStringDimsiAsStringFor

i=lToLen(S)sl=LCase(Mid(S,i,l))+slNextiFun=S1EndFunction在窗体上画一

个命令按钮,然后编写如下事件过程:PrivateSubCommandl_Click()DimStrlAs

String,Str2AsstringStrl=InputBox("请输入一个字符串"):Str2=Fun(Strl)Print

Str2EndSub程序运行后,单击命令按钮,如果在输入对话框中输入字符串

“abcdefg”,则单击“确定”按钮后在窗体上的输出结果为

A、ABCDEFG

B、abcdefg

C、GFEDCBA

D、gfcdcba

标准答案:D

知识点解析:本题考查的考点是有关取子串函数的.本题也比较简单,循环次数就

是字符串的长度,每次都在第i位取一个字母转换成小写,最后倒序连接起来,注

意每次都把新取得的字符连接到si的前面,所以为倒序连接。

17、窗体上有两个名称分别为Textl、Text2的文本框。Textl的KeyUp事件过程如

卜:PrivateSubText1_KeyUp(KeyCodeAsInteger,ShiftAsInteger)DimcAsString

C=UCase(Chr(KeyCode)):Text2.Text=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”。

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

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

DimavAsString,sAsStringa:Text!.Text:s=""Fork=lToLen(a)

s=UCase(Mid(a,k,1))+SNextkText1.Text二SEndSub程序运行后,在文本框中

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

A、与原字符串相同

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

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

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

标准答案:C

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

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

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

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

19、窗体上有一个名称为Textl的文本框,一个名称为Command1的命令按钮。窗

体文件的程序如下:PrivateTypexaAsInteger:bAsIntegerEndTypePrivateSub

Commandl_Click()DimyAsxy.a=InputBox('H,)Ify.a\2=y.a/2Then

y.b=y.a*y.aElsey.b=Fix(y.a/2)EndIfTextl.Text=y.bEndSub对以上程

序,下列叙述中错误的是

A、X是用户定义的类型

B>InputBox函数弹出的对话框中没有提示信息

C、若输入的是偶数,y.b的值为该偶数的平方

D、Fix(y.a/2)ftiy.a/2的小数部分四舍五入,转换为整数返回

标准答案:D

知识点解析:本题考查的考点是有关自定义类型和Fix函数的。用户可以通过

Type语句自定义类型,并可用自定义的类型声明变量。注意Fix函数是向下取

整,Round函数是叫舍五入。

20、设有如下程序:PrivateSubForm_Click()num=InputBox("请输入一个实数"):

P=InStr(num,H.n)Ifp>0ThenPrintMid(num,p+l)ElsePrint"END,^EndIfEnd

Sub运行程序,单击窗体,根据提示输入一个数值。如果输入的不是实数,则程序

输出“END”;否则

A、用字符方式输出该实数

B、输出该实数的整数部分

C、输出该实数的小数部分

D、去掉实数中的小数点,保留所有数码输出

标准答案:C

知识点解析:字符串匹配函数Insir用于查找第二个参数在第一个参数中第一次出

现的位置,若未找到返回0;Mid(字符串,起始位置[,个数])函数用于从已有字符

串中取出从指定位置开始的含指定个数字符的字符串,若不指定个数将返回字符串

中从参数“起始位置”到字符串尾端的所有字符。本题实际就是先找到小数点的位

置,然后输出小数点后面的部分,即小数部分。

21、窗体上有一个名称为Commandl的命令按钮,单击该按钮时所实现的功能是

产生10个随机整数,然后从键盘输入一个整数,查找该数在数组中的位置。若找

到,输出该数的位置:若没有找到,给出相应的提示。该命令按钮的单击事件过程

如下:PrivateSubCommandl_Click()Dima(10)AsInteger,xAsIntegerFor

i=lTolOa⑴=Inl(Rnd*100)Nexlx=InputBox("输入100以内的整数:")p=0For

i=lTo!0Ifa(i)=xThenp=i:ExitForEndIfNextIfp=0ThenPrint”没有找到与输入数

据相同的数!”ElsePrintStr(x)+”在数组中的位置是”+Str(p)EndIfEndSub对于上述

事件过程,以下叙述中正确的是

A、本程序实际产生的随机数是0-99

B、若产生的随机数中有相同数,则p是其中最后一个数的位置

C、程序有错,p的初值设置不对

D、程序有错,InputBox函数产生的数据与x的类型不匹配

中小准答案:A

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

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

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

lowerbound是随机整数范围的下限。本题中upperbDund为99,lowerbound为0c

22、以下关系表达式中,其值为True的是

A、XYZ>"XYzn

B、VisualBasic<>,,visualbasic"

C、the二"there”

D、Integer<HInt"

标准答案:B

知识点解析:本题考查的考点是有关字符串比较的。在VB中可以采用简单的逻辑

运算符进行两个字符串的比较,即V(小于)、<二亿、于或等于)、>(大于)、>=(大

于或等于)、=(等于)、<>(不等于)。在进行比较的时候,将会首先比较字符串第

一位的ASCH码,若相司则比较第二位……以此类推。

23、设a=10,b=5,c=l,执行语句Printa>b>c窗体上显示的是

A、True

False

C、I

D、出错

标准答案:B

知识点解析:VB中的逻辑值True和False在参与关系运算时会自动进行类型转

换,其中True转换为-1,False转换为0。本题中先计算a>b(10>5为真)结果为

True,此时系统自动转换其值为-1,然后计算为假),结果为False,

24、设a=2,b=3,c=4,d=5,表达式Nota〈=cOr4*c=b-2Andb<>a+c的值是

A、=1

B、1

C、True

D、False

标准答案:D

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

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

进行逻辑运算(Not—>And—>Or—>Xoi—>Eqv—按优先级顺序本题逐步运算结果

为:Nota<=cOr4*c=bA2Andb<>a+c^Not2<=40r16=9And3<>6-NotTrueOr

FalseAndTrue—>FalseOrFalseAndTrue—>FalseOrFalse—>Falseo

25>设:a=2,b=8,c=6,d=3,表达式a>bAndNot(c>d)Ord>c的值是

A、1

B、0

C、True

D、False

标准答案:D

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

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

进行逻辑运算(Not—►And—Or—Xor->Eqv—Ump)。按此规则本题简化为FalseAnd

NotTrueOrFalse,最终结果为False。

26、设变量x中的值是395,则下面语句的输出是Printx\100+((xModi00)\

10)*10+(xMod10)*100

A、935

B、395

C、539

D、593

标准答案:D

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

的是3+90+500=593o

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

A、Not

B、Is

C、&

D、And

标准答案:C

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

算,接着进行算术运算和字符串连接运算,然后进行关系运算(=、>、<、>=、

<=><>),最后进行逻辑运算(Not—And-Or—Xor—Eqv—Imp)。

28、下列有语法错误的赋值语句是

A、y=7=9

B、s=m+n

C、Textl,Text=10

D、m+n=12

标准答案:D

知识点解析:赋值语句可以把指定的值赋给一个变量或一个对象的某个属性,其格

式为[Let]目标操作符=源操作符。格式中的“源操作符”可以是变量、表达式、常

量、对象属性以及它们的组合,但目标操作符必须是单个的变量或者属性。

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

拟试卷第4套

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

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

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

温馨提示

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

评论

0/150

提交评论