国家二级VB机试(控制结构)模拟试卷1(共285题)_第1页
国家二级VB机试(控制结构)模拟试卷1(共285题)_第2页
国家二级VB机试(控制结构)模拟试卷1(共285题)_第3页
国家二级VB机试(控制结构)模拟试卷1(共285题)_第4页
国家二级VB机试(控制结构)模拟试卷1(共285题)_第5页
已阅读5页,还剩88页未读 继续免费阅读

付费下载

下载本文档

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

文档简介

家二级VB机试(控制结构)模拟试卷

1(共9套)

(共285题)

家二级VB机试(控制结构)模拟试卷

第1套

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

1、现有语句:y=IIf(x>0,xMod3,0)设x=10,则y的值是

A、0

B、1

C、3

D、语句有错

标准答案:B

知识点解析:本题考查的考点是有关nf函数的。Hf函数可用于执行简单的条件判

断操作,它是“If...Then…Else”结构的简写版本。格式:ReSUlt=IIf(<条件,)

其中“Resul「是函数的返回值,"条件''是一个逻辑表达式。当“条件”为真时,Ilf函

数返回“True部分”的值,而当“条件”为假时返回“False部分”的值。“True部分”或

“False部分”可以是表达式、变量或其他函数。本题中由于x=10是大于。的,所以

返回值为xMod3的值即1o

2、设x是整型变量,与函数Ilffx>0,-X,x)有相同结果的代数式是

A、|x|

B、-|x|

C、x

D、-x

标准答案:B

知识点解析:Hf函数可以用来执行简单的条件判断操作,它是“If…Then…Else”结

构的简写版本,其格式为:result=Ilf(条件,True部分,False部分)。其中“result”是

函数的返回值,“条件”是一个逻辑表达式。当“条件”为真时,【If函数返回“True部

分“,否则返回“False部分”。“True部分”或“False部分”可以是表达式、变量或其他

函数。本题中Hf函数的作用是如果x>0则返回一x,否则返回x,等价于一冈。

x-1x<0

{0x-0

⑺异「回"双阳姒U、J小明在「JTHX-1X>o

A、y=IIf(x>0,x+1,IIf(x<0,x—1,0))

B、y=IIf(x=0,0,IIf(x>0,x—1,x+1))

C、Y=IIf(x>0,x+l,IIf(x<0,0,x—I))

D、y=IIf(x=0,0,x—1,x+l)

标准答案:A

知识点解析:Hf函数可用来执行简单的条件判断操作,它是“If...Then...Else”结构

的简写版本。格式为:resu仁Ilf(<条件,)。当<条件>为真时,Hf函数返回,而

当〈条件〉为假时,返回一。本题中分段函数共有三段,因此需要使用嵌套的Ilf函

数。

4、现有如下语句:x=IIf(a>50,Int(a\3),aMod2)当a=52时,x的值是

A、0

B、1

C、17

D、18

标准答案;C

知识点解析:Hf函数可用来执行简单的条件判断操作,它是“If…Then…Else”结构

的简写版本。格式为:result=llf(〈条件〉一)。当〈条件>为真时,Hf函数返回,而

当<条件,为假时,返回。本题中a的值是52,所以条件为真,将返回52\3的值

即17o

5、在下面语句或函数中,不能描述选择结构的是

A、If语句

B、Hf函数

C、SelectCase语句

D、While语句

标准答案:D

知识点解析:选择结构可以使用Hf函数、If语句来实现两个分支的选择结构,使

用SeleclCase语句实现多分支选择结构,while语句用来描述循环结构。

6、设窗体上有Textl、Text2两个文本框,并编写了下面的程序代码:PrivateSub

Text1KeyPress(KeyAsciiAsInteger)If,A,,<=Chr(KeyAscii)And

Chr(KeyAscii)v="Z"ThenKeyAscii=KeyAscii十(Asc("a")—Asc("A"))EndIfn=0

IfKevAscii=13ThenFork=lToLen(Textl)ch$=Mid(Textl,k,1)If,a,,<=chAnd

ch<=''z''Thcnn=n+lNextkTcxt2=nEndIfEndSub运行程序,在Tcxd中输入

-VisualBasic6.0”后按回车键,则在Texl2文本框显示的是

A、11

B、16

C、VisualBasic6.0

D、visualbasic6.0

标准答案:A

知识点解析:本题中的第一个If...Then结构的作用是将所有输入的大写字符转换

为小写字符;第二个If结构的条件是按下回车键,里面嵌套了一个For循环,在循

环中依次取出文本框中的每一个字符进行判断,若其为小写字符则n自加1,循环

结束后n的值就是文本框中字母的个数。

7、编写如卜程序:PrivateSubCommandI_Click()DimaAsInteger,bAsInteger

a=3:b=2Ifa*b<10Thenb=b+lElseb=b-lEndIfPrintb-a>0EndSub程序运行后,

单击命令按钮Command1,输出结果为

A、True

B、False

C、1

D、-1

标准答案:B

知识点解析:本题的程序巾由于a*b<10条件成立,因此执行Then分支,b自加1

变成3,最后输出b-a>0的值即Falseo

8、编写如下程序:PrivateSubCommandl_Click()DimscoreAsIntegerscore=86If

score>85Thenr=lElseIfscore>60Thenr=2Elser=0EndIfPrintrEndSub程序运行

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

A、0

B、1

C、2

D、86

标准答案:B

知识点解析:块结构条件语句的格式为:If〈条件Then:v语句块l>[Elselfv条

件2>Then:<语句块2>][Else:V语句块n>]EndIf如果“条件1”为True,则执行

“语句块1”并跳出结构;否则如果“条件2”为True,则执行“语句块2”并跳出结

构…否则执行“语句块n"并结束整个结构。

9、设有如下事件过程:PrivateSubForm_Click()Sum=0Fork=lTo3Ifk<=lThen

x=lElselfk<=2Thenx=2Elselfk<=3Thenx=3Elsex=4EndIfSum二Sum+xNextk

PrinlSumEndSub程序运行后,单击窗体,输出结果是

A、9

B、6

C、3

D、10

标准答案:B

知识点解析:本题总共循环三次,在每次循环中由于循环变量k的值不同,将分别

进入If语句的不同分支。在块结构的If语句中,一旦满足某个If或者Elself后面

的条件,将不再判断其地条件是否满足。所以本题输出的是1+2+3的值。

10、设有下面的语句:PrintIIffx>0,1,Ilf(x<0,-1,0))与此语句输出结果不同的

