国家二级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、0B、1C、3D、语句有错标准答案:B知识点解析:本题考查的考点是有关IIf函数的。IIf函数可用于执行简单的条件判断操作,它是“If…Then…Else”结构的简写版本。格式:ReSUlt=IIf(<条件>,,)其中“Result”是函数的返回值,“条件”是一个逻辑表达式。当“条件”为真时,IIf函数返回“True部分”的值,而当“条件”为假时返回“False部分”的值。“True部分”或“False部分”可以是表达式、变量或其他函数。本题中由于x=10是大于0的,所以返回值为xMod3的值即1。2、设x是整型变量,与函数Ilffx>0,-X,x)有相同结果的代数式是A、|x|B、一|x|C、xD、-x标准答案:B知识点解析:IIf函数可以用来执行简单的条件判断操作,它是“If…Then…Else”结构的简写版本,其格式为:result=IIf(条件,True部分,False部分)。其中“result”是函数的返回值,“条件”是一个逻辑表达式。当“条件”为真时,IIf函数返回“True部分”,否则返回“False部分”。“True部分”或“False部分”可以是表达式、变量或其他函数。本题中IIf函数的作用是如果x>0则返回一x,否则返回x,等价于一|x|。3、计算下面分段函数的正确语句是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+1,IIf(x<0,0,x一1))D、y=IIf(x=0,0,x—1,x+1)标准答案:A知识点解析:IIf函数可用来执行简单的条件判断操作,它是“If…Then…Else”结构的简写版本。格式为:result=IIf(<条件>,,)。当<条件>为真时,IIf函数返回,而当<条件>为假时,返回一。本题中分段函数共有三段,因此需要使用嵌套的IIf函数。4、现有如下语句:x=IIf(a>50,Int(a\3),aMod2)当a=52时,x的值是A、0B、1C、17D、18标准答案:C知识点解析:IIf函数可用来执行简单的条件判断操作,它是“If…Then…Else”结构的简写版本。格式为:result=lIf(<条件>,,)。当<条件>为真时,IIf函数返回,而当<条件>为假时,返回。本题中a的值是52,所以条件为真,将返回52\3的值即17。5、在下面语句或函数中,不能描述选择结构的是A、If语句B、IIf函数C、SelectCase语句D、While语句标准答案:D知识点解析:选择结构可以使用lIf函数、If语句来实现两个分支的选择结构,使用SelectCase语句实现多分支选择结构,while语句用来描述循环结构。6、设窗体上有Text1、Text2两个文本框,并编写了下面的程序代码:PrivateSubText1_KeyPress(KeyAsciiAsInteger)If”A”<=Chr(KeyAscii)AndChr(KeyAscii)<=”Z”ThenKeyAscii=KeyAscii+(Asc(”a”)一Asc(”A”))EndIfn=0IfKevAscii=13ThenFork=1ToLen(Text1)ch$=Mid(Text1,k,1)If”a”<=chAndch<=”z”Thenn=n+1NextkText2=nEndIfEndSub运行程序,在Text1中输入“VisualBasic6.0”后按回车键,则在Text2文本框显示的是A、11B、16C、VisualBasic6.0D、visualbasic6.0标准答案:A知识点解析:本题中的第一个If…Then结构的作用是将所有输入的大写字符转换为小写字符;第二个If结构的条件是按下回车键,里面嵌套了一个For循环,在循环中依次取出文本框中的每一个字符进行判断,若其为小写字符则n自加1,循环结束后n的值就是文本框中字母的个数。7、编写如下程序:PrivateSubCommand1_Click()DimaAsInteger,bAsIntegera=3:b=2Ifa*b<10Thenb=b+1Elseb=b-1EndIfPrintb-a>0EndSub程序运行后,单击命令按钮Command1,输出结果为A、TrueB、FalseC、1D、-1标准答案:B知识点解析:本题的程序巾由于a*b<10条件成立,因此执行Then分支,b自加1变成3,最后输出b-a>0的值即False。8、编写如下程序:PrivateSubCommand1_Click()DimscoreAsIntegerscore=86Ifscore>85Thenr=1ElseIfscore>60Thenr=2Elser=0EndIfPrintrEndSub程序运行后,单击命令按钮Command1,输出结果为A、0B、1C、2D、86标准答案:B知识点解析:块结构条件语句的格式为:If<条件1>Then:<语句块1>[Elself<条件2>Then:<语句块2>][Else:<语句块n>]EndIf如果“条件1”为True,则执行“语句块1”并跳出结构;否则如果“条件2”为True,则执行“语句块2”并跳出结构…否则执行“语句块n”并结束整个结构。9、设有如下事件过程:PrivateSubForm_Click()Sum=0Fork=1To3Ifk<=1Thenx=1ElseIfk<=2Thenx=2Elselfk<=3Thenx=3Elsex=4EndIfSum=Sum+xNextkPrintSumEndSub程序运行后,单击窗体,输出结果是A、9B、6C、3D、10标准答案:B知识点解析:本题总共循环三次,在每次循环中由于循环变量k的值不同,将分别进入If语句的不同分支。在块结构的If语句中,一旦满足某个If或者ElseIf后面的条件,将不再判断其他条件是否满足。所以本题输出的是1+2+3的值。10、设有下面的语句:PrintIIffx>0,1,Ilf(x<0,-1,0))与此语句输出结果不同的程序段是A、Ifx>0Thenx=1Elselfx<0Thenx=-1EndIfPrintxB、Ifx>0ThenPrint1Elselfx<0ThenPrint-1ElsePrint0EndIfC、SelectCasexCaseIs>0Print1CaseIs<0Print-1CaseElsePrint0EndSelectD、Ifx<>0ThenIfx>0ThenPrint1Elselfx<0ThenPrint-1ElsePrint0EndIfEndIf标准答案:D知识点解析:IIf函数可用来执行简单的条件判断操作,它是“If…then…Else”结构的简写版本。格式为:Result=IIf(<条件>,,)。当<条件>为真时,IIf函数返回,而当<条件>为假时,返回。本题中IIf函数的功能是判断x是不是正数,如果是返回1,否则继续判断a是不是负数,如果是返回一1,否则返回0,即返回x的符号。分析4个选项只有D选项不应该使用ElseIf语句而应该使用Else语句。11、在窗体上画一命令按钮和一文本框,其名称分别为Command1和Text1,然后编写如下程序:FunctionFun(xAsInteger,YAsInteger)AsIntegerFun=IIf(xA、12B、20C、24D、40标准答案:A知识点解析:命令按钮的Default属性用于设置窗体的缺省命令按钮,程序运行时,按下键将执行该命令按钮的单击事件过程。IIf函数可用来执行简单的条件判断操作,它是“If…then…Else”结构的简写版本。格式为:Result=IIf(<条件>,,)。当<条件>为真时,IIf函数返回,而当<条件>为假时,返回。本题在函数Fun中判断x是否比v小,如果小则返回x作为返回值,否则返回v作为返回值,即返回两个参数中的最小值。12、三角形的构成条件是:任意2边之和大于第3边。设变量a、b、c是3条直线的长度,要求判断这3条直线能否构成一个三角形。下面有3个程序段可以正确判断,另一个不能正确判断的是A、Ifa+b>cAnda+c>bAndb+c>aThenPrint”可以构成一个三角形”ElsePrint”不能构成三角形”EndIfB、Ifa+b>cOra+c>bOrb+c>aThenPrint”可以构成一个三角形”ElsePrint”不能构成三角形”EndIfC、Ifa+b<=cOra+c<=bOrb+c<=aThenPrint”不能构成三角形”ElsePrint”可以构成一个三角形”EndIfD、Ifa+b<=cOra+c<=bThenPrint”不能构成三角形”Elselfb+c<=aThenPrint”不能构成三角形”ElsePrint”可以构成一个三角形”EndIf标准答案:B知识点解析:任意两边之和大于第三边,必须要求任意两个变量的和全部大于另一个变量,也就是三个表达式必须同时成立,只有一个或两个成立是不行的,故此B选项不能正确判断。13、设x为一整型变量,且语句的开始为:SelectCasex,则不符合语法规则的Case子句是A、CaseIs>20B、Case1To10C、Case0D、Case2,3,4标准答案:C知识点解析:Case语句中含有多个参量,这些参量的含义分别为:①测试表达式:可以是任何表达式,通常采用变量或常量;②语句块1,语句块2,……:每个语句块由一行或多行合法的VisualBasic语句组成;⑧表达式列表1,表达式列表2,…:称为域值。可采用2种形式之一:表达式1、[,表达式2]…和表达式1To表达式2。④Is关系运算表达式,其中可使用的运算符有=(等于)、<>(不等于)、<(小于)、>(大于)、<=(小于或等于)、>=(大于或等于)。14、假定有如下情况语句:SelectCaseX能表示|X|>5的Case子句是A、CaseNot(-5To5)B、Case5To一5C、CaseIs<-5.Is>5D、CaseAbs(X)>5标准答案:C知识点解析:多分支控制结构又称为SelectCase语句或Case语句,可以同时对条件的多个取值来判断。其格式为:SelectCase<测试表达式>[Case<表达式列表1>]:[语句块1]…[CaseElse]:[语句块n]End-SelectCase语句以SelectCase开头,以EndSelect结束。其中,表达式列表1,表达式列表2,…称为域值。可采用3种形式:①表达式1[,表达式2]…;②表达式1To表达式2;③Is关系运算表达式。其中,可使用的运算符有等于(=)、不等于(<>)、小于(<)、大于(>)、小于或等于(<=)、大于或等于(>=)。15、现有如下一段程序:PrivateSubCommand1_Click()x=UCase(InputBox(”输入:”))SelectCasexCase”A”Tb”C”Print”考核通过!”Case”D”Print”考核不通过!”CaseElsePrint”输入数据不合法!”EndSelectEndSub执行程序,在输入框中输入字母“B”,则以下叙述中正确的是A、程序运行错B、在窗体上显示“考核通过!”C、在窗体上显示“考核不通过!”D、在窗体上显示“输入数据不合法!”标准答案:B知识点解析:多分支控制结构又称为SelectCase语句或Case语句,可以同时对条件的多个取值来判断。16、窗体上有1个名称为Command1的命令按钮,事件过程如下:PrivateSubCommandl_Click()DimsumAsInteger,XAsIntegernum=Val(InputBox(”请输入一个正整数”))SelectCasenumCaseIs>100x=x+sumCaseIs<90x=numCaseElsex=x*numEndSelectPrintx:EndSub运行程序,并在三次单击命令按钮时,分别输入正整数100、90和60,则窗体上显示的内容为A、000B、0060C、0900D、100060标准答案:B知识点解析:多分支控制结构又称为SelectCase语句或Case语句,可以同时对条件的多个取值来判断。本题中第一次输入100执行CaseElse分支,由于x是默认初值0所以输出0;第二次输入90也执行CaseElse分支,由于x是默认初值0所以输出0;第三次输入60执行第二个分支输出60。17、窗体上有一个名称为Text1的文本框,一个名称为Command1的命令按钮。命令按钮的单击事件过程如下:PrivateSubCommand1_Click()Dimx1AsInteger,x2AsInteger,x3AsIntegerS=Trim(Text1.Text)strLen=Len(s)Fori=1TostrLenc=Mid(s,i,1)SelectCaseCCasc”0”To”9”x1=x1+1Case”A”To”Z”x2=x2+1Case”a”To”z”x3=3+1CaseElsex4=x4+1EndSelectNextPrint”x1”;x1,”x2”;x2,”x3”;x3,”x4”;x4EndSub以下关于上述程序的叙述中,正确的是A、s是去掉文本框中字符串末尾的空格B、SelectCasec有误,Case后应该是一个表达式C、各Case分支条件有误,不能用To表示字符的取值区间D、x4是字符串中非字母、非数字字符的个数标准答案:D知识点解析:Trim函数的作用是去掉文本框中字符串两端的空格;多分支控制结构又称为SelectCase语句或Case语句,可以同时对条件的多个取值来判断,Case后面的表达式可采用3种形式:①表达式1[,表达式2]…;②表达式1To表达式2;③Is关系运算表达式。最终x1是字符串中数字的个数;x2是字符串中大写字母的个数;x3是字符串中小写字母的个数;x4是字符串中非字母、非数字字符的个数。18、编写如下程序:PrivateSubCommandl_Click()DimmAsInteger,nAsIntegerm=2:n=1SelectCasemCase1SelectCasenCase1Print”AAA”Case2Prinnt”BBB”Case2Print”CCC”EndSelectEndSub程序运行后,单击命令按钮Command1,输出结果为A、AAAB、BBBC、CCCD、1标准答案:C知识点解析:多分支控制结构又称为SelectCase语句或Case语句,可以同时对条件的多个取值来判断。本题是一个嵌套的SelectCase语句,首先判断m的值,本题由于m的值为2,所以不会执行Case1分支,直接执行Case2分支输出“CCC”19、某人设计了如下程序用于计算并输出7!(7的阶乘)PrivateSubCommandl_Click()t=0Fork=7To2Step-1t=t*kNextPritetEndSub执行程序时,发现结果是错误的。下面的修改方案中能够得到正确的是A、把t=0改为t=1B、把Fork=7to2Step-1改为Fork=7to1Step-1C、把Fork=7to2Step-1改为Fork=1to7D、把Next改为Nextk标准答案:A知识点解析:本题考查循环控制结构。在Command1的Click事件过程中,变量t的初值为0,在For循环里面,t变量保存累乘积。由于t初值为0,因此累乘积永远都是0,因此t的初值应该设置为1。20、为计算an的值,某人编写了函数power如下:PrivateFunctionpower(aAsInteger,nAsInteger)AsLongDimPAsLongP=aFork=1TonP=p*aNextkPower=pEndFunction在调试时发现是错误的,例如Printpower(5,4)的输出应该是625.但实际输出是3125。程序需要修改。下面的修改方案中有3个是正确的,错误的一个是A、把Fork=1Ton改为Fork=2TonB、把P=p*a改为P=p^aC、把Fork=1Ton改为Fork=1Ton—1D、把P=a改为P=1标准答案:B知识点解析:本题考查循环控制结构。选项A)循环少执行一次,由于p初始化为a相当于执行了第一次,因此循环必须少执行一次才能计算正确的an;选项B)中p^a已经是幂运算了,不需要循环来计算;选项C)循环少执行一次,正确:选项D)中D初始化为1,循环执行n次正确。21、某人为计算n!(0A、把p=1改为p=nB、把Fork=n-1To2Step一1改为Fork=1Ton-1C、把Fork=n-1To2Step-1改为Fork=1TonD、把Fork=n-1To2Step—1改为Fork=2Ton标准答案:B知识点解析:本题考查的考点是有关循环次数的。本题题干中程序的错误在于,p的值是从1一直乘到n—1的值,也就是n—1的阶乘。选项A)可以在这个基础_卜再乘n就得到n的阶乘;选项C)和D)都能够保证从1乘到n,只有选项B)是错误的。22、阅读程序:PrivateSubForm_Click()a=0Forj=1To15a=a+jMod3NextjPrintaEndSub程序运行后,单击窗体,输出结果是A、105B、1C、120D、15标准答案:D知识点解析:本题考查的考点是有关循环的。本题中循环的特点是:每执行3次循环,依次向a中加上0+1+2也就是3;循环共执行了15次,所以a中的值应该为15。23、在窗体上画一个命令按钮,其名称为Command1,然后编写如下代码:OptionBase1PrivateSubCommandl_Click()Dimaa=Array(1,2,3,4):j=1Fori=4To1Step-1s=s+a(i)*j:j=j*10NextiPrintSEndSub程序运行后,单击命令按钮,其输出结果是A、4321B、1234C、34D、12标准答案:B知识点解析:本题考查的考点是有关循环的。在本题的循环中,首先取得数组的最后一个元素并乘1后放入s;然后取得第3个元素并乘10后加到s里面,然后取得第2个元素并乘100后加到s里面,最后取得第1个元素并乘1000后加到s里面,所以s的最终值为1234。24、在窗体上画一个命令按钮,名称为Commandl,然后编写如下代码:OptionBase0PrivateSubCommandl_Click()DimA1(4)AsInteger,A2(4)AsIntegerFork=0To2Al(k+1)=InputBox(”请输入一个整数”)A2(3一k)=Al(k+1)NextkPrintA2(k)EndSub程序运行后,单击命令按钮,在输入对话框中依次输入2、4、6,则输出结果为A、0B、1C、2D、3标准答案:C知识点解析:本题的关键之处在于抓住每次具体给哪个数组元素进行了赋值,第一次循环中输入的2被赋给了A1(1)和A2(3),第二次循环中输入的4被赋给了A1(2)和A2(2),第三次循环中输入的6被赋给了A1(3)和A2(1),跳出循环时k的值为3,所以最后输出2。25、设有以下程序:PrivateSubFormClick()x=50Fori=1To4Y=InputBox(”请输入一个整数”)Y=Val(y)IfvMod5=0Thena=a+y:x=yElsea=a+xEndIfNextiPrintaEndSub程序运行后,单击窗体,在输入对话框中依次输入15、24、35、46,输出结果为A、100B、50C、120D、70标准答案:A知识点解析:本题考查的考点是有关循环的。本题需要写出每一一次循环的变量变化情况。第一次循环时输入15,If判断为真,所以a=15,x=15;第二次循环时输入24,If判断为假,所以a=15+15=30,x仍然为15;第三次循环时输入35,If判断为真,所以a=30+35=65,x=35;第四次循环时输入46,If判断为假,所以a=65+35=100,x=35。26、有下面程序代码:PrivateSubCommandl_Click()a=3:s=0Fork=1To5s=s+aModk:a=a+kNextkPrintSEndSub程序运行后,单击命令按钮Command1,输出结果是A、15B、13C、4D、1标准答案:C知识点解析:在For循环中k的值从1变化到5,在每次循环中为累加和变量s累加上aModk的值然后令a自加k,故此整个循环过程中s=0+0+0+1+3=4。27、有下面程序代码:PrivateSubCommandl_Click()DimsignAsIntegersign=1a=1:b=2Fork=1To5c=a+sign*ba=b:b=CPrintc:sign=-signNextkEndSub程序运行后,单击命令按钮Commandl,输出结果是A、3-12-3-1B、3581321C、-11-2-1-1D、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。28、编写如下程序:PrivateSubCommandl_Click()Dima(10)AsStrings=“123456”:n=Len(s)Fork=1Tona(k)=Mid(s,k,1)NextkFori=1Ton\2t=a(i)a(i)=a(n—i+1):a(n—i+1)=tNextiFork=1TonPrinta(k);NextkEndSub程序运行后,单击命令按钮Command1,输出结果为A、654321B、123456C、654123D、123654标准答案:A知识点解析:本题中有三个For循环,但是这三个循环之间没有嵌套关系,而是顺序的关系。在第一个循环中依次取出字符串s中的每一个字符存入数组a;第二个循环中将数组的第一个元素和最后一个元素互换,第二个元素和倒数第二个元素互换……以此类推完成数组的逆序;第三个循环输出数组元素。29、窗体上有1个名称为Command1的命令按钮;1个名称为List1、没有列表项的列表框。编写如下程序:PrivateSubCommandlClick()DimxAsString,sAsString,tempAsStringDimiAsIntegerx=InputBox(”输入字符串”,”输入”)Ifx<>…’ThenFori=Len(x)To1Step一1s=Mid(x,i,1)Ifs<>””Thentemp=s+tempElseList1.AddItemtemps="":temp=""EndIfNextList1.AddltemtempElseMsgBox”输入内容为空!”EndIfEndSub程序运行后,单击命令按钮Command1,并输入“Happynewyear”,则在List1中显示的内容为A、yearnewHappyB、HappynewyearC、racywenyppaHD、yppaHwenraey标准答案:A知识点解析:本题的循环中倒序从字符串s中依次取出每一个字符,只要该字符不是空格就将其连接到temp的前面,见到空格就把连接好的temp加入到列表框中,即先加入year,然后是new,最后是Happy。30、设窗体上有一个文本框Text1和一个命令按钮Command1,并有以下事件过程:PrivateSubCommandl_Click()DimsAsString,chAsStrings=“”Fork=1ToLen(Text1)ch=Mid(Text1,k,1)s=ch+sNextkText1.Text=sEndSub程序执行时,在文本框中输入“Basic”,然后单击命令按钮,则Text1中显示的是A、BasicB、cisaBC、BASICD、CISAB标准答案:B知识点解析:本题考查的考点是有关循环和取子串函数的。本题比较简单,循环次数就是字符串的长度,每次都在第k位取一个字母,最后倒序连接起来。注意每次都把ch连接到s的前面。31、某人编写了如下程序,用来求10个整数(整数从键盘输入)中的最大值:PrivateSUbCommand1_Click()Dima(10)AsInteger,maxAsIntegerFork=1To10a(k)=InputBox(”输入一个整数”)Nextkmax=0Fork=lT0lOIfa(k)>maxThenmax=a(k)EndIfNextkPrintmaxEndSUb运行程序时发现,当输入10个正数时,可以得到正确结果,但输入10个负数时结果是错误的,程序需要修改。下面的修改中可以得到正确运行结果的是A、把Ifa(k)>maxThen改为Ifa(k)B、把max=a(k)改为a(k)=maxC、把第2个循环语句Fork=1To10改为Fork=2To10D、把max=0改为max=a(10)标准答案:D知识点解析:本题考查的考点是有关循环和数组的。本题为了实现求取最大值,首先应该假设数组中的某一个数就是最大值,再依次与数组元素比较,一旦某个元素比当前的最大值大,就把它作为新的最大值。max初值设为0是不可以的,它没有考虑到数组元素都小于0的情况。32、在窗体上画一个名称为Text1的文本框和一个名称为Command1的命令按钮,然后编写如下事件过程:PrivateSubCommandl_Click()DimiAsInteger,nAsIntegerFori=0To50i=i+3:n=n+1Ifi>10ThenExitForNextText1.Text=Str(n)EndSub程序运行后,单击命令按钮,在文本框中显示的值是A、2B、3C、4D、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、在窗体上画一个名为Command1的命令按钮,然后编写如下代码:OptionBase1PrivateSubCommandl_Click()Dimaa=Array(1,2,3,4):j=1Fori=4To1Step-1s=s+a(i)*j:j=j*10NextiPrintsEndSub运行上面的程序,其输出结果是A、1234B、12C、34D、4321标准答案:A知识点解析:本题考查的考点是有关循环的。本题也很简单,首先取得数组的最后一个元素加到累加变量中,然后取倒数第二个元素,乘10后加到累加变量中,然后取倒数第三个元素,乘100后加到累加变量中,以此类推,最后结果为1234。34、在窗体上画一个名称为Text1的文本框和一个名称为Commandl的命令按钮,然后编写如下事件过程:PrivateSubCommand1_Click()DimiAsInteger,nAsIntegerFori=0To50i=i+3:n=n+1Ifi>10ThenExitForNextTeXt1.Text=Str(n)EndSub程序运行后,单击命令按钮,在文本框中显示的值是A、2B、3C、4D、5标准答案:B知识点解析:语句ExitFor的作用是退出当前For循环。本题中For循环语句的循环变量i不仅在执行到Next语句时后自动加1,而且在每次执行循环体中的i=i+3语句时,还会加3。当第1次进入循环体时i=0、n=0;当第2次进入循环体时i=4、n=1;当第3次进入循环体时i=8、n=2,此时当执行i=i+3和n=n+1语句后,i=11、n=3,If语句的条件表达式i>10为真,将退出循环,故文本框中显示的值为3。35、在窗体上画一个名称为Command1的命令按钮,然后编写如下程序:OptionBase1PrivateSubCommandl_Click()d=0:c=10:x=Array(10,12,21,32,24)Fori=1To5Ifx(i)>cThend=d+x(i):c=x(i)Elsed=d-cEndIfNextiPrintdEndSub程序运行后,如果单击命令按钮,则在窗体上输出的内容为A、89B、99C、23D、77标准答案:C知识点解析:本题的循环中依次用数组的每个元素和c进行比较,如果比c大就将数组元素累加,并令数组元素成为新的c值;否则令累加和d减去c。在5次循环中d的累加过程为-10+12+21+32-32=23。36、在窗体上画1个名称为Command1的命令按钮,并编写如下事件过程:PrivateSubCommandl_Click()X=1:s=0Fori=1To5x=x/i:s=s+xNextPrintsEndSub该事件过程的功能是计算A、s=1+2+3+4+5qB、s=1+1/2+1/3+1/4+1/5C、s=1+1/2!+1/3!+1/4!+1/5!D、s=1+1/(1*2)+1/(2*3)+1/(3*4)+1/(4*5)标准答案:C知识点解析:在本题的循环中每次累加的变量是x,而x在每次的循环中都会除以i,即第一次除以1,第二次再除以2,第三次再除以3……以此类推C选项是正确答案。37、有如下程序:PrivateSubForm_Click()DimiAsInteger,nAsIntegerFori=1To20i=i+4:n=n+iIfi>10ThenExitForNextPrintnEndSub程序运行后,单击窗体,则输出结果是A、14B、15C、29D、30标准答案:D知识点解析:本题的For循环中改变了循环变量i的值,而且在循环中还有Exit语句退出循环,故此需要逐次循环进行分析。第一次循环中i的初值为1,然后变为5,将其累加到n中然后因其不满足If条件,所以i的值加上步长l(特别重要很容易忘记)继续循环:第二次循环开始i的值为6,加上4以后变为10,将其累加到n中然后因其不满足If条件,所以i的值加上步长1继续循环;第三次循环开始i的值为11,加上4以后变为15,将其累加到n中然后因其满足If条件退出循环,所以累加三次的值为5+10+15=30。38、有以下通用过程:Functionfun(NAsInteger)S=0Fork=1T0Ns=s+k*(k+1)Nextkfun=SEndFunction该过程的功能是A、计算N!B、计算1+2+3+…+NC、计算1×2×2×3×3×…×N×ND、计算1×2+2×3+3×4+…+N×(N+1)标准答案:D知识点解析:在函数中每次向累加和变量s中累加k*(k+1)的值,循环变量k从1循环到N,即为求1×2+2×3+3×4+…+N×(N+1)的值。39、编写如下程序:OptionBase1PrirateSubCommand1_Click()Dimaa=Array(1,2,3,4):s=0:j=1Fori=4To1Step-1s=s+a(i)*j:j=j*10NextiPrintsEndSub程序运行后,单击命令按钮Command1,输出结果为A、110B、123C、1234D、4321标准答案:C知识点解析:本题的循环首先取出数组的最后一位累加,然后取出倒数第二位乘以10以后累加;然后取出倒数第三位乘以100后累加……以此类推,最终结果为1234。40、在窗体上画一个名称为Command1的命令按钮,编写如下事件过程:PrivateSubCommandl_Click()n=0Fori=0To10X=2*i-1TfXMod3=0Thenn=n+1Next1PrintnEndSub运行程序,单击命令按钮,则窗体上显示的是A、1B、3C、5D、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、0B、1C、3D、语句有错标准答案:B知识点解析:本题考查的考点是有关IIf函数的。IIf函数可用于执行简单的条件判断操作,它是“If…Then…Else”结构的简写版本。格式:Result=IIf(<条件>,<True部分>,<False部分>)其中“Result”是函数的返回值,“条件”是一个逻辑表达式。当“条件”为真时,IIf函数返回“True部分”的值,而当“条件”为假时返回“False部分”的值。“True部分”或“False部分”可以是表达式、变量或其他函数。本题中由于x=10是大于0的,所以返回值为xMod3的值即1。2、现有如下语句:x=IIf(a>50,Int(a\3),aMod2)当a=52时,X的值是A、0B、1C、17D、18标准答案:C知识点解析:IIf函数可用来执行简单的条件判断操作,它是“If…Then…Else”结构的简写版本。格式为:result=IIf(<条件>,<True部分>,<False部分>)。当<条件>为真时,IIf函数返回<True部分>,而当<条件>为假时,返回<False部分>。本题中a的值是52,所以条件为真,将返回52\3的值即17。3、编写如下程序:PrivateSubCommand1_Click()DimaAsInteger,bAsIntegera=3:b=2Ifa*b<10Thenb=b+1Elseb=b-1EndIfPrintb-a>0EndSub程序运行后,单击命令按钮Command1,输出结果为A、TrueB、FalseC、1D、-1标准答案:B知识点解析:本题的程序中由于a*b<10条件成立,因此执行Then分支,b自加1变成3,最后输出b-a>0的值即False。4、设有下面的语句:PrintIIf(x>0,1,IIf(x<0,-1,0))与此语句输出结果不同的程序段是A、Ifx>0Thenx=1ElseIfx<0Thenx=-1EndIfPrintxB、Ifx>0ThenPrint1ElseIfx<0ThenPrint-1ElsePrint0EndIfC、SelectCasexCaseIs>0Print1CaseIs<0Print-1CaseElsePrint0EndSelectD、Ifx<>0ThenIfx>0ThenPrint1ElseIfx<0ThenPrint-1ElsePrint0EndIfEndIf标准答案:D知识点解析:IIf函数可用来执行简单的条件判断操作,它是“If…then…Else”结构的简写版本。格式为:Result=IIf(<条件>,<True部分>,<False部分>)。当<条件>为真时,IIf函数返回<True部分>,而当<条件>为假时,返回<False部分>。本题中IIf函数的功能是判断x是不是正数,如果是返回1,否则继续判断a是不是负数,如果是返回-1,否则返回0,即返回x的符号。分析4个选项只有D选项不应该使用ElseIf语句而应该使用Else语句。5、设x为一整型变量,且语句的开始为:SelectCasex,则不符合语法规则的Case子句是A、CaseIs>20B、Case1To10C、Case0<IsAndIS<20D、Case2,3,4标准答案:C知识点解析:Case语句中含有多个参量,这些参量的含义分别为:①测试表达式:可以是任何表达式,通常采用变量或常量;②语句块1,语句块2,……:每个语句块由一行或多行合法的VisualBasic语句组成;③表达式列表1,表达式列表2,…:称为域值。6、窗体上有1个名称为Command1的命令按钮,事件过程如下:PrivateSubCommand1_Click()DimnumAsInteger,xAsIntegernum=Val(InputBox("请输入一个正整数"))SelectCasenumCaseIs>100x=x+numCaseIs<90x=numCaseElsex=x*numEndSelectPrintx;EndSub运行程序,并在三次单击命令按钮时,分别输入正整数100、90和60,A、000B、0060C、0900D、100060标准答案:B知识点解析:多分支控制结构又称为SelectCase语句或Case语句,可以同时对条件的多个取值来判断。其格式为:SelectCase<测试表达式>[Case<表达式列表1>][语句块1]…[CaseElse][语句块n]EndSelectCase语句以SelectCase开头,以EndSelect结束。其中,表达式列表1,表达式列表2,…称为域值。可采用3种形式:①表达式1[,表达式2]…;②表达式1To表达式2;③Is关系运算表达式。其中,可使用的运算符有等于(=)、不等于(<>)、小于(<)、大于(>)、小于或等于(<=)、大于或等于(>=)。本题中第一次输入100执行CaseElse分支,由于x是默认初值0所以输出0;第二次输入90也执行CaseElse分支,由于x是默认初值0所以输出0;第三次输入60执行第二个分支输出60。7、某人为计算n!(0<n<=12)编写了下面的函数过程:PrivateFunctionfun(nAsInteger)AsLongDimpAsLongp=1Fork=n–1To2Step-1p=p*kNextkfun=pEndFunction在调试时发现该函数过程产生的结果是错误的,程序需要修改。下面的修改方案中有3种是正确的,错误的方案是A、把p=1改为p=nB、把Fork=n-1To2Step-1改为Fork=1Ton-1C、把Fork=n–1To2Step-1改为Fork=1TonD、把Fork=n-1To2Step-1改为Fork=2Ton标准答案:B知识点解析:本题考查的考点是有关循环次数的。本题题干中程序的错误在于,p的值是从1一直乘到n-1的值,也就是n-1的阶乘。选项A可以在这个基础上再乘n就得到n的阶乘;选项C和D都能够保证从1乘到n,只有选项B是错误的。8、在窗体上画一个命令按钮,名称为Command1,然后编写如下代码:OptionBase0PrivateSubCommand1_Click()DimA1(4)AsInteger,A2(4)AsIntegerFork=0To2A1(k+1)=InputBox("请输入一个整数")A2(3-k)=A1(k+1)NextkPrintA2(k)EndSub程序运行后,单击命令按钮,在输入对话框中依次输入2、4、6,则输出结果为A、0B、1C、2D、3标准答案:C知识点解析:本题的关键之处在于抓住每次具体给哪个数组元素进行了赋值,第一环中输入的4被赋给了A1(2)和A2(2),第三次循环中输入的6被赋给了A1(3)和A2(1),跳出循环时k的值为3,所以最后输出2。9、有下面程序代码:PrivateSubCommand1_Click()DimsignAsIntegersign=1a=1:b=2Fork=1To5c=a+sign*ba=b:b=cPrintc;sign=-signNextkEndSub程序运行后,单击命令按钮Command1,输出结果是A、3-12-3-1B、3581321C、-11-2-1-1D、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、设窗体上有一个文本框Text1和一个命令按钮Command1,并有以下事件过程:PrivateSubCommand1_Click()DimsAsString,chAsStrings=""Fork=1ToLen(Text1)ch=Mid(Text1,k,1)s=ch+sNextkText1.Text=sEndSub程序执行时,在文本框中输入“Basic”,然后单击命令按钮,则Text1中显示的是A、BasicB、cisaBC、BASICD、CISAB标准答案:B知识点解析:本题考查的考点是有关循环和取子串函数的。本题比较简单,循环次数就是字符串的长度,每次都在第k位取一个字母,最后倒序连接起来。注意每次郜把ch连接剑s的前面。11、在窗体上画一个名为Command1的命令按钮,然后编写如下代码:OptionBase1PrivateSubCommand1_Click()Dimaa=Array(1,2,3,4):j=1Fori=4To1Step-1s=s+a(i)*j:j=j*10NextiPrintsEndSub运行上面的程序,其输出结果是A、1234B、12C、34D、4321标准答案:A知识点解析:本题考查的考点是有关循环的。本题也很简单,首先取得数绀的最后一个元素加到累加变量中,然后取倒数第二个元素,乘10后加到累加变量中,然后取倒数第三个元素,乘100后加到累加变量中,以此类推,最后结果为1234。12、在窗体上画1个名称为Command1的命令按钮,并编写如下事件过程:PrivateSubCommand1_Click()x=1:s=0Fori=1To5x=x/i:s=s+xNextPrintsEndSub该事件过程的功能是计算A、s=1+2+3+4+5qB、s=1+1/2+1/3+1/4+1/5C、s=1+1/2!+1/3!+1/4!+1/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、编写如下程序:OptionBase1PrivateSubCommand1_Click()Dimaa=Array(1,2,3,4):s=0:j=1Fori=4To1Step-1s=s+a(i)*j:j=j*10NextiPrintsEndSub程序运行后,单击命令按钮Command1,输出结果为A、110B、123C、1234D、4321标准答案:C知识点解析:本题的循环首先取出数组的最后一位累加,然后取出倒数第二位乘以lO以后累加;然后取出倒数第三位乘以100后累加……以此类推,最终结果为1234。14、在窗体上画一个组合框,其名称为Combo1,然后编写如下事件过程:PrivateSubForm_Load()Combo1.Text="1"Fori=1To10Sum=Sum+iNextiCombo1.Text=SumEndSub程序运行后,输出结果为A、在组合框的编辑区中显示1B、在组合框的编辑区中显示不定值C、在组合框的编辑区中显示55D、出错信息标准答案:C知识点解析:组合框的Text属性将会返回或者设置编辑区中的文本,本题中显示的是1~10的累加和55。15、假定有以下循环结构DoUntil条件表达式循环体Loop则以下正确的描述是A、如果“条件表达式”的值是0,则一次循环体也不执行B、如果“条件表达式”的值不为0,则至少执行一次循环体C、不论“条件表达式”的值是否为“真”,至少要执行一次循环体D、如果“条件表达式”的值恒为0,则无限次执行循环体标准答案:D知识点解析:本题考查的考点是有关Do型循环的。对于这种循环结构,首先看条件判断在循环体的前面还是后面,如果是先判断条件,则有可能一次也不执行循环体;如果是后判断条件,则无论条件如何至少执行一次循环体。在Until循环中条件为False时执行循环体,条件为True时退出循环;在While循环中条件为True时执行循环体,条件为False时退出循环,这一点要注意区分清楚。16、编写如下程序:PrivateSubCommand1_Click()DimxAsInteger,yAsIntegerx=1:y=1Doy=x*yIfy>10ThenExitDoElsex=x+3EndIfLoopUntilx<=10Printx;yEndSub程序运行后,单击命令按钮Command1,输出结果为A、11B、41C、42D、728标准答案:B知识点解析:Do型循环结构,首先看条件判断在循环体的前面还是后面,如果是先判断条件,则有可能一次也不执行循环体;如果是后判断条件,则无论条件是什么,至少执行一次循环体。在Umil循环中条件为False时执行循环体,条件为True时退出循环;在While循环中条件为True时执行循环体,条件为False时退出循环。本题中使用的是后判断型循环,第一次循环时y的值为1,不满足y>10,执行Else分支,x变成4,此时由于满足x<=10所以结束循环。17、窗体上有1个名称为Command1的命令按钮,事件过程如下:PrivateSubCommand1_Click()Dimx%,y%,z%x=InputBox("请输入第1个整数"):y=InputBox("请输入第2个整数")DoUntilx=yIfx>yThenx=x-yElsey=y-xEndifLoopPrintxEndSub运行程序,单击命令按钮,并输入2个整数169和39,则在窗体上显示的内容为A、11B、13C、23D、39标准答案:B知识点解析:本题的循环中将两个输入的数x和y互相相减,直到x=y为止,实际上就是辗转相减法求最大公约数的过程。18、下列循环中,可以正常结束的是A、i=10Doi=i+1LoopUntili<1B、i=1Doi=i+1LoopUntili=10C、i=10Doi=i+1LoopWhilei>1D、i=10Doi=i-2LoopUntili=1标准答案:B知识点解析:Do循环语句的功能是:当指定的“循环条件”为真或直到指定的“循环条件”变为真之前重复执行循环体。DoWhile|Until…Loop循环是在条件满足的情况下才执行一次循环体,而Do…LoopWhile|Until循环不管是否满足条件都先执行一次循环体,然后再判断条件是否成立以决定后续操作。本题的A选项由于i的值从10开始递增,永远不会满足i<1而无限循环;C选项由于i的值从10开始递增,永远满足i>1而无限循环;D选项由于i的值从10开始递减,但是因为每次递减2,所以i永远为偶数,不会满足i=1而无限循环。19、假定有如下程序:PrivateSubForm_Click()DimNAsInteger,JAsIntegerN=0J=1DoUntilN>2N=N+1:J=J+N*(N+1)LoopPrintN;JEndSub运行程序,单击窗体,输出结果是A、321B、37C、01D、313标准答案:A知识点解析:Do循环语句的功能是:当指定的“循环条件”为真或直到指定的“循环条件”变为真之前重复执行循环体。Dowhile|Until…Loop循环是在条件满足的情况下才执行一次循环体,而Do…Loopwhile|Until循环不管是否满足条件都先执行一次循环体,然后再判断条件是否成立以决定后续操作。本题的循环共执行3次,跳出循环时N的值为3,J的值为21。20、编写如下程序:DimnumAsInteger,rAsInteger,nAsInteger,iAsInteger,arr(5)AsIntegerPrivateSubCommand1_Click()num=12:r=2Callsub1(num,r,n)Fori=nTo1Step-1Printarr(i);NextiEndSubSubsub1(dAsInteger,rAsInteger,kAsInteger)k=0DoWhiled<>0k=k+1:arr(k)=dModr:d=d\rLoopEndSub程序运行后,单击命令按钮Command1,输出结果为A、1100B、0011C、0101D、1010标准答案:A知识点解析:本题实际上是在子过程sub1中对arr数组进行的赋值工作,形参d的值为12,r的值为2,k的初值为0;在循环中计算d除以2的余数放到数组的第一个元素,整除2后再除以2的余数放到第二个元素……以此类推,最后数组arr中存放的是(0、0、1、1),在Command1_Click()过程中调用完子过程对数组进行赋值以后,逆序输出了数组的值。21、在窗体上画1个命令按钮,并编写如下事件过程:PrivateSubCommand1_Click()Dima(3,3)Form=1To3Forn=1To3Ifn=mOrn=4-mThena(m,n)=m+nElsea(m,n)=0EndIfPrinta(m,n);NextnPrintNextmEndSub运行程序,单击命令按钮,窗体上显示的内容为A、200040006B、204040406C、230340006D、200045056标准答案:B知识点解析:本题通过一个嵌套的For循环为二维数组a的各元素赋值,该二维数组对应矩形的主对角线上的元素(即满足条m=n)和副对角线上的元素(即满足条什m+n=4)其值为m+n,即主对角线上线的元素从左上至右下依次为2、4、6,副对角线上的元素均为4,而其它元素均为0。22、已知在4行3列的全局数组score(4,3)中存放了4个学生3门课程的考试成绩(均为整数)。现需要计算每个学生的总分,某人编写程序如下:OptionBase1PrivateSubCommand1_Click()DimsumAsIntegersum=0Fori=1To4Forj=1To3sum=sum+score(i,j)NextjPrint"第"&i&"个学生的总分是:";sumNextiEndSub运行此程序时发现,除第1个人的总分计算正确外,其他人的总分都是错误的,程序需要修改。以下修改方案中正确的是A、把外层循环语句Fori=1To4改为Fori=1To3内层循环语句Forj=1To3改为Forj=1To4B、把sum=0移到Fori=1To4和Forj=1To3之间C、把sum=sum+score(i,j)改为sum=sum+score(j,i)D、把sum=sum+score(i,j)改为sum=score(i,j)标准答案:B知识点解析:本题考查的考点是有关循环求和和二维数组的。本题要对二维数组的每行进行累加求和,每计算新的一行就应该将累加和变量sum清零,否则上一行的累加计算结果将会在下一行继续累加,造成结果不正确。23、运行如下程序PrivateSubCommand1_Click()Dima(5,5)AsIntegerFori=1To5Forj=1To4a(i,j)=i*2+jIfa(i,j)/7=a(i,j)\7Thenn=n+1EndIfNextjNextPrintnEndSub则n的值是A、2B、3C、4D、5标准答案:B知识点解析:在二重循环中为二维数组赋初值,每个元素的值均为行号*2加上列号;在If语句中进行判断,如果数组元素能被7整除则令计数器n加1,所以整个程序的功能就是统计二维数组中能被7整除的数的个数。24、有如下程序:PrivateSubForm_Click()DimsAsInteger,pAsIntegerp=1Fori=1To4Forj=1Tois=s+jNextjp=p*sNextiPrintpEndSub程序运行后,单击窗体,则输出结果是A、90B、180C、400D、800标准答案:D知识点解析:本题是一个二重循环,而且内循环次数根据外循环保的循环变量而定。内循环完成累加,内循环结束后将累加和乘到p中保存起来。在4次外循环中分别累乘的是1、4、10、20。25、编写如下程序:PrivateSubCommand1_Click()Dima(3,3)AsInteger,sAsIntegerFori=1To3Forj=1To3a(i,j)=i*j+iNextjNextis=0Fori=1To3s=s+a(i,4-i)NextiPrintsEndSub程序运行后,单击命令按钮Command1,输出结果为A、7B、13C、16D、20标准答案:C知识点解析:本题中首先用一个二重循环为二维数组的每一个元素赋值,然后累加二维数组的部分元素,即依次累加a(1,3)、a(2,2)、a(3,1)的值,相当于对角线求和。26、有如下程序:PrivateSubCommand1_Click()DimiAsInteger,jAsInteger,sumAsIntegern=1Doj=1Dosum=sum+j:j=j+1Printj;LoopUntilj>3n=n+2LoopUntiln>10PrintsumEndSub运行上述程序,外层Do循环执行的次数为A、4B、5C、7D、10标准答案:B知识点解析:外循环的控制条件为n>10,即n>10的时候结束循环;在每次内循环中j都会自加,j>3的时候退出内循环,即每次外循环中内循环都会执行3次;由于内循环没有改变n的值,而在外循环中n的值自加2,所以外循环共循环5次。27、窗体上有一个名称为Command1的命令按钮,其单击事件过程如下:PrivateSubCommand1_Click()Fori=3To1Step-1Sum=0Forj=1ToiSum=Sum+i*jNextNextPrintSumEndSub运行程序时,单击命令按钮,则窗体上显示的是A、1B、6C、18D、25标准答案:A知识点解析:本题是一个简单的二重循环,只要注意到i的值逐渐递减,而且在内循环执行之前都会重新将Sum的值设置为0,不难得出只会输出最后一次外循环的Sum值,由于此时i=1,所以内循环只会执行一次,最终输出1作为结果。28、有下面程序代码:PrivateSubCommand1_Click()i=1DoWhilei<5j=1Doj=j+1Print"*";LoopUntili+j>10Printi=i+2LoopEndSub程序运行时输出字符"*"的个数是A、50B、20C、16D、15标准答案:C知识点解析:本题是一个二重循环,最终求星号的个数,实际上就是计算内循环总共执行了多少次。i=1的时候内循环执行9次,i=3的时候内循环执行7次,i=5的时候跳出循环,内循环共执行了16次。国家二级VB机试(控制结构)模拟试卷第3套一、选择题(本题共27题,每题1.0分,共27分。)1、有下面程序代码:PrivateSubCommand1_Click()DimsignAsIntegersign=1a=1:b=2Fork=lTo5c=a+sign*ba=b:b=cPrintc:sign=-signNextkEndSub程序运行后,单击命令按钮Command1,输出结果是A、3-12-3-1B、3581321C、-11-2-1-1D、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。2、编写如下程序:PrivateSubCommand1_Click()Dima(10)AsStrings="123456":n=Len(s)Fork=1Tona(k)=Mid(s,k,1)NextkFori=1Ton\2t=a(i)a(i)=a(n-i+1):a(n-i+1)=tNextiFork=lTonPrinta(k);NextkEndSub程序运行后,单击命令按钮Command1,输出结果为A、654321B、123456C、654123D、123654标准答案:A知识点解析:本题中有三个For循环,但是这三个循环之间没有嵌套关系,而是顺序的关系。在第一个循环中依次取出字符串s中的每一个字符存入数组a:第二个循环中将数组的第一个元素和最后一个元素互换,第二个元素和倒数第二个元素互换……以此类推完成数组的逆序;第三个循环输出数组元素。3、窗体上有1个名称为Command1的命令按钮;1个名称为List1、没有列表项的列表框。编写如下程序:PrivateSubCommand1_Click()DimxAsString,sAsString,tempAsStringDimiAsIntegerx=InputBox("输入字符串","输入")Ifx<>""ThenFori=Len(x)To1Step-1s=Mid(x,i,1)IfS<>""Thentemp=s+tempElseList1.AddItemtemps="":temp=""EndIfNextList1.AddItemtempElseMsgBox"输入内容为空!"EndIfEndSub程序运行后,单击命令按钮Command1,并输入“Happynewyear”,则在List1中显示的内容为A、yearnewHappyB、HappynewyearC、raeywenyppaHD、yppaHwenraey标准答案:A知识点解析:本题的循环中倒序从字符串s中依次取出每一个字符,只要该字符不是空格就将其连接到temp的前面,见到空格就把连接好的temp加入到列表框中,即先加入year,然后是new,最后是Happy。4、设窗体上有一个文本框Text1和一个命令按钮Command1,并有以下事件过程:PrivateSubCommand1_Click()DimsAsString,chAsStrings=""Fork=1ToLen(Text1)ch=Mid(Text1,k,1)s=ch+sNextkText1.Text=sEndSub程序执行时,在文本框中输入“Basic”,然后单击命令按钮,则Text1中显示的是A、BasicB、cis.aBC、BASICD、CISAB标准答案:B知识点解析:本题考查的考点是有关循环和取子串函数的。本题比较简单,循环次数就是字符串的长度,每次都在第k位取一个字母,最后倒序连接起来。注意每次都把ch连接到s的前面。5、某人编写了如下程序,用来求10个整数(整数从键盘输入)中的最大值:PrivateSubCommand1_Click()Dima(10)AsInteger,maxAsIntegerFork=1To10a(k)=InputBox("输入一个整数")Nextkmax=0Fork=1To10Ifa(k)>maxThenmax=a(k)EndIfNextkPrintmaxEndSub运行程序时发现,当输入10个正数时,可以得到正确结果,但输入10个负数时结果是错误的,程序需要修改。下面的修改中可以得到正确运行结果的是A、把Ifa(k)>maxThen改为Ifa(k)B、把max=a(k)改为a(k)=maxC、把第2个循环语句Fork=1To10改为Fork=2To10D、把max=0改为max=a(10)标准答案:D知识点解析:本题考查的考点是有关循环和数组的。本题为了实现求取最大值,首先应该假设数组中的某一个数就是最大值,再依次与数组元素比较,一旦某个元素比当前的最大值大,就把

温馨提示

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

最新文档

评论

0/150

提交评论