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

下载本文档

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

文档简介

国家二级VB机试(数据类型及运算)模拟试卷3(共9套)(共242题)国家二级VB机试(数据类型及运算)模拟试卷第1套一、选择题(本题共28题,每题1.0分,共28分。)1、为把圆周率的近似值3.14159存放在变量pi中,应该把变量pi定义为A、DimpiAsIntegerB、Dimpi(7)AsIntegerC、DimpiAsSingleD、DimpiAsLong标准答案:C知识点解析:本题考查的考点是有关VB中的数据类型的。VB提供了很多种数据类型,其中能接受小数值的有单精度型Single和双精度型Double。2、有如下语句序列:Dima,bAsIntegerPrintaPrintb执行以上语句序列,下列叙述中错误的是A、输出的a值是0B、输出的b值是0C、a是变体类型变量D、b是整型变量标准答案:A知识点解析:在visualBaLsic中用户既可以显式声明一个变量,也可以不声明而直接使用变量,显式声明变量时每个变量都应使用As子句声明类型,否则该变量将被视为变体类型。本题中a是变体类型变量,默认初值为False:b是整型变量,默认初值为0。3、似定有如下的程序段:DimintVarAsIntegerintvar=TruePrintintVar则输出结果是A、0B、-1C、TrueD、False标准答案:B知识点解析:VB中的逻辑值True和False在参与关系运算时会自动进行类型转换,其中True转换为-1,False转换为0。4、双精度浮点数的类型说明符为A、%B、#C、&D、*标准答案:B知识点解析:在visualBasic中规定一个变量的数据类型可以用类型说明符来标识,如%表示整型、$表示字符串型、!表示单精度浮点型、#表示双精度浮点型、&表示长整型。5、设窗体文件中有下面的事件过程:PrivateSubCommand1Click()Dimsa%=100PrintaEndSub其中变量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)变量:全局变量也称为全程变量,在标准模块的声明部分声明。全局变量的作用域最大,可以在工程的每个模块、每个过程中使用。8、以下不合法的VB变量名是A、filenameB、readC、_yD、e5标准答案:C知识点解析:变量是用一个名称来表示的,给变量命名时应遵循规则:名称只能由字母、数字和下划线组成:名称的第一个字符必须是英文字母,最后一个字符可以是类型说明符;名称的有效字符为255个;不能用VB的保留字作变量名,但变量名中可以包含保留字,如ConstA:变量名也不能是末尾带有类型说明符的保留字,如Dim!是不合法的变量名;不区分字母的大小写。9、下面变量定义中错误的是A、PublicmodAsIntegerB、StaticbufC、DimchAsString*10D、Dima!(-5To-1)标准答案:A知识点解析:定义变量时需要使用As类型或者类型说明符来指明变量的数据类型,如果不指明则为隐式声明,该变量为变体型;mod是关键字表示求余运算,根据标识符命名规则不能作为变最名。10、下列说法中,错误的是A、变量名长度不能超过127个字符B、变量名的第一个字符必须是字母C、变量名不能使用保留字D、变量名只能由字母、数字和下划线组成标准答案:A知识点解析:变量是用一个名称来表示的,给变量命名时应遵循规则:名称只能由字母、数字和下划线组成;名称的第一个字符必须是英文字母,最后一个字符可以是类型说明符:名称的有效字符为255个;不能用VB的保留字作变量名,但变量名中可以包含保留字,如ConstA;变量名也不能是末尾带有类型说明符的保留字,如Dim!是不合法的变量名:不区分字母的大小写。11、窗体上有一个Text1文本框,一个Command1命令按钮,并有以下程序:PrivateSubCommand1_click()DimnIfText1.Text<>"123456"Thenn=n+1:Print"口令输入错误"&n&"次"EndIfEndSub希望程序运行时得到左图所示的效果,即:输入口令,单击“确认口令”命令按钮,若输入的口令不是“123456”,则在窗体上显示输入错误口令的次数。但上而的程序实际显示的是右图所示的效果,程序需要修改。下面修改方案中正确的是A、在Dimn语句的下面添加一句:n=0B、把Print"口令输入错误"&n&"次"改为Print"口令输入错误"+n+"次"C、把Print"口令输入错误"&n&"次"改为Print"口令输入错误"&Str(n)&"次"D、把Dimn改为Staticn标准答案:D知识点解析:本题中题干部分的程序之所以会产生不合要求的结果,其原因是在单击事件中的第一条语句为Dimn,这样的话每次单击按钮时触发此事件,都将会执行这条语句,重新定义一个局部变量n并设其默认初值为0。Static语句在过程级别中使用,用于声明变量并分配存储空间。在整个代码运行期间都能保留使用Static语句声明的变量的值,因此此处应该使用Staticn来声明变量。12、在窗体上画一个命令按钮,然后编写如下程序:Subinc(aAsInteger)PrivateSubCommand1_Click()StaticxAsIntegerinc2:inc3:inc4x=x+aPrintx;EndSubEndSub程序运行后,第一次单击命令按钮时的输出结果为A、234B、259C、111418D、4916标准答案:B知识点解析:Static语句在过程级别中使用,用于声明变量并分配存储空间,在整个代码运行期间都能保留使用static语句声明的变量的值。本题的inc过程中的x是一个静态变量,在三次调用过程中变量的值会保留,分别为2、2+3、5+4。13、执行以下程序段a$="VisualBasicProgramming":b$="C++"c$=UCase(Left$(a$,7))&b$&RightS(aS,12)变量c$的值为A、VisualBASICProgrammingB、VISUALC++ProgrammingC、VisualC++ProgrammingD、VISUALBASICProgramming标准答案:B知识点解析:本题考查的考点是有关取子串函数的。在VB中有3种取子串函数:Left函数用于在字符串_左端开始取n个字符:Right函数用于在字符串右端开始取n个字符(注意子串中字符的顺序与母串中相同);Mid函数可以实现在任何位置取任何长度的予串,其中长度省略的话将会一直取到串尾。UCaLse函数用于把字符串转换成大写表示。14、要计算x的平方根并放入变量y,正确的语句是A、y=Exp(x)B、y=Sgn(x)C、y=Int(x)D、y=Sqr(x)标准答案:D知识点解析:Exp函数是求指数函数:Sgn函数是求符号函数;Int函数是取整函数,平方根函数(Sqr)可以返回N的算术平方根,N必须大于或等于0。15、语句:PrintAsc(Chr$(Mid$("98765432",4,2)))的输出是A、65B、AC、8765D、W标准答案:A知识点解析:Mid函数可以实现在任何位置取任何长度的子串,其中长度省略的话将会一直取到串尾,本题中是从第4位取长度为2的子串即“65”。Chr函数可以将ASCII码转成对戍的字符,ASC函数将字符转换成对应的ASCII码。16、设有如下通用过程:PublicFunctionFun(xStrAsString)AsStringDimtStrAsString.strLAsIntegertStr=""strL=Len(xStr)i=1DoWhilei<=strL/2tStr=tStr&Mid(xStr,i,1)&Mid(xStr,strL-i+1,1)i=i+1LoopFun=tStrEndFunction在窗体上画一个名称为Command1的命令按钮。然后编写如下的事件过程:PrivateSubCommand1_Click()DimS1AsStringS1="abcdef":PrintUCase(Fun(S1))EndSub程序运行后,单击命令按钮,输出结果是A、ABCDEFB、abcdefC、AFBECDD、DEFABC标准答案:C知识点解析:本题通用过程的功能是:从字符串变量xStr值的左右两端同时开始,由外向里每次取出两个字符(左右各一个),组成一个新的字符串。本题程序运行后,当调用通用过程函数Fun后,返回值应为“afbecd”,转换为大写后在文本框中的显示结果为“AFBECD”。17、窗体上有一个名称为Text1的文本框,一个名称为Command1的命令按钮。窗体文件的程序如下:PrivateTypexPrivateSubCommand1_Click()aAsInteger:bAsIntegerDimyAsxEndTypey.a=InputBox("")Ify.a\2=y.a/2Theny.b=y.a*y.aElsey.b=Fix(y.a/2)EndIfText1.Text=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>0ThenPrintMid(num,P+1)ElsePrint"END"EndIfEndSub运行程序单击窗体,根据提示输入一个数值。如果不是输入实数,则输出“END”;否则A、用字符方式输出该实数B、输出该实数的整数部分C、输出该实数的小数部分D、去掉实数中小数点,保留所有数码输出标准答案:C知识点解析:字符串匹配函数Instr用于查找第二个参数在第一个参数中第一次出现的位置,若未找到返回0;Mid(字符串,起始位置[,个数])函数用于从已有字符串中取出从指定位置开始的含指定个数字符的字符串,若不指定个数将返回字符串中从参数“起始位置”到字符串尾端的所有字符。本题实际就是先找到小数点的位置,然后输出小数点后面的部分,即小数部分。19、窗体上有一个名称为Commandl的命令按钮,单击该按钮时所实现的功能是产生10个随机整数,然后从键盘输入一个整数,查找该数在数组中的位置。若找到,输出该数的位置;若没有找到,给出相应的提示。该命令按钮的单击事件过程如下:PrivateSubCommand1_Click()Dima(10)AsInteger,xAsIntegerFori=1To10a(i)=Int(Rnd9100)Nextx=InputBox("输入100以内的整数:"):p=0Fori=1To10Ifa(i)=XxThenp=i:ExitForEndIfNextIfp=0ThenPrint"没有找剑与输入数据相同的数!"ElsePrintStr(x)+"在数组中的位置是"+Str(p)EndIfEndSub对于上述事件过程,以下叙述中正确的是A、本程序实际产生的随机数是0-99B、若产生的随机数中有相同数,则p是其中最后一个数的位置C、程序有错,p的初值设置不对D、程序有错,InputBox函数产生的数据与x的类型不匹配标准答案:A知识点解析:随机数函数Rnd的功能是用于产生一个小于但大于或等于0的随机数。为了生成某个指定范围内的随机整数,可使用以下公式:Int((upporbound-lowerbound+1)*Rhd+lowerbound),其中upperbound是随机整数范围的上限,lowerbound是随机整数范围的下限。本题中upperbound为99,lowerbound为0。20、窗体上有1个名称为Command1的命令按钮,事件过程如下:PrivateSubCommand1_Click()m=-3.6IfSgn(m)Thenn=Int(m)Elsen=Abs(m)EndIfPrintnEndSub运行程序,并单击命令按钮,窗体上显示的内容为A、-4B、-3C、3D、3.6标准答案:A知识点解析:Int函数的作用是去返回不大于参数的最大整数,例如Int(4.6)=4,Int(-4.6)=-5:VB中的逻辑值True和False和整型值之间会自动进行类型转换,其中-1转换为True,0转换为False。小题中由于m为负数,所以sgn(m)的值为-1,即条件为真,会返回不大于m的最大整数值即-4。21、以下程序的功能是随机产生10个两位的整数:OptionBase1PrivateSubCommand1_Click()Dima(10)AsInteger,iAsIntegerRandomizeFori=1To10a(i)=Int(Rnd*100)+1Printa(i)NextiEndSub运行以上程序,发现有错误,需要对产生随机数的语句进行修改。以下正确的修改是A、a(i)=Int(Rnd*100)B、a(i)=Int(Rnd*90)+10C、a(i)=Int(Rnd*100)+10D、a(i)=Int(Rnd*101)标准答案:B知识点解析:随机数函数Rnd的功能是用于产生一个小于1但大于或等于0的随机数。为了生成某个指定范围内的随机整数,可使用以下公式:Int((upperbound-lowerbound+1)*Rnd+lowerbound),其中upperbound是随机整数范围的上限,lowerbound,随机整数范围的下限。小题中upperbound为99,lowerbound为10。22、设a=4,b=5,c=6,执行语句Printa<bAndb<c窗体上显示的是A、TrueB、FalseC、出错信息D、0标准答案:A知识点解析:木题考查的考点是有关逻辑运算和关系运算的。逻辑运算就是两个逻辑型的量进行运算,逻辑运算,逻辑运算符的优先级低于戈系运算符,故本题先计算And两端的表达式结果,这两个表达式的结果都为True,所以二者相与的结果也为True。23、设a=2,b=3,c=4,d=5,下列表达式的值是a>bAndc<=dOr2*a>cA、TrueB、FalseC、-1D、1标准答案:B知识点解析:一个表达式可能含有多种运算,计算机按一定的顺序对表达式求值,一般顺序如下:首先进行函数运算;接着进行算术运算,其次序为:幂(^)→取负(-)→乘浮点除(*、/)→整除(\)→取模(Mod)→加、减(+、-)→连接(&);然后进行关系运算(=、>、<、<>、<=、>=):最历进行逻辑运算,顺序为:Not→And→Or→Xor→EqV→Imp。24、已知a=6,b=15,c=23,则语句PrintSgn(a+bMod6-c\a)&a+b的输出结果为A、6B、16C、31D、121标准答案:D知识点解析:算术表达式的运算次序为:幂(^)→取负(-)→乘、浮点除(*、/1)→整除(\)→取模(Mod)→加、减(+、-)→连接(&),Sgn函数会返回参数的符号。本题中Sgn(a+bMod6-c\a)函数的参数经计算为正数,故此函数返回值为1:&运算是字符串连接运算,其优先级低于算术运算,所以会先计算a+b=21,然后将1和21自动转换为字符串然后连接起来。25、表达式12/2\4的值是A、1.5B、2C、4D、1标准答案:D知识点解析:算术表达式的运算次序为:幂(^)→取负(-)→乘、浮点除(*、/)→整除(\)→取模(Mod)→加、减(+、-)→连接(&),所以本题将会先计算12/2得到6,然后计算6\4=1。26、设A、B、C是三角形的3条边,则以下表示“任意两边之和大于第三边”的布尔表达式是A、A+B>COrA+C>BOrB+C>AB、A+B<COrA+C<BOrB+C<AC、No(A+B<=COrA+C<=BOrB+C<=A)D、A+B>=CAndA+C>=BAndB+C>=A标准答案:C知识点解析:表示任意两边之和大于第三边的标准表达式为A+B>CAndA+C>BAndB|C>A,三个表达式之间是And的关系。在选项中并未出现这个答案,但是C选项表达的意思是“没有任意两条边的和小于等于第三条边”,这和题意也是相符的。27、能正确表述“x为大于等于5并且小于20的数”的VisualBasic表达式是A、x>=5Andx<20B、x>=5Orx<20C、5<=x<20D、5<=x<=20标准答案:A知识点解析:逻辑运算也称布尔运算。用逻辑运算符连接的两个或多个关系式,组成一个布尔表达式。本题要表达的是两个表达式必须同时为真,故此使用And运算符。28、以下叙述中错误的是A、续行符与它前面的字符之间至少要有一个空格B、VisualBasic中使用的续行符为下划线(__)C、以撇号(’)开头的注释语句可以放在续行符的后面D、VisualBasic可以自动对输入的内容进行语法检查标准答案:C知识点解析:VisualBasic中的语句是执行具体操作的指令,通常一行输入一条语句。也可把多条语句放在一行,各语句间用冒号(:)隔开。还可通过续行符(续行符由一个空格加一个下划线组成“__”)将一条语句分别放在多行,续行符和前面的字符之间至少要有一个空格以免被认为是一个单词。续行符的后面不可以放以撇号(’)开头的注释语句:VisualBasic可以自动对输入的内容进行语法检查,有语法错误会给出提示。国家二级VB机试(数据类型及运算)模拟试卷第2套一、选择题(本题共35题,每题1.0分,共35分。)1、以下合法的VB变量名是A、aB、yPrintC、a-bD、Type标准答案:B知识点解析:变量是用一个名称来表示的,给变量命名时应遵循规则:名称只能由字母、数字和下划线组成;名称的第一个字符必须是英文字母,最后一个字符可以是类型说明符;名称的有效字符为255个;不能用,VB的保留字作变量名,但变量名中可以包含保留字,如ConstA,变量名也不能是末尾带有类型说明符的保留字,如Dim!起不合法的变量名;不区分字母的大小写。2、设在一个工程的窗体中有如下代码:PublicxAsIntegerPrivateSubForm_Load()DimYAsIntegerEndSub在该工程的标准模块的声明部分有代码:PublicaAsInteger:PrivatebAsInteger关于上述代码,以下叙述中错误的是A、变量X的作用域是整个工程B、变量Y的作用域是Form_Load过程C、变量a的作用域是整个工程D、变量b的作用域是整个标准模块标准答案:A知识点解析:根据变量的定义位置和定义关键字的不同,变量可以分为局部(Local)变量、模块(Module)变量和全局(Public)变量3种类型:3、以下不合法的VB变量名是A、filenameB、readC、_yD、e5标准答案:C知识点解析:变量是用一个名称来表示的,给变量命名时应遵循规则:名称只能由字母、数字和下划线组成;名称的第一个字符必须是英文字母,最后一个字符可以是类型说明符;名称的有效字符为255个;不能用VR的保留字作变量名,但变量名中可以包含保留字,如ConstA;变量名也不能是末尾带有类型说明符的保留字,如Dim!是不合法的变量名;不区分字母的大小写。4、以下关于变量作用域的叙述中,错误的是A、在标准模块声明部分用Public声明的变量的作用域为整个工程文件B、在标准模块声明部分用Private声明的变量的作用域为该标准模块C、在窗体的声明部分不能用Private声明变量D、在过程中不能使用Public声明变量标准答案:C知识点解析:根据变量的定义位置和定义关键字的不同,变量可以分为局部(Local)变量、模块(Module)变量和全局(Public)变量3种类型:5、下列符号常量的声明中不合法的是A、ConstaAsSingle=3.5B、ConstaAsDouble=5+8C、ConstaAsInteger="25"D、Consta="OK"标准答案:C知识点解析:声明特号常量用来代替数值或字符串。一般格式为:Const常量名。表达式[,常量名=表达式]…,其中要求表达式的类型和常量的类型是相同或者相容的。“25”是一个字符串常量,无法赋值给整型符号常量a。6、在窗体模块的声明部分声明变量时,不能使用的关键字是A、DimB、PublicC、PrivateD、Static标准答案:D知识点解析:根据变量的定义位置和定义关键字的不同,变量可以分为局部(Local)变量、模块(Module)变量和全局(Public)变量3种类型:7、下面变量定义中错误的是A、PublicmodAsIntegerB、StaticbufC、DimchAsString*10D、Dima!(-5To-1)标准答案:A知识点解析:定义变量时需要使用As类型或者类型说明符来指明变量的数据类型,如果不指明则为隐式声明,该变量为变体型:mod是关键字表示求余运算,根据标识符命名规则不能作为变量名。8、如果要定义一个窗体级变量,定义变量语句的位置应该是A、在使用该变量的过程中B、在该窗体模块所有过程的前面C、在该窗体模块所有过程的后面D、在某个标准模块中标准答案:B知识点解析:根据变量的定义位置和定义关键字的不同,变量可以分为局部(Local)变量、模块(Module)变量和全局(Public)变量3种类型:9、下列说法中,错误的是A、变量名长度不能超过255个字符B、变量名的第一个字符可以是字母或数字C、变量名只能由字母、数字和下划线组成D、变量名不能使用保留字标准答案:B知识点解析:变量是用一个名称来表示的,给变量命名时应遵循规则:名称只能由字母、数字和下划线组成;名称的第一个字符必须是英文字母,最后一个字符可以是类型说明符;名称的有效字符为255个:不能用VB的保留字作变量名,但变量名中可以包含保留字,如ConstA:变量名也不能是末尾带有类型说明符的保留字,如Dim!是不合法的变量名;不区分字母的大小写。10、在标准模块中,将a定义为全局整型变量的语句是A、StaticaAsIntegerB、DimaAsIntegerC、PrivateaAsIntegerD、PublicaAsInteger标准答案:D知识点解析:根据变量的定义位置和定义关键字的不同,变量可以分为局部(Local)变量、模块(Module)变量和全局(Public)变量3种类型:11、下列说法中,错误的是A、变量名长度不能超过127个字符B、变量名的第一个字符必须是字母C、变量名不能使用保留字D、变量名只能由字母、数字和下划线组成标准答案:A知识点解析:变量是用一个名称来表示的。12、下面能够将某个变量声明为局部变量的是A、在窗体模块的声明部分,用关键字Static声明这个变量B、在窗体模块的声明部分,用关键字Dim声明这个变量C、在需要使用这个变量的过程中,用关键字Private声明这个变量D、在需要使用这个变量的过程中,用关键字Public声明这个变量标准答案:C知识点解析:根据变量的定义位置和定义关键字的不同,变量可以分为局部(Local)变量、模块(Module)变量和全局(Public)变量3种类型:13、有如下过程代码:Subvardim()StaticnumaAsIntegerDimnumbAsIntegernuma=numa+2:numb=numb+1:printnuma;numbEndSub连续3次调用var_dim过程,第3次调用时的输出是A、21B、23C、61D、63标准答案:C知识点解析:Static语句在过程级别中使用,用于声明变量并分配存储空间,在整个代码运行期间都能保留使用Static语句声明的变量的值。本题中,当第1次调用过程时,静态变量numa的初值为0、普通变量numb的初值为0,执行循环语句后,静态变量numa的值应为2、普通变量numb的值为1;当第2次调用过程时,静态变量n啪a的初值为2、普通变量numb的初值为0,执行循环语句后,静态变量numa的值应为4、普通变量numb的值为1:当第3次调用过程时,静态变量numa的初值为4、普通变量numb的初值为0,执行循环语句后,静态变量numa的值应为6、普通变量numb的值为1。14、标准模块中有如下程序代码:PublicxAsInteger,YAsIntegerSubvar_pub()x=10:y=20EndSub在窗体上有1个命令按钮,并有如下事件过程:PrivateSubCommandl_Click()DimxAsIntegerCallvar_pubx=x+100:y=y+100:Printx;yEndSub运行程序后单击命令按钮,窗体上显示的是A、100100B、100120C、110100D、110120标准答案:B知识点解析:在标准模块用Public关键字声明的全局变量,其作用域最大,可以在工程的每个模块、每个过程中使用。但当不同作用范围的变量重名时,有效范围小的变量会屏蔽有效范围大的变量。当一个全局变量与一个过程级变量重名时,当在本过程中直接使用这个变量名时,被认为是指局部变量。如果要在这个过程中使用同名的全局变量,要使用模块名来修饰变量名。在本题的事件过程中,由于变量x被声明为过程级变量,其初始值为0,调用过程varpub不会改变其值,而变量y为标准模块中声明的全局变量,调用过程vat_pub后其值为20。故最后输出结果为100和120。15、窗体上有一个Text1文本框,一个Commandl命令按钮,并有以下程序:PrivateSubCommandl_click()DimnIfText1.Text<>"123456"Thenn=n+1:Print"口令输入错误"&n&"次"EndIfEndSub希望程序运行时得到左图所示的效果,即:输入口令,单击“确认口令”命令按钮,若输入的口令不是“123456”,则在窗体上显示输入错误口令的次数。但上而的程序实际显示的是右图所示的效果,程序需要修改。下面修改方案中正确的是A、在Dimn语句的下面添加一句:n=0B、把Print"口令输入错误"&n&"次"改为Print"口令输入错误"+n+"次"C、把Print"口令输入错误"&n&"次"改为Print"口令输入错误"&Str(n)&"次"D、把Dimn改为Staticn标准答案:D知识点解析:本题中题干部分的程序之所以会产生不合要求的结果,其原因是在单击事件中的第一条语句为Dimn,这样的话每次单击按钮时触发此事件,都将会执行这条语句,重新定义一个局部变量n并设其默认初值为0。Static语句在过程级别中使用,用于声明变量并分配存储空间,在整个代码运行期间都能保留使用Static语句声明的变量的值,因此此处应该使用Staticn来声明变量。16、工程文件中包含一个模块文件和一个窗体文件。模块文件的程序代码是:PublicxAsIntegerPrivateYAsInteger窗体文件的程序代码是:DimaAsIntegerPrivateSubCommandl_Click()PrivateSubForm_Load()a=a+5:b=b+5:x=x+5:y=y+5DimbAsIntegerPrinta;b;x;ya=2:b=3::x=10:Y=20EndSubEndSub运行程序,单击窗体上的命令按钮,则在窗体上显示的是A、55155B、751525C、78155D、75155标准答案:D知识点解析:本题中在模块文件中声明的x是全局变量,y是模块变量;在窗体中声明的a是模块级变量;在窗体的Load事件中声明了局部变量b,而且隐式声明了局部变量y;在按钮的Click事件中使用到的a是模块级变量,其值为2;b是隐式声明的局部变量,其初值为0;x是全局变量,其值为10;y也是隐式声明的局部变量,其初值为5。17、编写如下程序:PrivateSubCommandl_Click()Functionproc(iAsInteger)DimmAsInteger,nAsIntegerDimaAsInteger,StaticbAsIntegern=2a=a+1:b=b+1Form=1T03proc=a*b+iPrintproc(n);EndFunctionNextmEndSub程序运行后,单击命令按钮Commandl,输出结果为A、333B、345C、356D、123标准答案:B知识点解析:使用Dim关键字定义的是动态局部变量,过程执行结束后即被释放;使用Static关键字定义的是静态局部变量,过程执行结束后仍然保留。本题中函数proc中的局部变量a是动态变量,b是静态变量。即每次函数调用后b的值会保留。先后三次调用proc(n)方法,依次输出3、4、5。18、窗体上有名称为Commandl的命令按钮,名称分别为Labell、Labe12、Labe13的标签。编写如下程序:PrivatexAsIntegerPrivateSubCommandl_Click()StaticyAsIntegerDimzAsIntegern=5:z=z+n:y=y+n:x=x+yLabell=x:Labe12=y:Labe13=zEndSub运行程序,连续3次单击命令按钮后,3个标签中分别显示的是A、555B、15105C、151515D、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。19、在窗体上画一个命令按钮,然后编写如下程序:Subinc(aAsInteger)PrivateSubCommandl_Click()StaticxAsIntegerinc2:inc3:inc4x=x+aPrintx;EndSubEndSub程序运行后,第一次单击命令按钮时的输出结果为A、234B、259C、111418D、4916标准答案:B知识点解析:Static语句在过程级别中使用,用于声明变量并分配存储空间,在整个代码运行期间都能保留使用Static语句声明的变量的值。本题的inc过程中的x是一个静态变量,在三次调用过程中变量的值会保留,分别为2、2+3、5+4。20、设窗体上有一个Commandl命令按钮,还有以下程序代码:PrivateSubCommandl_Click()PrivateSubproc(aAsInteger)StaticxAsIntegerStaticxAsIntegerx=x+1x=x+a:a=xCallproc(x)EndSubPrintxEndSub程序运行后,3次单击命令按钮,则产生的输出是A、123B、135C、137D、246标准答案:C知识点解析:本题中在Commandl_Click过程中和Sub过程proc中分别定义了一个静态变量x,这两个x都是局部变量,隶属于不同的局部,互不干涉;当单击命令按钮时,单击事件中的x加1,然后调用proc过程:由于proc的形参a采用地址传递,因此对a的改变会影响实参x。三次单击按钮分别使得两个过程中的x分别变化,都会保留上一次过程结束时的值。21、编写如下程序:PrivateSubCommandl_Click()DimnAsInteger:StaticsAsIntegerForn=1To3s=s+nNextPrintsEndSub程序运行后,第三次单击命令按钮Commandl时,输出结果为A、3B、6C、9D、18标准答案:D知识点解析:Static语句在过程级别中使用,用于声明变量并分配存储空间,在整个代码运行期间都能保留使用Static语句声明的变量的值。在本题中连续3次单击命令按钮,第一次单击时输出的s=1+2+3=6。第二次单击时输出的s=6+1+2+3=12,第三次单击时输出的s=12++2+3=18。22、窗口上画一个名称为Commandl的命令按钮,然后编写如下事件过程:PrivateSubCommmand1_Click()x=InputBox("Input")SelectCasexCase1,3Print"分支1"CaseIs>4Print"分支2"CaseElsePrint"Else分支"EndSelectEndSub程序运行后,如果在输入对话框中输入2,则窗体上显示的是A、分支1B、分支2C、Else分支D、程序出错标准答案:C知识点解析:本题考查switch结构。在Commandl的Click事件响应代码里面,通过InputBox输入数据给变量x,然后switch根据x的值输出不同的信息。在输入对话框中输入2,那么x的值为2,在switch的多个Case中CaseElse条件符合,因此输出的是“Else分支”。23、以下关于MsgBox的叙述中,错误的是A、MsgBox函数返回一个整数B、通过MsgBox函数可以设置信息框中图标和按钮的类型C、MsgBox语句没有返回值D、MsgBox函数的第二个参数是一个整数,该参数只能确定对话框中显示的按钮数量标准答案:D知识点解析:本题考查MsgBox函数的使用,语法是:MsgBox(Prompt[,Buttons][,Title][,Helpfile,Context])参数含义如下:①Prompt:必需的,字符串表达式,作为显示在对话框中的消息。②Buttons:可选的,数值表达式是指的总和,指定显示按钮的数目及形式,使用的图标样式,缺省按钮是什么以及消息框的强制回应等,缺省值为0。③Title:可选的,在对话框标题栏中显示的字符串表达式,缺省将应用程序名放在标题栏中。④Helpfile:可选的,字符串表达式,识别用来向对话框提供上下文相关帮助的帮助文件。如果提供了Helpfile,则也必须提供Context。⑤Context;可选的,数值表达式,由帮助文件的作者指定给适当的帮助主题的帮助上下文编号。如果提供了Context,则也必须提供Helpfile。选项A)、B)和C)都是正确的,选项D)错误,MsgBox的第二个参数决定对话框中显示的按钮数量和形式。24、在窗体上画一个名称为Commandl的命令按钮,然后编写如下事件过程:PrivateSubCommmand1_Click()StaticxAsIntegerClsForI=1To2y=y+x:x=x+2NextPrintx,yEndSub程序运行后,连续三次单击Commandl按钮后,窗体上显示的是A、42B、1218C、1230D、46标准答案:B知识点解析:本题考查Static变量,Static变量在函数退出之后其值依然存在,下次执行函数的时候还保存上次的值。在本题中,x是Static变量,第一次点击命令按钮的时候,x的初值为0,进入For循环,循环两次,y和x的值变化过程分别为:0和2、2和4;第二次点击命令按钮,y是临莳变量的初值为0,x由于是Static变量,其值是上次值为4,因此For循环中,y和x的值变化过程为:4和6、10和8;第三次点击命令按钮,x的值为10,因此y和x在For循环中的变化过程为:8和10、18和12,因此答案选B)。25、在窗体上画一个名称为Commandl的命令按钮,然后编写如下事件过程:PrivateSubCommandl_Click()A$="VisualBasic"PrintString(3,a$)EndSub程序运行后,单击命令按钮,在窗体上显示的内容是A、VVVB、VisC、sicD、11标准答案:A知识点解析:本题考查VB常用内部函数。String函数的语法是:String(number,character)作用是产生字符串,其中character是需要生成的字符,number是生成的个数,比如string(3,"ht")就会生成含义3个“h”的字符串。本题中调用String函数,number参数为3,character参数是A$变量的首字母,因此返回值为:VVV。26、执行如下两条语句后,窗体上显示的是a=9.8596PrintFormat(a,"$00,00,00")A、0,009.86B、$9.86C、9.86D、$0,009.86标准答案:D知识点解析:此题考察Format函数,该函数的格式为:Format(expression[,format])其中expression参数指定要转换的数值,format参数是字符串,$表示Currency格式,显示带千分符且小数点右面保存两位,因此应选选项D。27、设一个工程由两个窗体组成,其名称分别为Fornm1和Fornm2,在Fomm1上有一个名称为Commandl的命令按钮。窗体Fornm1的程序代码如下:PrivateSubCommandl_Click()PrivateSubg(fAsForum,xAsInteger)Dima=10y=IIf(x>10,100,-100)Callg(Fomm2,a)f.ShowEndSubf.Caption=yEndSub运行以上程序,正确的结果是A、Fomm1的Caption属性值为100B、Fornrn2的Caption属性值为-100C、Fornm1的Caption属性值为-100D、Fornm2的Caption属性值为100标准答案:B知识点解析:本题考查常用函数和窗体属性设置。在Commandl命令按钮的Click事件代码里面,定义变量a,初始化为10,然后调用g函数,参数为Fomm2和a;在g函数中,首先判断输入的参数x是否大于10,显然调用g函数时传入的a为10,因此在g函数中y的值为-100,然后设置窗体f变量(Fomm2)的Caption属性为y,即设置Fomm2的Caption属性为-100。28、在窗体上画一个名称为Commandl的命令按钮,并编写如下程序:PrivateSubCommandl_Click()PrivateSubf1(ByRefx1AsInteger,DimxAsIntegery1AsInteger)x=10:y=5x1=x1+2:y1=y1+2Callf1(x,y)EndSubPrintx,yEndsub程序运行后,单击命令按钮,在窗体上显示的内容是A、105B、122C、107D、127标准答案:D知识点解析:本题考查函数参数传递。在Commandl的Click事件代码里面,定义了变量x和y,值分别为10和5,然后调用f1过程;f1过程有两个参数,其中第一个参数是ByRef表明是按地址传递参数的,第二个参数是没有指明ayVal类型,因此默认页是ByRef地址传递参数,在f1过程中多参数做的修改,同样会修改实参;在f1过程中,分别对两个参数加2,因此在Commandl的Click代码里面,调用fl过程后,x和y的值增加2,变成12和7。29、在窗体上画一个名称为File1的文件列表框,并编写如下程序:PrivateSubFile1_Db1Click()x=Shell(File1.FileName,1)EndSub以下关于该程序的叙述中,错误的是A、x没有实际作用,因此可以将该语句写成CallShell(File1.FileName1、)B、双击文件列表框中的文件,将触发该事件过程C、要执行的文件的名字通过File1.FileName指定D、File1中显示的是的当前驱动器、当前目录下的文件标准答案:A知识点解析:本题考查常用内部函数,Shell函数的功能是执行一个可执行文件,返回一个Variant(Double),如果成功的话,代表这个程序的任务ID,若不成功,则会返回0,选项A)错误,x获取Shell函数返回值;选项B)、C)和D)均正确。30、在窗体上画一个名称为Commandl的命令按钮,然后编写如下程序:OptionBase1PrivateSubCommandl_Click()DimaAsVarianta=Array(1,2,3,4,5)Sum=0Fori=1TO5Sum=Sum+a(i)Nextix=Sum/5Fori=1To5Ifa(i)>xthenPrinta(i)NetiEndSub程序运行后,单击命令按钮,在窗体上显示的内容是A、12B、123C、345D、45标准答案:D知识点解析:本题考查数组和循环。在Commandl的Click事件代码里面,定义了数组a,并通过Array函数给数组赋初值。接下来通过For循环计算数组元素的累加和Sum,得到累加和后x=Sum/5来计算平均值。最后通过For循环,打印大于平均值的元素。31、执行以下程序段a$="abbacddcba"Fori=6To2Step-2X=Mid(a,i,i):Y=Left(a,i)z=Reght(a,i):z=UCase(XYz)NextiPrintz输出的结果是A、ABAB、ABBABAC、AABAABD、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=Right(a,2)="ba",所以UCase(XYz)="BABBA"。32、假定一个工程由一个窗体文件Form1和两个标准模块文件Mode11和Mode12组成Mode11的代码如下:PublicxAsInteger:PublicyAsIntegerSubS1()SubS2()x=1y=10S2Form1.showEndSubEndSubMode12的代码如下:SubMain()S1EndSub其中SubMain被设置为启动过程。程序运行后,各模块的执行顺序是A、Form1→Mode11→Mode12B、Mode11→Mode12→Form1C、Mode12→Mode11→Form1D、Mode12→Form1→Mode11标准答案:C知识点解析:本题考查启动顺序。本题中,设置Main为启动过程,而Main位于Model2当中,因此最先运行的是Model2中的Mian过程:在Mian过程中调用S1过程,而S1位于Modell模块中,因此接下来运行的是Modell模块;在S1过程中会调用S2过程:S2过程中设置Form1.show来启动From1,因此最后运行的是Form1。33、在窗体(名称为Form1)上画一个名称为Text1的文本框和一个名称为Commandl的命令按钮,然后编写一个事件过程。程序运行后,如果在文本本框中输入一个字符,则把命令按钮的标题设置为“计算机等级考试”。以下能实现上述操作的时间过程是A、PrivateSubText1_Change()Commandl.Caption="计算机等级考试"EadSubB、PrivateSubText1_Change()Caption="计算机等级考试"EndSubC、PrivateSubText1_Change()Text1.Caption="计算机等级考试"EndSubD、PrivateSubText1_Change()Text1.Text="计算机等级考试"EndSub标准答案:A知识点解析:本题考查控件属性和事件代码。题目要求在文本框输入字符的时候设置命令按钮的标题属性,因此需要在文本框的Change事件代码设置命令按钮的Caption属性。34、在窗体上画一个列表框和一个命令按钮,其名称分别为list1和Commandl,然后编写如下事件过程:PrivateSubForm_load()List1.Addltem"Iteml":List1.Addltem"Item2":List1.Addltem"Item3"EndSUbPrivateSubCommandl_Click()List1.List(List1.ListCount)="AAAA"EndSub程序运行后,单击命令按钮,其结果为A、把字符串“AAAA”添加到列表框中,但位置不能确定B、把字符串“AAAA”添加到列表框的最后(即“Item3”的后面)C、把列表框原有的最后一项改为“AAAA”D、把字符串“AAAA”插入到列表框的最前面(即“Item1”的前面)标准答案:B知识点解析:本题考查控件的属性和方法。在窗体的Load事件代码里面,使用列表框的Addltem方法为List1列表框增加三项:在命令按钮的Click事件代码里面,此时列表框List1的listCount属性为3。因此List1,List(List1.ListCount)="AAAA"实际是List1.List(3)="AAAA",即向列表框的最后添加一项。35、在窗体上画一个命令按钮,然后编写如下事件过程:PrivateSubCommandl_ClickFori=1To5a(i)=Chr(Asc("A")+(i-1))NextiForEachbInaPrintb;NextEndSub程序运行后,单击命令按钮,输出结果是A、ABCDEB、12345C、abcdeD、出错信息标准答案:A知识点解析:本题考查常用函数和For循环。在第一个循环里面,给数组a的元素赋值,第一个元素的值为“A”,第二个元素值为“B”,以此类推:接下来第二个For循环打印输出数组a里面的元素值。国家二级VB机试(数据类型及运算)模拟试卷第3套一、选择题(本题共28题,每题1.0分,共28分。)1、为把圆周率的近似值3.14159存放在变量pi中,应该把变量pi定义为A、DimpiAsIntegerB、Dimpi(7)AsIntegerC、DimpiAsSingleD、DimpiAsLong标准答案:C知识点解析:本题考查的考点是有关VB中的数据类型的。VB提供了很多种数据类型,其中能接受小数值的有单精度型Single和双精度型Double。2、有如下语句序列:Dima.bAsIntegerPrintaPrintb执行以上语句序列,下列叙述中错误的是A、输出的a值是0B、输出的b值是0C、a是变体类型变量D、b是整型变量标准答案:A知识点解析:在VisualBasic中用户既可以显式声明一个变量,也可以不声明而直接使用变量,显式声明变量时每个变量都应使用As子句声明类型,否则该变量将被视为变体类型。本题中a是变体类型变量,默认初值为False:b是整型变量,默认初值为0。3、假定有如下的程序段:DimintVarAsIntegerintvar=TruePrintintVar则输出结果是A、0B、-1C、TrueD、False标准答案:B知识点解析:VB中的逻辑值True和False在参与关系运算时会自动进行类型转换,其中True转换为-1,False转换为0。4、双精度浮点数的类型说明符为A、%B、#C、&D、@标准答案:B知识点解析:在VisualBasic中规定一个变量的数据类型可以用类型说明符来标识,如%表示整型、$表示字符串型、!表示单精度浮点型、#表示双精度浮点型、&表示长整型。5、设窗体文件中有下面的事件过程:PrivateSubCommand1_Click()Dimsa%=100PrintaEndSub其中变量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)变量:全局变量也称为全程变量,在标准模块的声明部分声明。全局变量的作用域最大,可以在工程的每个模块、每个过程中使用。8、以下不合法的VB变量名是A、filenameB、readC、_yD、e5标准答案:C知识点解析:变量是用一个名称来表示的,给变量命名时应遵循规则:名称只能由字母、数字和下划线组成;名称的第一个字符必须是英文字母,最后一个字符可以是类型说明符;名称的有效字符为255个;不能用VB的保留字作变量名,但变量名中可以包含保留字,如ConstA:变量名也不能是末尾带有类型说明符的保留字,如Dim!是不合法的变量名;不区分字母的大小写。9、下面变量定义中错误的是A、PublicroodAsIntegerB、StaticbufC、DimchAsString*10D、Dima!(-5To-1)标准答案:A知识点解析:定义变量时需要使用As类型或者类型说明符来指明变量的数据类型,如果不指明则为隐式声明,该变量为变体型;mod是关键字表示求余运算,根据标识符命名规则不能作为变量名。10、下列说法中,错误的是A、变量名长度不能超过127个字符B、变量名的第一个字符必须是字母C、变量名不能使用保留字D、变量名只能由字母、数字和下划线组成标准答案:A知识点解析:变量是用一个名称来表示的,给变量命名时应遵循规则:名称只能由字母、数字和下划线组成;名称的第一个字符必须是英文字母,最后一个字符可以是类型说明符;名称的有效字符为255个;不能用VB的保留字作变量名,但变量名中可以包含保留字,如ConstA;变量名也不能是末尾带有类型说明符的保留字,如Dim!是不合法的变量名;不区分字母的大小写。11、窗体上有一个Text1文本框,一个Command1命令按钮,并有以下程序:PrivateSubCommand1_click()DimnIfTextl.Text<>"123456"Thenn=n+1:Print"口令输入错误"&n&"次"EndIfEndSub希望程序运行时得到左图所示的效果,即:输入口令,单击“确认口令”命令按钮,若输入的口令不是“123456”,则在窗体上显示输入错误口令的次数。但上而的程序实际显示的是右图所示的效果,程序需要修改。下面修改方案中正确的是()。A、在Dimn语句的下面添加一句:n=0B、把Print”口令输入错误"&n&"次"改为Print"口令输入错误"+n+t"次"C、把Print"口令输入错误"&n&"次"改为Print"口令输入错误"&Str(n)&"次"D、把Dim改为Staticn标准答案:D知识点解析:本题中题干部分的程序之所以会产生不合要求的结果,其原因是在单击事件中的第一条语句为Dimn,这样的话每次单击按钮时触发此事件,都将会执行这条语句,重新定义一个局部变量n并设其默认初值为0。Static语句在过程级别中使用,用于声明变量并分配存储空间,在整个代码运行期间都能保留使用Static语句声明的变量的值,因此此处应该使用Staticn来声明变量。12、在窗体上画一个命令按钮,然后编写如下程序:Subinc(aAsInteger)StaticxAsIntegerx=x+aPrintx:EndSubPrivateSubCommand1_Click()inc2:inc3:inc4EndSub程序运行后,第一次单击命令按钮时的输出结果为A、234B、259C、111418D、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、VisualBASICProgrammingB、VISUALC++ProgrammingC、VisualC++ProgrammingD、VISUALBASICProgramming标准答案:B知识点解析:本题考查的考点是有关取子串函数的。在VB中有3种取子串函数:LeR函数用于在字符串左端开始取n个字符;Right函数用于在字符串右端开始取n个字符(注意子串中字符的顺序与母串中相同);Mid函数可以实现在任何位置取任何长度的子串,其中长度省略的话将会一直取到串尾。UCase函数用于把字符串转换成大写表示。14、要计算x的平方根并放入变量y,正确的语句是A、y=Exp(x)B、y=Sgn(x)C、y=Int(x)D、y=Sqr(x)标准答案:D知识点解析:Exp函数是求指数函数;Sgn函数是求符号函数:Int函数是取整函数,平方根函数(Sqr)可以返回N的算术平方根,N必须大于或等于0。15、语句:PrintAsc(Chr$(Mid$("98765432",4,2)))的输出是A、65B、AC、8765D、W标准答案:A知识点解析:Mid函数可以实现在任何位置取任何长度的子串,其中长度省略的话将会一直取到串尾,本题中是从第4位取长度为2的子串即“65”。Chr函数可以将ASCII码转成对应的字符,ASC函数将字符转换成对应的ASCII码。16、设有如下通用过程:PublicFunctionFun(xStrAsString)AsStringDimtStrAsString,strLAsIntegertStr=""strL=Len(xStr)i=1DoWhilei<=strL/2tStr=tStr&Mid(xStr,i,1)&Mid(xStr,strL-i+1,1)i=i+1LoopFun=tStrEndFunction在窗体上画一个名称为Command1的命令按钮。然后编写如下的事件过程:PrivateSubCommand1_Click()DimS1AsStringS1="abcdef":PrintUCase(Fun(S1))EndSub程序运行后,单击命令按钮,输出结果是A、ABCDEFB、abcdefC、AFBECDD、DEFABC标准答案:C知识点解析:本题通用过程的功能是:从字符串变量xStr值的左右两端同时开始,由外向里每次取出两个字符(左右各一个),组成一个新的字符串。本题程序运行后,当调用通用过程函数Fun后,返回值应为“afbecd”,转换为大写后在文本框中的显示结果为“AFBECD”。17、窗体上有一个名称为Text1的文本框,一个名称为Command1的命令按钮。窗体文件的程序如下:PrivateTypexaAsInteger:bAsIntegerEndTypePrivateSubCommand1_Click()DimyAsxy.a=InputBox("")Ify.a\2=y.a/2Theny.b=y.a*y.aElsey.b=Fix(y.a/2)EndIfText1.Text=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>0ThenPrintMid(num,p+1)ElsePrint"END"EndIfEndSub运行程序单击窗体,根据提示输入一个数值。如果不是输入实数,则输出“END”;否则A、用字符方式输出该实数B、输出该实数的整数部分C、输出该实数的小数部分D、去掉实数中小数点,保留所有数码输出标准答案:C知识点解析:字符串匹配函数Instt用于查找第二个参数在第一个参数中第一次出现的位置,若未找到返回0;Mid(字符串,起始位置[,个数])函数用于从已有字符串中取出从指定位置开始的含指定个数字符的字符串,若不指定个数将返回字符串中从参数“起始位置”到字符串尾端的所有字符。本题实际就是先找到小数点的位置,然后输出小数点后面的部分,即小数部分。19、窗体上有一个名称为Command1的命令按钮,单击该按钮时所实现的功能是产生10个随机整数,然后从键盘输入一个整数,查找该数在数组中的位置。若找到,输出该数的位置;若没有找到,给出相应的提示。该命令按钮的单击事件过程如下:PrivateSubCommand1_Click()Dima(10)AsInteger,xAsIntegerFori=1To10a(i)=Int(Rnd*100)Nextx=InputBox("输入100以内的整数:"):P=0Fori=1To10Ifa(i)=xThenp=i:ExitForEndIfNextIfp=0ThenPrint"没有找到与输入数据相同的数!"ElsePrintStr(x)+"在数组中的位置是"+Str(p)EndIfEndSub对于上述事件过程,以下叙述中正确的是A、本程序实际产生的随机数是0-99B、若产生的随机数中有相同数,则p是其中最后一个数的位置C、程序有错,p的初值设置不对D、程序有错,InputBox函数产生的数据与x的类型不匹配标准答案:A知识点解析:随机数函数Rnd的功能是用于产生一个小于1但大于或等于0的随机数。为了生成某个指定范围内的随机整数,可使用以下公式:Int((upperbound-lowerbound+1)*Rnd+lowerbound),其中upperbound是随机整数范围的上限,lowerbound是随机整数范围的下限。本题中upperbound为99,lowerbound为0。20、窗

温馨提示

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

评论

0/150

提交评论