程序段是

A^Ifx>0Thenx=lElselfx<0Thenx=-lEndIfPrintx

B、I仅>0ThenPrintIElselfx<0ThenPrint-1ElsePrint0EndIf

C、SelectCasexCaseIs>0Print1CaseIs<0Print-1CaseElsePrint0EndSelect

D、IfxoOThenIfx>0ThenPrint1Elselfx<0ThenPrint-1ElsePrint0EndIfEndIf

标准答案:D

知识点解析:Ilf函数可用来执行简单的条件判断操作,它是“If…由en…Else”结构

的简写版本。格式为:Resuhllf(<条件,)o当(条件〉为真时,Ilf函数返回,

而当〈条件>为假时,返回。本题中IIf函数的功能是判断x是不是正数,如果是返

回1,否则继续判断a是不是负数,如果是返回一I,否则返回0,即返回x的符

号。分析4个选项只有D选项不应该使用Elsclf语句而应该使用Else语句。

11、在窗体上画一命令按钮和一文本框,其名称分别为Command1和Texll,然后

编写如下程序:FunctionFun(xAsInteger,YAsInteger)AsIntegerFun=IIf(x

A、12

B、20

C、24

D、40

标准答案:A

知识点解析:命令按钮的Default属性用于设置窗体的缺省命令按钮,程序运行

时.,按下键将执行该命令按钮的单击事件过程。Hf函数可用来执行简单的条件判

断操作,它是“If…then...Else”结构的简写版本。格式为:Result=nf(<条件,)。

当〈条件>为真时,Ilf函数返回,而当〈条件>为假时,返回。本题在函数Fun中判

断x是否比v小,如果小则返回x作为返回值,否则返回v作为返回值,即返回两

个参数中的最小值。

12、二角形的构成条件是:任意2边之和大于第3边°设变量a、h、c是3条直线

的长度,要求判断这3条直线能否构成一个三角形。下面有3个程序段可以正确判

断,另一个不能正确判断的是

A、Ifa+b>cAnda+c>bAndb+c>aThenPrint”可以构成一个三角形“ElsePrint”不能

构成三角形“EndIf

B、Ifa+b>cOra+c>bOrb+c>aThenPrint”可以构成一个三角形“ElsePrint”不能构

成三角形"EndIf

C、Ifh+b<=cOra+c<=bOrb+c<=aThenPrint”不能构成三角形"ElsePrint”可以构成

一个三角形“EndIf

D^Ifa+b<=cOra+c<=bThenPrint”不能构成三角形"Elselfb+c〈=aThenPrint”不能

构成三角形“ElsePrint”可以构成一个三角形"EndIf

标准答案:B

知识点解析:任意两边之和大于第三边,必须要求任意两个变量的和全部大于另一

个变量,也就是三个表达式必须同时成立,只有一个或两个成立是不行的,故此B

选项不能正确判断。

13、设x为一整型变量,且语句的开始为:SelectCasex,则不符合语法规则的

Case子句是

A、CaseIs>20

B、Case1To10

C>Case0

D、Case2,3,4

标准答案:c

知识点》析:Case语句中含有多个参量,这些参量的含义分别为:①测试表达

式:可以是任何表达式,通常采用变量或常量;②语句块1,语句块2,……:每

个语句块由一行或多行合法的VisualBasic语句组成;⑧表达式列表1,表达式列

表2,…:称为域值。可采用2种形式之一:表达式1、[,表达式2]...和表达式1

To表达式2。④Is关系运算表达式,其中可使用的运算符有二(等于)、<>(不等

于)、〈(小于)、>(大于)、<=(小于或等于)、>=(大于或等于)。

14、假定有如下情况语句:SelectCaseX能表示|X|>5的Case子句是

A^CaseNot(-5To5)

B、Case5To一5

C^CaseIs<-5.Is>5

D^CaseAbs(X)>5

标准答案:C

知识点解析:多分支控制结构乂称为SelectCase语句或Case语句,可以同时对条

件的多个取值来判断。其格式为:SelectCasev测试表达式,[Casev表达式列表

1>]:[语句块1]...[CaseElse]:[语句块n]End-SelectCase语句以SeleclCase开

头,以EndSelect结束。其中,表达式列表1,表达式列表2,…称为域值。可采

用3种形式:①表达式1[,表达式2]…;②表达式1To表达式2;③Is关系运算

表达式。其中,可使用的运算符有等于(二)、不等于(<>)、小于(<)、大于(>)、小于

或等于(<二)、大于或等于(>=)。

15、现有如下一段程序:PrivateSubCommand1_Click()x=UCase(lnputBox(“输

入:"))SelectCasexCase“A“Tb"C”Print”考核通过!"Case"D"Print”考核不通过!”

CaseElsePrint”输入数据不合法!”EndSelectEndSub执行程序,在输入框中输入字

母“B”,则以下叙述中正确的是

A、程序运行错

B、在窗体上显示“考核通过!”

C、在窗体上显示“考核不通过!”

D、在窗体上显示“输入数据不合法!”

标准答案:B

知识点解析:多分支控制结构又称为SelectCase语句或Case语句,可以同时对条

件的多个取值来判断。

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

CommandlClick()DimsumAsInteger,XAsIntegernum=Va1(InputBox("请输入一个

正整数"))SelectCasenumCaseIs>100x=x+sumCaseIs<90x=numCaseElse

x=x*numEndSelectPrintx:EndSub运行程序,并在三次单击命令按钮时,分别

输入正整数100、90和60,则窗体上显示的内容为

A、000

B、0060

C、0900

D、100060

标准答案:B

知识点解析:多分支控制结构又称为SelectCase语句或Case语句,可以同时对条

件的多个取值来判断。本题中第一次输入100执行CaseElse分支,由于x是默认

初值0所以输出0;第二次输入90也执行CaseElse分支,由于x是默认初值。所

以输出0;第三次输入60执行第二个分支输出60。

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

令按钮的单击事件过程如下:PrivateSubCommandl_Click()DimxlAsInteger,x2

AsInteger,x3AsIntegerS=Trim(Tcxtl.Text)strLcn=Lcn(s)Fori=lTostrLcn

c=Mid(s,i,1)SelectCaseCCasc''0'To''9"xl=x1+1Case"A'To''Z''x2=x2+l

Case''a'To"z"x3=3+lCaseElsex4=x4+lEndSelectNextPrint,\r,;xl,"x2”;

x2,x3,“x4'、;x4EndSub以下关于_£述程序的叙述中,正确的是

A、s是去掉文本框中字符串末尾的空格

SelectCasec有误,Case后应该是一个表达式

C、各Case分支条件有误,不能用T。表示字符的取值区间

D、x4是字符串中非字母、非数字字符的个数

标准答案:D

知识点解析:Trim函数的作用是去掉文本框中字符串两端的空格;多分支控制结

构又称为SeleclCase语句或Case语句,可以同时对条件的多个取值来判断,Case

后面的表达式可采用3种形式:①表达式1[,表达式2]…;②表达式1T。表达

式2;③1s关系运算表达式。最终xl是字符串中数字的个数;x2是字符串中大写

字母的个数;x3是字符串中小写字母的个数;x4是字符串中非字母、非数字字符

的个数。

18、编写如卜程序:PrivateSubCommandl_Click()DimmAsInteger,nAsInteger

m=2:n=lSelectCasemCase1SelectCasenCaselPrint”AAA”Case2Prinnt"BBB”

Case2Print'CCC”EndSelectEndSub程序运行后,单击命令按钮Command1,输

出结果为

A、AAA

B、BBB

C、CCC

D、1

标准答案:C

知识点解析:多分支控制结构又称为SelectCase语句或Case语句,可以同时对条

件的多个取值来判断。本题是一个嵌套的SelectCase语句,首先判断m的值,本

题由于m的值为2,所以不会执行Case1分支,直接执行Case2分支输出“CCC”

19、某人设计了如下程序用于计算并输出7!(7的阶乘)PrivateSub

Commandl_Click()t=0Fork=7To2Step-1t=t*kNextPritetEndSub执行程序时,发

现结果是麻误的。下面的修改方案中能够得到正确的是

A、把t=0改为t=l

B、把Fork=7to2Step-1改为Fork=7to1Step-1

C、把Fork=7to2Stcp-1改为Fork=lto7

D、把Nexl改为Nextk

标准答案:A

知识点解析:本题考查循环控制结构。在Command1的Click事件过程中,变量t

的初值为0,在For循环里面,t变量保存累乘积。由于t初值为0,因此累乘枳永

远都是0,因此1的初值应该设置为1。

20、为计算an的值,某人编写了函数power如下:PrivateFunctionpowcr(aAs

Integer,nAsInteger)AsLongDimPAsLongP=aFork=lTonP=p*aNextkPower=p

EndFunction在调试时发现是错误的,例如Printpcwer(5,4)的输出应该是625.但

实际输出是3125。程序需要修改。下面的修改方案中有3个是正确的,错误的一

个是

A、把Fork=lTon改为Fork=2Ton

B、把P=p*a改为P=pAa

C、把Fork=lTon改为Fork=lTon—1

D、把P=a改为P=1

标准答案:B

知识点解析:本题考查循环控制结构。选项A)循环少执行一次,由于p初始化为a

相当于执行了第一次,因此循环必须少执行一次才能计算正确的an:选项B)中

p他已经是累运算了,不需要循环来计算;选项C)循环少执行一次,正确:选项

D)中D初始化为1,循环执行n次正确。

21、某人为计算n!(0

A、把p=l改为p=n

B>把Fork=n-lTo2Step一1改为Fork=ITon-1

C、把Fork=n-lTo2Step-1改为Fork=lTon

D、把Fork=n-1To2Step—1改为Fork=2Ton

标准答案:B

知识点解析:本题考查的考点是有关循环次数的。本题题十中程序的错误在于,p

的值是从1一直乘到n—l的值,也就是n—l的阶乘。选项A)可以在这个基础.卜

再乘n就得到n的阶乘;选项C)和D)都能够保证从1乘到n,只有选项B)是错误

的。

22、阅读程序:PrivateSubForm_Click()a=0Foij=lTo15a=a+jMod3NextjPrinta

EndSub程序运行后,单击窗体,输出结果是

A、105

B、1

C、120

D、15

标准答案:D

知识点解析:本题考查的考点是有关循环的。本题中循环的特点是:每执行3次循

环,依次向a中加上0+1+2也就是3;循环共执行了15次,所以a中的值应该为

15o

23、在窗体上画一个命令按钮,其名称为Command],然后编写如下代码:Option

Base1PrivateSubCommandl_Click()Dimaa=Array(1,2,3,4):j=lFori=4To1

Step-1s=s+a(i)*j:j=j*10NextiPrimSEndSub程序运行后,单击命令按钮,其输

出结果是

A、4321

B、1234

C、34

D、12

标准答案:B

知识点解析:本题考查的考点是有关循环的。在本题的循环中,首先取得数组的最

后一个元素并乘1后放入s;然后取得第3个元素并乘10后加到s里面,然后取得

第2个元素并乘100后加到s里面,最后取得第1个元素并乘1000后加到s里

面,所以s的最终值为1234。

24在窗体上画一个命令按钮,名称为Commandl,然后编写如下代码:Option

Base0PrivateSubCommandl_Click()DimAI(4)AsInteger,A2(4)AsIntegerFork=0

To2Al(k+l)=InputBox("请输入一个整数”)A2(3一k)=Al(k+l)NextkPrintA2(k)

EndSub程序运行后,单击命令按钮,在输入对话框中依次输入2、4、6,则输出

结果为

A、0

B、1

C、2

D、3

标准答案:C

知识点解析:本题的关键之处在于抓住每次具体给哪个数组元素进行了赋值,第一

次循环中输入的2被赋给了Al(l)和A2(3),第二次循环中输入的4被赋给了A1(2)

和A2(2),第三次循环中输入的6被赋给了Al(3)和A2(l),跳出循环时k的值为

3,所以最后输出2。

25>设有以下程序:PrivateSubFormClick()x=50Fori=lTo4Y=InputBox("请输

入一个整数")Y=Val(y)入Mod5=0Thena=a+y:x=yElsea=a+xEndIfNextiPrint

aEndSub程序运行后,单击窗体,在输入对话框中依次输入15、24、35、46,输

出结果为

A、100

B、50

C、120

D、70

标准答案:A

知识点解析:本题考查的考点是有关循环的。本题需要写出每一一次循环的变量变

化情况。第一次循环时输入15,If判断为真,所以a=15,x=15;第二次循环时输

入24,If判断为假,所以a=l5+15=30,x仍然为15;第三次循环时输入35,I1判

断为真,所以a=30+35=65,x=35:第四次循环时输入46,If判断为假,所以

a=65+35=100,x=35o

26、有下面程序代码:PrivateSubCommandl_Click()a=3:s=0Fork=lTo5s=s+a

Modk:a=a+kNextkPrintSEndSub程序运行后,单击命令按钮Command1,输出

结果是

A、15

B、13

C、4

D、1

标准答案:C

知识点解析:在For循环中k的值从1变化到5,在每次循环中为累加和变量s累

加上aModk的值然后令a自加k,故此整个循环过程中s=0+0+0+1+3=4。

27、有下面程序代码:PrivateSubCommandl_Click()DimsignAsIntegersign=l

a=l:b=2Fork=lTo5c=a+sign*ba=b:b=CPrintc:sign=-signNextkEndSub程

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

A、3-12-3-1

B、3581321

C、-11-2-1-1

D、34567

标准答案:A

知识点解析:在每次循环中sign的值在1和-1之间来回变化,第一次循环时sign

的值为1:在循环中c的值为a+sig心b,然后将b赋值给a,c赋值给b;因此第一

次循环结束后c的值为3,a的值为2,b的值为3;第二次循环结束后c的值为・

1,a的值为3,b的值为一1;第三次循环结束后c的值为2,a的值为1,b的值为

2:第四次循环结束后c的值为一3,a的值为2,b的值为-3;第五次循环结束后c

的值为一1,a的值为一3,b的值为一1。

28、编写如下程序:PrivateSubCommandl_Click()Dima(10)AsString

s="123456":n=Len(s)Fork=lTona(k)=Mid(s,k,1)NextkFori=lTon\2t=a(i)

a(i)=a(n—i+l):a(n-i+l)=tNextiFork=1TonPrinia(k);NextkEndSub程序运行

后,单击命令按钮Command1,输出结果为

A、654321

B、123456

C、654123

D、123654

标准答案:A

知识点解析:本题中有三个For循环,但是这三个循环之间没有嵌套关系,而是顺

序的关系。在第一个循环中依次取出字符串s中的每一个字符存入数组a;第二个

循环中将数组的第一个元素和最后一个元素互换,第二个元素和倒数第二个元素互

换……以此类推完成数组的逆序;第三个循环输出数组元素。

29、窗体上有1个名称为Command1的命令按钮;1个名称为Listl、没有列表项

的列表框。编写如下程序:PrivateSubCommandlClick()DimxAsString,sAs

String,tempAsStringDimiAsIntegerx=InputBox("输入字符串","输入")

Ifx<>../ThcnFori=Lcn(x)ToIStep一Is=Mid(x,i,1)Ifso^'Thcntcmp=s+tcmp

ElseListl.Additemtemps="":temp=""EndIfNextListI.AdditemtempElse

MsgBox”输入内容为空!”EndIfEndSub程序运行后,单击命令按钮Commandl,

并输入“Happynewyear”,则在Listl中显示的内容为

A、yearnewHappy

B、Happynewyear

C、racywenyppaH

D、yppaHwenraey

标准答案:A

知识点解析:本题的循环中倒序从字符串s中依次取出每一个字符,只要该字符不

是空格就将其连接到temp的前面,见到空格就把连接好的lemp加入到列表框中,

即先加入year,然后是new,最后是H叩py。

30、设窗体上有一个文本框Textl和一个命令按钮Commandl,并有以下事件过

程:PrivateSubCommandl_Click()DimsAsString,chAsStrings=<e,Fork=lTo

Len(Text1)ch=Mid(Text1,k,1)s=ch+sNextkText1.Text=sEndSub程序执行时,

在文本框中输入“Basic”,然后单击命令按钮,则Textl中显示的是

A、Basic

cisaB

C、BASIC

D、CISAB

标准答案:B

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

数就是字符串的长度,每次都在第k位取一个字母,最后倒序连接起来。注意每次

都把ch连接到s的前面。

31、某人编写了如卜.程序,用来求10个整数(整数从键盘输入)中的最大值:

PrivateSUbCommand1_Click()Dima(10)AsInteger,maxAsIntegerFork=lTo10

a(k)=InputBox("输入一个整数")Nextkmax=0Fork=lTOIOIfa(k)>maxThen

max=a(k)EndIfNextkPrintmaxEndSUb运行程序时发现,当输入10个正数时,

可以得到正确结果,但输入10个负数时结果是错误的,程序需要修改。下面的修

改中可以得到正确运行结果的是

A、把Ifa(k)>maxThen改为Ifa(k)

B、把max=a(k)改为a(k)=max

C、把第2个循环语句Fork=lTo10改为Fork=2To10

D、把max=0改为max=a(10)

标准答案:D

知识点解析:本题考查的考点是有关循环和数组的。本题为了实现求取最大值,首

先应该假设数组中的某一个数就是最大值,再依次与数组元素比较,一旦某个元素

比当前的最大值大,就任它作为新的最大值。max初值设为0是不可以的,它没有

考虑到数组元素都小于0的情况。

32、在窗体上画一个名祢为Textl的文本框和一个名称为Commandl的命令按钮,

然后编写如下事件过程:PrivateSubCommandl_Click()DimiAsInteger,nAs

IntegerFori=0To50i=i+3;n=n+1Ifi>10ThenExitForNextTextl.Text=Str(n)End

Sub程序运行后,单击命令按钮,在文本框中显示的值是

A、2

B、3

C、4

D、5

标准答案:B

知识点解析:本题考查的考点是有关循环的。实际上本题就要关注循环何时结束,

第一次循环中,i的值变成3,n的值变为1,然后i+1变成4;由于满足循环条

件,所以第二次循环中,i的值变成7,n的值变为2,然后i+1变成8;由于还是

满足循环条件,所以第三次循环中,i的值变成11,n的值变为3,然后判断由于i

已经大于10,所以退出循环,最后n的值为3。

33、在窗体上画一个名为Commandl的命令按钮,然后编写如下代码:Option

Base1PrivateSubCommandl_Click()Dimaa=Array(1,2,3,4):j=lFori=4To1

Step-1s=s+a(i)*j:j=j*10NextiPrintsEndSub运行上面的程序,其输出结果是

A、1234

B、12

C、34

D、4321

标准答案:A

知识点解析:本题考查的考点是有关循环的。本题也很简单,首先取得数组的最后

一个元素加到累加变量中,然后取倒数第二个元素,乘10后加到累加变量中,然

后取倒数第三个元素,乘100后加到累加变量中,以此类推,最后结果为1234。

34、在窗体上画一个名祢为Textl的文本框和一个名称为Command1的命令按纽,

然后编写如下事件过程:PrivateSubCommandl_Click()DimiAsInteger,nAsInteger

Fori=0To50i=i+3:n=n+lIfi>10ThenExitForNextTcXtl.Text=Str(n)EndSub程

序运行后,单击命令按钮,在文本框中显示的值是

A、2

B、3

C、4

D、5

标准答案:B

知识点解析:语句ExilFor的作用是退出当前For循环。本题中For循环语句的循

环变量i不仅在执行到Next语句时后自动加1,而且在每次执行循环体中的i=i+3

语句时,还会加3。当第1次进入循环体时i=0、n=0;当第2次进入循环体时

i=4、n=l;当第3次进入循环体时i=8、n=2,此时当执行i二i+3和n=n+l语句后,

i=ll、n=3,If语句的条件表达式i>10为真,将退出循环,故文本框中显示的值为

3o

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

Base1PrivateSubCommandl_Click()d=0:c=IO:x=Array(10,12,21,32,24)

Fori=lTo5Ifx(i)>cThend=d+x(i):c=x(i)Elsed=d-cEndIfNextiPrintdEndSub程

序运行后,如果单击命令按钮,则在窗体上输出的内容为

A、89

B、99

C、23

D、77

标准答案:C

知识点解析:本题的循环中依次用数组的每个元素和c进行比较,如果比c大就将

数组元素累加,并令数组元素成为新的c值;否则令累加和d减去c。在5次循环

中d的累加过程为・10i12121132-32=23o

36、在窗体上画1个名称为Command1的命令按钮,并编写如下事件过程:

PrivateSubCommandl_Click()X=1:s=0Fori=lTo5x=x/i:s=s+xNextPrintsEnd

Sub该事件过程的功能是计算

A、s=l+2+3+4+5q

B、s=l+l/2+1/3+1/4+1/5

C、s=l+l/2!+l/3!+l/4!+l/5!

D、s=l+l/(1*2)+1/(2*3)+1/(3*4)+1/(4*5)

标准答案:C

知识点解析:在本题的循环中每次累加的变量是x,而x在每次的循环中都会除以

i,即第一次除以1,第二次再除以2,第三次再除以3……以此类推C选项是正确

答案。

37、有如下程序:PrivateSubForm_Click()DimiAsInteger,nAsIntegerFori=lTo

20i=i+4:n=n+iIfi>10ThenExitForNextPrintnEndSub程序运行后,单击窗体,

则输出结果是

A、14

B、15

C、29

D、30

标准答案:D

知识点解析:本题的For循环中改变了循环变量i的值,而且在循环中还有Exit语

句退出循环,故此需要逐次循环进行分析。第一次循环中i的初值为1,然后变为

5,将其累加到n中然后因其不满足If条件,所以i的值加上步长1(特别重要很容

易忘记)继续循环:第二次循环开始i的值为6,加上4以后变为10,将其累加到n

中然后因其不满足If条件,所以i的值加上步长1继续循环;第三次循环开始i的

值为11,加上4以后变为15,将其累加到n中然后因其满足If条件退出循环,所

以累加三次的值为5+10+15=30。

38、有以卜通用过程:Functionfun(NAsInteger)S=0Fork=ITONs=s+k*(k+l)

Nextkfun=SEndFunction该过程的功能是

A、计算N!

B、计算1+2+3+...+N

C、计算1X2X2X3X3X...XNXN

D、计算1x2+2x3+3x44•…+Nx(N+l)

标准答案:D

知识点解析:在函数中舔次向累加和变量s中累加k*(k+l)的值,循环变量k从1

循环到N,即为求1X2+2X3+3X4+…+Nx(N+l)的值,

39、编写如下程序:OptionBaseIPrirateSubCommandI_Click()Dima

a=Array(1.2.3.4):s=0:j=1Fori=4To1Step-1s=s+a(i)*j:j=j*10NextiPrints

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

A、110

B、123

C、1234

D、4321

标准答案:C

知识点解析:本题的循环首先取出数组的最后一位累加,然后取出倒数第二位乘以

10以后累加:然后取出倒数第三位乘以100后累加……以此类推,最终结果为

1234。

40、在窗体上画一个名祢为Command1的命令按钮,编写如下事件过程:Private

SubCommandl_Click()n=0Fori=0To10X=2*i-1TfXMod3=0Thenn=n+lNext1

PrintnEndSub运行座序,单击命令按钮,则窗体上显示的是

A、1

B、3

C、5

D、7

标准答案:B

知识点解析:本题的For循环共执行11次,在每次循环中计算出一个X的值,然

后判断能否被3整除,如能整除则令计数器n自加1。

家二级VB机试(控制结构)模拟试卷

第2套

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

1、现有语句:Y=IIf(x>0,xMod3,0)设x=10,则y的值是

A、0

B、1

C、3

D、语句有错

标准答案:B

知识点解析:本题考查的考点是有关Ilf函数的。Hf函数可用于执行简单的条件判

断操作,它是“If...Then...Else”结构的简写版本。格式:Resu仁Hf(〈条件),V

True部分〉,VFalse部分〉)其中“Result”是函数的返回值,“条件”是一个逻辑表达

式。当“条件”为真时,Ilf函数返回“True部分”的值,而当"条件”为假时返回“False

部分”的值。“True部分”或“False部分”可以是表达式、变量或其他函数。本题中由

于x=10是大于0的,所以返向值为xMod3的值即K

2、现有如下语句:x=IIf(a>50,Int(a\3),aMod2)当a=52时,X的值是

A、0

B、1

C、17

D、18

标准答案:C

知识点解析:Ilf函数可用来执行简单的条件判断操作,它是“If...Then...Else”结构

的简写版本。格式为:resull=IIf(〈条件〉,〈True部分〉,〈False部分>)。当(条

件》为真时,Ilf函数返回VTrue部分〉,而当V条件》为假时,返回〈False部分

>o本题中a的值是52,所以条件为真,将返回52\3的值即17。

3、编写如卜程序:PrivateSubCommandl_Click()DimaAsInteger,bAsInteger

a=3:b=2Ifa*b<10Thenb=b+lElseb=b-lEndIfPrintb-a>0EndSub程序运行后,

单击命令按钮Command1,输出结果为

A、True

B、False

C、1

D、-1

标准答案:B

知识点解析:本题的程序中由于a*bV10条件成立,因此执行Then分支,b自加1

变成3,最后输出b-a>0的值即Falseo

4、设有下面的语句:Printnf(x>O/,nf(x<O,-l。))与此语句输出结果不同的程序段

A、Ifx>0Thenx=lElseIfx<0Thenx=-lEndIfPrintx

Ifx>0ThenPrint1ElseIfx<0ThenPrint-1ElsePrint0EndIf

C、SelectCascxCaseIs>0PrintICaseIs<0Print-1CaseElsePrint0EndSelect

D、Ifx<>0ThenIfx>0ThenPrintIElseIfx<0ThenPrint-1ElsePrint0EndIf

EndIf

标准答案;D

知识点解析:Ilf函数可用来执行简单的条件判断操作,它是力f...then...Else”结构

的简写版本。格式为:Resukllf(〈条件〉,〈True部分〉,〈False部分>)。当(条

件》为真时»Ilf函数返回〈True部分>,而当V条件》为假时,返回〈False部分

>o本题中Hf函数的功能是判断X是不是正数,如果是返回1,否则继续判断a

是不是负数,如果是返回-1,否则返回0,即返回x的符号。分析4个选项只有D

选项不应该使用Elself语句而应该使用Else语句。

5、设x为一整型变量,且语句的开始为:SelectCasex,则不符合语法规则的Case

子句是

A^CaseIs>20

B、CaseITo10

C、CaseO<IsAndIS<20

D^Case2,3,4

标准答案:c

知识点。析:Case语句中含有多个参量,这些参量的含义分别为:①测试表达

式:可以是任何表达式,通常采用变量或常量;②语句块1,语句块2,……:每

个语句块由一行或多行合法的VisualBasic语句组成;③表达式列表1,表达式列

表2,…:称为域值。

6^窗体上有I个名称为Command1的命令按钮,事件过程如下:PrivateSub

Command1_Click()DimnumAsInteger,xAsInlegernum=Val(InpulBox("请输入一个

正整数"))SelectCasenumCaseIs>100x=x+numCaseIs<90x=numCaseElse

x=x*numEndSelectPrintx;EndSub运行程序,并在三次单击命令按钮时,分别输

入正整数100、90和60,

A、000

B、0060

C、0900

D、100060

标准答案:B

知识点解析:多分支控制结构又称为SelectCase语句或Case语句,可以同时对条

件的多个取值来判断。其格式为:SelectCaseV测试表达式〉[Casc<表达式列表

1>][语句块1]...[CaseElse][语句块n|EndSelectCase语句以SelectCase开头,

以EndSelect结束。其中,表达式列表1,表达式列表2,…称为域值。可采用3

种形式:①表达式1[,表达式2]...;②表达式ITo表达式2;③Is关系运算表达

式。其中,可使用的运算符有等于(二)、不等于(<>)、小于(V)、大于(>)、小于

或等于(<二)、大于或等于(>二)。本题中第一次输入100执行CaseElse分支,由于

x是默认初值0所以输出0;第二次输入90也执行CaseElse分支,由于x是默认初

值0所以输出0;第三次输入60执行第二个分支输出60。

7、某人为计算n!(0Vn<=12)编写了下面的函数过程:PrivateFunctionfun(nAs

Integer)AsLongDimpAsLongp=lFork=n-1To2Step-1p=p*kNextkfun=pEnd

Funciion在调试时发现该函数过程产生的结果是错误的,程序需要修改。下面的修

改方案中有3种是正确的,错误的方案是

A、把p=l改为p=n

B、把Fork=n-lTo2Step-1改为Fork=1Ton-1

C、把Fork=n-lTo2Step-1改为Fork=lTon

D、把Fork=n-1To2Step-1改为Fork=2Ton

标准答案:B

知识点解析:本题考查的考点是有关循环次数的。本题题干中程序的错误在于,p

的值是从1一直乘到n-1的值,也就是n-1的阶乘°选项A可以在这个基础上再乘

n就得到n的阶乘;选项C和D都能够保证从1乘到n,只有选项B是错误的,

8、在窗体上画一个命令按钮,名称为Commandl,然后编写如下代码:Option

BaseOPrivateSubCommand1_Click()DimA1(4)AsInteger,A2(4)AsIntegerFor

k=0To2Al(k+l)=InpulBox("请输入一个整数”)A2(3-k)=Al(k+l)NextkPrintA2(k)

EndSub程序运行后,单击命令按钮,在输入对话框中依次输入2、4、6,则输出

结果为

A、0

B、1

C、2

D、3

标准答案:C

知识点解析:本题的关键之处在于抓住每次具体给哪个数组元素进行了赋值,第一

环中输入的4被赋给了Al(2)和A2(2),第三次循环中输入的6被赋给了Al(3)和

A2(l),跳出循环时k的值为3,所以最后输出2。

9、有下面程序代码:PrivateSubCommand1_Click()DimsignAsIntegersign=l

a=l:b=2Fork=lTo5c=a+sign*ba=b:b=cPrintc;sign=-signNextkEndSub程序运行

后,单击命令按钮Command1,输出结果是

A、3-12-3-1

B、3581321

C、-11-2-1-1

D、34567

标准答案:A

知识点解析:在每次循环中sign的值在1和-1之间来回变化,第一次循环时sign

的值为1;在循环中c的值为a+sign*b,然后将b赋值给a,c赋值给b;因此第一

次循环结束后c的值为3,a的值为2,b的值为3;第二次循环结束后c的值为-

1,a的值为3,b的值为-1;第三次循环结束后c的值为2,a的值为-1,b的值为

2;第四次循环结束后c的值为-3,a的值为2,b的值为・3;第五次循环结束后c

的值为-1,a的值为-3,b的值为-1。

10、设窗体上有一个文本框Textl和一个命令按钮Commandl,并有以下事件过

程:PrivateSubCommandl_Click()DimsAsString,chAsStrings='n,Fork=lTo

Len(Text1)ch=Mid(Textl,k,1)s=ch+sNextkTextl.Text=sEndSub程序执行时,在文

本框中输入“Basic”,然后单击命令按钮,则Textl中显示的是

A、Basic

B、cisaB

C、BASIC

D、CISAB

标准答案:R

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

数就是字符串的长度,每次都在第k位取一个字母,最后倒序连接起来。注意每次

都把ch连接剑s的前面。

II、在窗体上画一个名为Commandl的命令按钮,然后编写如下代码:Option

BaseIPrivateSubCommandl_Click()Dimaa=Array(1,2,3>4):j=1Fori=4TolStep-l

s=s+a(i)*j:j=j*10NextiPrintsEndSub运行上面的程序,其输出结果是

A、1234

B、12

C、34

D、4321

标准答案:A

知识点解析:本题考查的考点是有关循环的。本题也很简单,首先取得数绢的最后

一个元素加到累加变量中,然后取倒数第二个元素,乘10后加到累加变量中,然

后取倒数第三个元素,乘100后加到累加变量中,以此类推,最后结果为1234。

12、在窗体上画1个名称为Command1的命令按钮,并编写如下事件过程:

PrivateSubCommandl_Click()x=l:s=OFori=lTo5x=x/i:s=s+xNextPrintsEndSub

该事件过程的功能是小算

A、s=l+2+3+4+5q

B、s=l+l/2+l/3+l/4+l/5

C、s=l+l/2!+l/3!+l/4!+l/5!

D、s=1+1/(1*2)+1/(2*3)+1/(3*4)+1/(4*5)

标准答案:C

知识点解析:在本题的循环中每次累加的变量是x,而x在每次的循环中都会除以

i,即第一次除以1,第二次再除以2,第三次再除以3……以此类推C选项是正确

答案。

13、编写如下程序:OptionBase1PrivateSubCommandl_Click()Dima

a=Array(1,2,3,4):s=0:j=1Fori=4To1Step-1s=s+a(i)*j:j=j*10NextiPrintsEndSub

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

A、110

B、123

C、1234

D、4321

标准答案:C

知识点解析:本题的循环首先取出数组的最后一位累加,然后取出倒数第二位乘以

10以后累加:然后取出倒数第三位乘以100后累加……以此类推,最终结果为

1234o

14、在窗体上画一个组合框,其名称为Combol,然后编写如卜事件过程:Private

SubForm_Load()Combol.Text=nr,Fori=lTo10Sum=Sum+iNexti

Combo1.Text=SumEndSub程序运行后,输出结果为

A、在组合框的编辑区中显示1

B、在组合框的编辑区中显示不定值

C、在组合框的编辑区中显示55

D、出错信息

标准答案:C

知识点解析:组合框的Text属性将会返回或者设置编辑区中的文本,本题中显示

的是10的累加和55。

15、假定有以下循环结陶DoUntil条件表达式循环体Loop则以下正确的描述是

A、如果”条件表达式”的值是0,则一次循环体也不执行

B、如果”条件表达式”的值不为0,则至少执行一次循环体

C、不论“条件表达式”的值是否为“真”,至少要执行一次循环体

D、如果”条件表达式”的值恒为0,则无限次执行循环体

标准答案:D

知识点解析:本题考查的考点是有关D。型循环的。对于这种循环结构,首先看条

件判断在循环体的前面还是后面,如果是先判断条件,则有可能一次也不执行循环

体;如果是后判断条件,则无论条件如何至少执行一次循环体。在Until循环中条

件为False时执行循环体,条件为True时退出循环;在While循环中条件为True

时执行循环体,条件为False时退出循环,这一点要注意区分清楚。

16、编写如下程序:PrivateSubCommandl_Click()DunxAsInteger,yAsinteger

x=l:y=lDoy=x*yIfy>10ThenExitDoElsex=x+3EndIfLoopUntilx<=10Print

x;yEndSub程序运行后,单击命令按钮Command1,输出结果为

A、11

B、41

C、42

D、728

标准答案:B

知识点解析:D。型循环结构,首先看条件判断在循环体的前面还是后面,如杲是

先判断条件,则有可能一次也不执行循环体;如果是后判断条件,则无论条件是H

么,至少执行一次循环体。在Umil循环中条件为False时执行循环体,条件为

True时退出循环;在While循环中条件为True时执行循环体,条件为False时退出

循环。本题中使用的是后判断型循环,第一次循环时y的值为1,不满足y>10,

执行Else分支,x变成4,此时由于满足xV=10所以结束循环。

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

Commandl_Click()Dimx%,y%,z%x=InputBox("请输入第I个整数"):y=InputBox("

请输入第2个整数")DoUntilx=yIfx>yThenx=x-yElsey=y-xEndifLoopPrintx

FmdSub运行程序.单击命令按钮.并输入2个整数169和39•则在窗体卜显示的

内容为

A、11

B、13

C、23

D、39

标准答案:B

知识点解析:本题的循环中将两个输入的数x和y互相相减,直到x=y为止,实际

上就是辗转相减法求最大公约数的过程。

18、下列循环中,可以正常结束的是

A、i=10Doi=i+lLoopUntili<1

B、i=lDoi=i+lLoopUntili=10

C、i=10Doi=i+|LoopWhilei>1

D、i=10Doi=i-2LoopUntili=l

标准答案:B

知识点解析:D。循环语句的功能是:当指定的“循环条件”为真或直到指定的“循环

条件''变为真之前重复执行循环体。DoWhile|Until…Loop循环是在条件满足的情况

下才执行一次循环体,而Do...LoopWhile|Until循环不管是否满足条件都先执行一

次循环体,然后再判断条件是否成立以决定后续操作。本题的A选项由Ti的值从

10开始递增,永远不会满足i〈l而无限循环;C选项由于i的值从10开始递增,

永远满足i>l而无限循环;D选项由于i的值从10开始递减,但是因为每次递减

2,所以i永远为偶数,不会满足i=l而无限循环。

19、假定有如下程序:EnvatcSubForm_Click()DimNAs

温馨提示

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

最新文档

评论

0/150

提交评论