國家二級VB機試(數(shù)據(jù)類型及運算)模擬試卷3(共242題)_第1頁
國家二級VB機試(數(shù)據(jù)類型及運算)模擬試卷3(共242題)_第2頁
國家二級VB機試(數(shù)據(jù)類型及運算)模擬試卷3(共242題)_第3頁
國家二級VB機試(數(shù)據(jù)類型及運算)模擬試卷3(共242題)_第4頁
國家二級VB機試(數(shù)據(jù)類型及運算)模擬試卷3(共242題)_第5頁
已閱讀5頁,還剩86頁未讀 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領

文檔簡介

國家二級VB機試(數(shù)據(jù)類型及運算)模擬試卷3(共9套)(共242題)國家二級VB機試(數(shù)據(jù)類型及運算)模擬試卷第1套一、選擇題(本題共28題,每題1.0分,共28分。)1、為把圓周率的近似值3.14159存放在變量pi中,應該把變量pi定義為A、DimpiAsIntegerB、Dimpi(7)AsIntegerC、DimpiAsSingleD、DimpiAsLong標準答案:C知識點解析:本題考查的考點是有關(guān)VB中的數(shù)據(jù)類型的。VB提供了很多種數(shù)據(jù)類型,其中能接受小數(shù)值的有單精度型Single和雙精度型Double。2、有如下語句序列:Dima,bAsIntegerPrintaPrintb執(zhí)行以上語句序列,下列敘述中錯誤的是A、輸出的a值是0B、輸出的b值是0C、a是變體類型變量D、b是整型變量標準答案:A知識點解析:在visualBaLsic中用戶既可以顯式聲明一個變量,也可以不聲明而直接使用變量,顯式聲明變量時每個變量都應使用As子句聲明類型,否則該變量將被視為變體類型。本題中a是變體類型變量,默認初值為False:b是整型變量,默認初值為0。3、似定有如下的程序段:DimintVarAsIntegerintvar=TruePrintintVar則輸出結(jié)果是A、0B、-1C、TrueD、False標準答案:B知識點解析:VB中的邏輯值True和False在參與關(guān)系運算時會自動進行類型轉(zhuǎn)換,其中True轉(zhuǎn)換為-1,F(xiàn)alse轉(zhuǎn)換為0。4、雙精度浮點數(shù)的類型說明符為A、%B、#C、&D、*標準答案:B知識點解析:在visualBasic中規(guī)定一個變量的數(shù)據(jù)類型可以用類型說明符來標識,如%表示整型、$表示字符串型、!表示單精度浮點型、#表示雙精度浮點型、&表示長整型。5、設窗體文件中有下面的事件過程:PrivateSubCommand1Click()Dimsa%=100PrintaEndSub其中變量a和s的數(shù)據(jù)類型分別是A、整型,整型B、變體型,變體型C、整型,變體型D、變體型,整型標準答案:C知識點解析:在VB中,可以顯式聲明變逗和隱式聲明變量。如果使用Dim、Public、Static等關(guān)鍵字來聲明變量,則為顯式聲明,此時如果不指定變量的類型,則該變量為變體型變量;如果不使用關(guān)鍵字聲明變量而直接使用,視為隱式聲明,此時變量的類型可以使用類型符號來規(guī)定,也可以默認為變體型。本題中的變量a就是使用%來隱式聲明,其類型為整型。6、有數(shù)據(jù)定義語句:DimX,YAsInteger以上語句表明A、X、Y均是整型變量B、X是整型變量,Y是變體類型變量C、X是變體類型變量,Y是整型變量D、X是整型變量,Y是字符型變量標準答案:C知識點解析:在VisualBasic中用戶既可以顯式聲明一個變量,也可以不聲明而直接使用變量,顯式聲明變量時每個變量都應使用As子句聲明類型,否則該變量將被視為變體類型。DimX,YAsInteger表示X是變體類型變量,Y是整型變量。7、以下關(guān)于變量作用域的敘述中錯誤的是A、在窗體模塊的聲明部分聲明的Private變量,其作用域是窗體內(nèi)的所有過程B、在標準模塊的聲明部分聲明的Private變量,其作用域是模塊內(nèi)的所有過程C、在窗體模塊的聲明部分聲明的Pubilc變量,其作用域是本窗體的所有過程D、在標準模塊的聲明部分聲明的Pubilc變量,其作用域是應用程序的所有過程標準答案:C知識點解析:根據(jù)變量的定義位置和定義關(guān)鍵字的不同,變量可以分為以下3種類型:.局部(Local)變量;在過程(事件過程或通用過程)內(nèi)定義的變量,其作用域為該變量所在的過程,定義時使用Dim、Static關(guān)鍵字;.模塊(Module)變量:模塊變量包括窗體變量和標準模塊變量2種。其中,窗體變量可用于該窗體內(nèi)的所有過程,其作用域為該變量所在的窗體:標準模塊變量是在標準模塊中定義的變量,變量的聲明和使用與窗體模塊中窗體變量類似。區(qū)別是標準模塊是只含有程序代碼的應用程序文件,其擴展名為.bas:.全局(Public)變量:全局變量也稱為全程變量,在標準模塊的聲明部分聲明。全局變量的作用域最大,可以在工程的每個模塊、每個過程中使用。8、以下不合法的VB變量名是A、filenameB、readC、_yD、e5標準答案:C知識點解析:變量是用一個名稱來表示的,給變量命名時應遵循規(guī)則:名稱只能由字母、數(shù)字和下劃線組成:名稱的第一個字符必須是英文字母,最后一個字符可以是類型說明符;名稱的有效字符為255個;不能用VB的保留字作變量名,但變量名中可以包含保留字,如ConstA:變量名也不能是末尾帶有類型說明符的保留字,如Dim!是不合法的變量名;不區(qū)分字母的大小寫。9、下面變量定義中錯誤的是A、PublicmodAsIntegerB、StaticbufC、DimchAsString*10D、Dima!(-5To-1)標準答案:A知識點解析:定義變量時需要使用As類型或者類型說明符來指明變量的數(shù)據(jù)類型,如果不指明則為隱式聲明,該變量為變體型;mod是關(guān)鍵字表示求余運算,根據(jù)標識符命名規(guī)則不能作為變最名。10、下列說法中,錯誤的是A、變量名長度不能超過127個字符B、變量名的第一個字符必須是字母C、變量名不能使用保留字D、變量名只能由字母、數(shù)字和下劃線組成標準答案:A知識點解析:變量是用一個名稱來表示的,給變量命名時應遵循規(guī)則:名稱只能由字母、數(shù)字和下劃線組成;名稱的第一個字符必須是英文字母,最后一個字符可以是類型說明符:名稱的有效字符為255個;不能用VB的保留字作變量名,但變量名中可以包含保留字,如ConstA;變量名也不能是末尾帶有類型說明符的保留字,如Dim!是不合法的變量名:不區(qū)分字母的大小寫。11、窗體上有一個Text1文本框,一個Command1命令按鈕,并有以下程序:PrivateSubCommand1_click()DimnIfText1.Text<>"123456"Thenn=n+1:Print"口令輸入錯誤"&n&"次"EndIfEndSub希望程序運行時得到左圖所示的效果,即:輸入口令,單擊“確認口令”命令按鈕,若輸入的口令不是“123456”,則在窗體上顯示輸入錯誤口令的次數(shù)。但上而的程序?qū)嶋H顯示的是右圖所示的效果,程序需要修改。下面修改方案中正確的是A、在Dimn語句的下面添加一句:n=0B、把Print"口令輸入錯誤"&n&"次"改為Print"口令輸入錯誤"+n+"次"C、把Print"口令輸入錯誤"&n&"次"改為Print"口令輸入錯誤"&Str(n)&"次"D、把Dimn改為Staticn標準答案:D知識點解析:本題中題干部分的程序之所以會產(chǎn)生不合要求的結(jié)果,其原因是在單擊事件中的第一條語句為Dimn,這樣的話每次單擊按鈕時觸發(fā)此事件,都將會執(zhí)行這條語句,重新定義一個局部變量n并設其默認初值為0。Static語句在過程級別中使用,用于聲明變量并分配存儲空間。在整個代碼運行期間都能保留使用Static語句聲明的變量的值,因此此處應該使用Staticn來聲明變量。12、在窗體上畫一個命令按鈕,然后編寫如下程序:Subinc(aAsInteger)PrivateSubCommand1_Click()StaticxAsIntegerinc2:inc3:inc4x=x+aPrintx;EndSubEndSub程序運行后,第一次單擊命令按鈕時的輸出結(jié)果為A、234B、259C、111418D、4916標準答案:B知識點解析:Static語句在過程級別中使用,用于聲明變量并分配存儲空間,在整個代碼運行期間都能保留使用static語句聲明的變量的值。本題的inc過程中的x是一個靜態(tài)變量,在三次調(diào)用過程中變量的值會保留,分別為2、2+3、5+4。13、執(zhí)行以下程序段a$="VisualBasicProgramming":b$="C++"c$=UCase(Left$(a$,7))&b$&RightS(aS,12)變量c$的值為A、VisualBASICProgrammingB、VISUALC++ProgrammingC、VisualC++ProgrammingD、VISUALBASICProgramming標準答案:B知識點解析:本題考查的考點是有關(guān)取子串函數(shù)的。在VB中有3種取子串函數(shù):Left函數(shù)用于在字符串_左端開始取n個字符:Right函數(shù)用于在字符串右端開始取n個字符(注意子串中字符的順序與母串中相同);Mid函數(shù)可以實現(xiàn)在任何位置取任何長度的予串,其中長度省略的話將會一直取到串尾。UCaLse函數(shù)用于把字符串轉(zhuǎn)換成大寫表示。14、要計算x的平方根并放入變量y,正確的語句是A、y=Exp(x)B、y=Sgn(x)C、y=Int(x)D、y=Sqr(x)標準答案:D知識點解析:Exp函數(shù)是求指數(shù)函數(shù):Sgn函數(shù)是求符號函數(shù);Int函數(shù)是取整函數(shù),平方根函數(shù)(Sqr)可以返回N的算術(shù)平方根,N必須大于或等于0。15、語句:PrintAsc(Chr$(Mid$("98765432",4,2)))的輸出是A、65B、AC、8765D、W標準答案:A知識點解析:Mid函數(shù)可以實現(xiàn)在任何位置取任何長度的子串,其中長度省略的話將會一直取到串尾,本題中是從第4位取長度為2的子串即“65”。Chr函數(shù)可以將ASCII碼轉(zhuǎn)成對戍的字符,ASC函數(shù)將字符轉(zhuǎn)換成對應的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程序運行后,單擊命令按鈕,輸出結(jié)果是A、ABCDEFB、abcdefC、AFBECDD、DEFABC標準答案:C知識點解析:本題通用過程的功能是:從字符串變量xStr值的左右兩端同時開始,由外向里每次取出兩個字符(左右各一個),組成一個新的字符串。本題程序運行后,當調(diào)用通用過程函數(shù)Fun后,返回值應為“afbecd”,轉(zhuǎn)換為大寫后在文本框中的顯示結(jié)果為“AFBECD”。17、窗體上有一個名稱為Text1的文本框,一個名稱為Command1的命令按鈕。窗體文件的程序如下:PrivateTypexPrivateSubCommand1_Click()aAsInteger:bAsIntegerDimyAsxEndTypey.a(chǎn)=InputBox("")Ify.a(chǎn)\2=y.a(chǎn)/2Theny.b=y.a(chǎn)*y.a(chǎn)Elsey.b=Fix(y.a(chǎn)/2)EndIfText1.Text=y.bEndSub對以上程序,下列敘述中錯誤的是A、x是用戶定義的類型B、InputBox函數(shù)彈出的對話框中沒有提示信息C、若輸入的是偶數(shù),y.b的值為該偶數(shù)的平方D、Fix(y.a(chǎn)/2)把y.a(chǎn)/2的小數(shù)部分四舍五入,轉(zhuǎn)換為整數(shù)返回標準答案:D知識點解析:本題考查的考點是有關(guān)自定義類型和Fix函數(shù)的。用戶可以通過Type語句自定義類型,并可用自定義的類型聲明變量。注意Fix函數(shù)是向下取整,Round函數(shù)是四舍五入。18、設有如下程序:PrivateSubForm_Click()num=InputBox("請輸入一個實數(shù)"):p=InStr(num,".")Ifp>0ThenPrintMid(num,P+1)ElsePrint"END"EndIfEndSub運行程序單擊窗體,根據(jù)提示輸入一個數(shù)值。如果不是輸入實數(shù),則輸出“END”;否則A、用字符方式輸出該實數(shù)B、輸出該實數(shù)的整數(shù)部分C、輸出該實數(shù)的小數(shù)部分D、去掉實數(shù)中小數(shù)點,保留所有數(shù)碼輸出標準答案:C知識點解析:字符串匹配函數(shù)Instr用于查找第二個參數(shù)在第一個參數(shù)中第一次出現(xiàn)的位置,若未找到返回0;Mid(字符串,起始位置[,個數(shù)])函數(shù)用于從已有字符串中取出從指定位置開始的含指定個數(shù)字符的字符串,若不指定個數(shù)將返回字符串中從參數(shù)“起始位置”到字符串尾端的所有字符。本題實際就是先找到小數(shù)點的位置,然后輸出小數(shù)點后面的部分,即小數(shù)部分。19、窗體上有一個名稱為Commandl的命令按鈕,單擊該按鈕時所實現(xiàn)的功能是產(chǎn)生10個隨機整數(shù),然后從鍵盤輸入一個整數(shù),查找該數(shù)在數(shù)組中的位置。若找到,輸出該數(shù)的位置;若沒有找到,給出相應的提示。該命令按鈕的單擊事件過程如下:PrivateSubCommand1_Click()Dima(10)AsInteger,xAsIntegerFori=1To10a(i)=Int(Rnd9100)Nextx=InputBox("輸入100以內(nèi)的整數(shù):"):p=0Fori=1To10Ifa(i)=XxThenp=i:ExitForEndIfNextIfp=0ThenPrint"沒有找劍與輸入數(shù)據(jù)相同的數(shù)!"ElsePrintStr(x)+"在數(shù)組中的位置是"+Str(p)EndIfEndSub對于上述事件過程,以下敘述中正確的是A、本程序?qū)嶋H產(chǎn)生的隨機數(shù)是0-99B、若產(chǎn)生的隨機數(shù)中有相同數(shù),則p是其中最后一個數(shù)的位置C、程序有錯,p的初值設置不對D、程序有錯,InputBox函數(shù)產(chǎn)生的數(shù)據(jù)與x的類型不匹配標準答案:A知識點解析:隨機數(shù)函數(shù)Rnd的功能是用于產(chǎn)生一個小于但大于或等于0的隨機數(shù)。為了生成某個指定范圍內(nèi)的隨機整數(shù),可使用以下公式:Int((upporbound-lowerbound+1)*Rhd+lowerbound),其中upperbound是隨機整數(shù)范圍的上限,lowerbound是隨機整數(shù)范圍的下限。本題中upperbound為99,lowerbound為0。20、窗體上有1個名稱為Command1的命令按鈕,事件過程如下:PrivateSubCommand1_Click()m=-3.6IfSgn(m)Thenn=Int(m)Elsen=Abs(m)EndIfPrintnEndSub運行程序,并單擊命令按鈕,窗體上顯示的內(nèi)容為A、-4B、-3C、3D、3.6標準答案:A知識點解析:Int函數(shù)的作用是去返回不大于參數(shù)的最大整數(shù),例如Int(4.6)=4,Int(-4.6)=-5:VB中的邏輯值True和False和整型值之間會自動進行類型轉(zhuǎn)換,其中-1轉(zhuǎn)換為True,0轉(zhuǎn)換為False。小題中由于m為負數(shù),所以sgn(m)的值為-1,即條件為真,會返回不大于m的最大整數(shù)值即-4。21、以下程序的功能是隨機產(chǎn)生10個兩位的整數(shù):OptionBase1PrivateSubCommand1_Click()Dima(10)AsInteger,iAsIntegerRandomizeFori=1To10a(i)=Int(Rnd*100)+1Printa(i)NextiEndSub運行以上程序,發(fā)現(xiàn)有錯誤,需要對產(chǎn)生隨機數(shù)的語句進行修改。以下正確的修改是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知識點解析:隨機數(shù)函數(shù)Rnd的功能是用于產(chǎn)生一個小于1但大于或等于0的隨機數(shù)。為了生成某個指定范圍內(nèi)的隨機整數(shù),可使用以下公式:Int((upperbound-lowerbound+1)*Rnd+lowerbound),其中upperbound是隨機整數(shù)范圍的上限,lowerbound,隨機整數(shù)范圍的下限。小題中upperbound為99,lowerbound為10。22、設a=4,b=5,c=6,執(zhí)行語句Printa<bAndb<c窗體上顯示的是A、TrueB、FalseC、出錯信息D、0標準答案:A知識點解析:木題考查的考點是有關(guān)邏輯運算和關(guān)系運算的。邏輯運算就是兩個邏輯型的量進行運算,邏輯運算,邏輯運算符的優(yōu)先級低于戈系運算符,故本題先計算And兩端的表達式結(jié)果,這兩個表達式的結(jié)果都為True,所以二者相與的結(jié)果也為True。23、設a=2,b=3,c=4,d=5,下列表達式的值是a>bAndc<=dOr2*a>cA、TrueB、FalseC、-1D、1標準答案:B知識點解析:一個表達式可能含有多種運算,計算機按一定的順序?qū)Ρ磉_式求值,一般順序如下:首先進行函數(shù)運算;接著進行算術(shù)運算,其次序為:冪(^)→取負(-)→乘浮點除(*、/)→整除(\)→取模(Mod)→加、減(+、-)→連接(&);然后進行關(guān)系運算(=、>、<、<>、<=、>=):最歷進行邏輯運算,順序為:Not→And→Or→Xor→EqV→Imp。24、已知a=6,b=15,c=23,則語句PrintSgn(a+bMod6-c\a)&a+b的輸出結(jié)果為A、6B、16C、31D、121標準答案:D知識點解析:算術(shù)表達式的運算次序為:冪(^)→取負(-)→乘、浮點除(*、/1)→整除(\)→取模(Mod)→加、減(+、-)→連接(&),Sgn函數(shù)會返回參數(shù)的符號。本題中Sgn(a+bMod6-c\a)函數(shù)的參數(shù)經(jīng)計算為正數(shù),故此函數(shù)返回值為1:&運算是字符串連接運算,其優(yōu)先級低于算術(shù)運算,所以會先計算a+b=21,然后將1和21自動轉(zhuǎn)換為字符串然后連接起來。25、表達式12/2\4的值是A、1.5B、2C、4D、1標準答案:D知識點解析:算術(shù)表達式的運算次序為:冪(^)→取負(-)→乘、浮點除(*、/)→整除(\)→取模(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的關(guān)系。在選項中并未出現(xiàn)這個答案,但是C選項表達的意思是“沒有任意兩條邊的和小于等于第三條邊”,這和題意也是相符的。27、能正確表述“x為大于等于5并且小于20的數(shù)”的VisualBasic表達式是A、x>=5Andx<20B、x>=5Orx<20C、5<=x<20D、5<=x<=20標準答案:A知識點解析:邏輯運算也稱布爾運算。用邏輯運算符連接的兩個或多個關(guān)系式,組成一個布爾表達式。本題要表達的是兩個表達式必須同時為真,故此使用And運算符。28、以下敘述中錯誤的是A、續(xù)行符與它前面的字符之間至少要有一個空格B、VisualBasic中使用的續(xù)行符為下劃線(__)C、以撇號(’)開頭的注釋語句可以放在續(xù)行符的后面D、VisualBasic可以自動對輸入的內(nèi)容進行語法檢查標準答案:C知識點解析:VisualBasic中的語句是執(zhí)行具體操作的指令,通常一行輸入一條語句。也可把多條語句放在一行,各語句間用冒號(:)隔開。還可通過續(xù)行符(續(xù)行符由一個空格加一個下劃線組成“__”)將一條語句分別放在多行,續(xù)行符和前面的字符之間至少要有一個空格以免被認為是一個單詞。續(xù)行符的后面不可以放以撇號(’)開頭的注釋語句:VisualBasic可以自動對輸入的內(nèi)容進行語法檢查,有語法錯誤會給出提示。國家二級VB機試(數(shù)據(jù)類型及運算)模擬試卷第2套一、選擇題(本題共35題,每題1.0分,共35分。)1、以下合法的VB變量名是A、aB、yPrintC、a-bD、Type標準答案:B知識點解析:變量是用一個名稱來表示的,給變量命名時應遵循規(guī)則:名稱只能由字母、數(shù)字和下劃線組成;名稱的第一個字符必須是英文字母,最后一個字符可以是類型說明符;名稱的有效字符為255個;不能用,VB的保留字作變量名,但變量名中可以包含保留字,如ConstA,變量名也不能是末尾帶有類型說明符的保留字,如Dim!起不合法的變量名;不區(qū)分字母的大小寫。2、設在一個工程的窗體中有如下代碼:PublicxAsIntegerPrivateSubForm_Load()DimYAsIntegerEndSub在該工程的標準模塊的聲明部分有代碼:PublicaAsInteger:PrivatebAsInteger關(guān)于上述代碼,以下敘述中錯誤的是A、變量X的作用域是整個工程B、變量Y的作用域是Form_Load過程C、變量a的作用域是整個工程D、變量b的作用域是整個標準模塊標準答案:A知識點解析:根據(jù)變量的定義位置和定義關(guān)鍵字的不同,變量可以分為局部(Local)變量、模塊(Module)變量和全局(Public)變量3種類型:3、以下不合法的VB變量名是A、filenameB、readC、_yD、e5標準答案:C知識點解析:變量是用一個名稱來表示的,給變量命名時應遵循規(guī)則:名稱只能由字母、數(shù)字和下劃線組成;名稱的第一個字符必須是英文字母,最后一個字符可以是類型說明符;名稱的有效字符為255個;不能用VR的保留字作變量名,但變量名中可以包含保留字,如ConstA;變量名也不能是末尾帶有類型說明符的保留字,如Dim!是不合法的變量名;不區(qū)分字母的大小寫。4、以下關(guān)于變量作用域的敘述中,錯誤的是A、在標準模塊聲明部分用Public聲明的變量的作用域為整個工程文件B、在標準模塊聲明部分用Private聲明的變量的作用域為該標準模塊C、在窗體的聲明部分不能用Private聲明變量D、在過程中不能使用Public聲明變量標準答案:C知識點解析:根據(jù)變量的定義位置和定義關(guān)鍵字的不同,變量可以分為局部(Local)變量、模塊(Module)變量和全局(Public)變量3種類型:5、下列符號常量的聲明中不合法的是A、ConstaAsSingle=3.5B、ConstaAsDouble=5+8C、ConstaAsInteger="25"D、Consta="OK"標準答案:C知識點解析:聲明特號常量用來代替數(shù)值或字符串。一般格式為:Const常量名。表達式[,常量名=表達式]…,其中要求表達式的類型和常量的類型是相同或者相容的?!?5”是一個字符串常量,無法賦值給整型符號常量a。6、在窗體模塊的聲明部分聲明變量時,不能使用的關(guān)鍵字是A、DimB、PublicC、PrivateD、Static標準答案:D知識點解析:根據(jù)變量的定義位置和定義關(guān)鍵字的不同,變量可以分為局部(Local)變量、模塊(Module)變量和全局(Public)變量3種類型:7、下面變量定義中錯誤的是A、PublicmodAsIntegerB、StaticbufC、DimchAsString*10D、Dima!(-5To-1)標準答案:A知識點解析:定義變量時需要使用As類型或者類型說明符來指明變量的數(shù)據(jù)類型,如果不指明則為隱式聲明,該變量為變體型:mod是關(guān)鍵字表示求余運算,根據(jù)標識符命名規(guī)則不能作為變量名。8、如果要定義一個窗體級變量,定義變量語句的位置應該是A、在使用該變量的過程中B、在該窗體模塊所有過程的前面C、在該窗體模塊所有過程的后面D、在某個標準模塊中標準答案:B知識點解析:根據(jù)變量的定義位置和定義關(guān)鍵字的不同,變量可以分為局部(Local)變量、模塊(Module)變量和全局(Public)變量3種類型:9、下列說法中,錯誤的是A、變量名長度不能超過255個字符B、變量名的第一個字符可以是字母或數(shù)字C、變量名只能由字母、數(shù)字和下劃線組成D、變量名不能使用保留字標準答案:B知識點解析:變量是用一個名稱來表示的,給變量命名時應遵循規(guī)則:名稱只能由字母、數(shù)字和下劃線組成;名稱的第一個字符必須是英文字母,最后一個字符可以是類型說明符;名稱的有效字符為255個:不能用VB的保留字作變量名,但變量名中可以包含保留字,如ConstA:變量名也不能是末尾帶有類型說明符的保留字,如Dim!是不合法的變量名;不區(qū)分字母的大小寫。10、在標準模塊中,將a定義為全局整型變量的語句是A、StaticaAsIntegerB、DimaAsIntegerC、PrivateaAsIntegerD、PublicaAsInteger標準答案:D知識點解析:根據(jù)變量的定義位置和定義關(guān)鍵字的不同,變量可以分為局部(Local)變量、模塊(Module)變量和全局(Public)變量3種類型:11、下列說法中,錯誤的是A、變量名長度不能超過127個字符B、變量名的第一個字符必須是字母C、變量名不能使用保留字D、變量名只能由字母、數(shù)字和下劃線組成標準答案:A知識點解析:變量是用一個名稱來表示的。12、下面能夠?qū)⒛硞€變量聲明為局部變量的是A、在窗體模塊的聲明部分,用關(guān)鍵字Static聲明這個變量B、在窗體模塊的聲明部分,用關(guān)鍵字Dim聲明這個變量C、在需要使用這個變量的過程中,用關(guān)鍵字Private聲明這個變量D、在需要使用這個變量的過程中,用關(guān)鍵字Public聲明這個變量標準答案:C知識點解析:根據(jù)變量的定義位置和定義關(guān)鍵字的不同,變量可以分為局部(Local)變量、模塊(Module)變量和全局(Public)變量3種類型:13、有如下過程代碼:Subvardim()StaticnumaAsIntegerDimnumbAsIntegernuma=numa+2:numb=numb+1:printnuma;numbEndSub連續(xù)3次調(diào)用var_dim過程,第3次調(diào)用時的輸出是A、21B、23C、61D、63標準答案:C知識點解析:Static語句在過程級別中使用,用于聲明變量并分配存儲空間,在整個代碼運行期間都能保留使用Static語句聲明的變量的值。本題中,當?shù)?次調(diào)用過程時,靜態(tài)變量numa的初值為0、普通變量numb的初值為0,執(zhí)行循環(huán)語句后,靜態(tài)變量numa的值應為2、普通變量numb的值為1;當?shù)?次調(diào)用過程時,靜態(tài)變量n啪a的初值為2、普通變量numb的初值為0,執(zhí)行循環(huán)語句后,靜態(tài)變量numa的值應為4、普通變量numb的值為1:當?shù)?次調(diào)用過程時,靜態(tài)變量numa的初值為4、普通變量numb的初值為0,執(zhí)行循環(huán)語句后,靜態(tài)變量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關(guān)鍵字聲明的全局變量,其作用域最大,可以在工程的每個模塊、每個過程中使用。但當不同作用范圍的變量重名時,有效范圍小的變量會屏蔽有效范圍大的變量。當一個全局變量與一個過程級變量重名時,當在本過程中直接使用這個變量名時,被認為是指局部變量。如果要在這個過程中使用同名的全局變量,要使用模塊名來修飾變量名。在本題的事件過程中,由于變量x被聲明為過程級變量,其初始值為0,調(diào)用過程varpub不會改變其值,而變量y為標準模塊中聲明的全局變量,調(diào)用過程vat_pub后其值為20。故最后輸出結(jié)果為100和120。15、窗體上有一個Text1文本框,一個Commandl命令按鈕,并有以下程序:PrivateSubCommandl_click()DimnIfText1.Text<>"123456"Thenn=n+1:Print"口令輸入錯誤"&n&"次"EndIfEndSub希望程序運行時得到左圖所示的效果,即:輸入口令,單擊“確認口令”命令按鈕,若輸入的口令不是“123456”,則在窗體上顯示輸入錯誤口令的次數(shù)。但上而的程序?qū)嶋H顯示的是右圖所示的效果,程序需要修改。下面修改方案中正確的是A、在Dimn語句的下面添加一句:n=0B、把Print"口令輸入錯誤"&n&"次"改為Print"口令輸入錯誤"+n+"次"C、把Print"口令輸入錯誤"&n&"次"改為Print"口令輸入錯誤"&Str(n)&"次"D、把Dimn改為Staticn標準答案:D知識點解析:本題中題干部分的程序之所以會產(chǎn)生不合要求的結(jié)果,其原因是在單擊事件中的第一條語句為Dimn,這樣的話每次單擊按鈕時觸發(fā)此事件,都將會執(zhí)行這條語句,重新定義一個局部變量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,輸出結(jié)果為A、333B、345C、356D、123標準答案:B知識點解析:使用Dim關(guān)鍵字定義的是動態(tài)局部變量,過程執(zhí)行結(jié)束后即被釋放;使用Static關(guān)鍵字定義的是靜態(tài)局部變量,過程執(zhí)行結(jié)束后仍然保留。本題中函數(shù)proc中的局部變量a是動態(tài)變量,b是靜態(tài)變量。即每次函數(shù)調(diào)用后b的值會保留。先后三次調(diào)用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運行程序,連續(xù)3次單擊命令按鈕后,3個標簽中分別顯示的是A、555B、15105C、151515D、30155標準答案:D知識點解析:Static語句在過程級別中使用,用于聲明變量并分配存儲空間,在整個代碼運行期間都能保留使用Static語句聲明的變量的值。在窗體的聲明段用private聲明的變量為模塊級變量,其作用域為整個窗體。本題中,當?shù)?次單擊時,靜態(tài)變量y的初值為0,執(zhí)行調(diào)用語句后,靜態(tài)變量y的值應為5,模塊級變量x的值為5;當?shù)?次單擊時,靜態(tài)變量y的初值為5,執(zhí)行調(diào)用語句后,靜態(tài)變量y的值應為10,模塊級變量x的值為15;當?shù)?次調(diào)用過程時,靜態(tài)變量y的初值為10,執(zhí)行調(diào)用語句后,靜態(tài)變量y的值應為15,模塊級變量x的值為30。19、在窗體上畫一個命令按鈕,然后編寫如下程序:Subinc(aAsInteger)PrivateSubCommandl_Click()StaticxAsIntegerinc2:inc3:inc4x=x+aPrintx;EndSubEndSub程序運行后,第一次單擊命令按鈕時的輸出結(jié)果為A、234B、259C、111418D、4916標準答案:B知識點解析:Static語句在過程級別中使用,用于聲明變量并分配存儲空間,在整個代碼運行期間都能保留使用Static語句聲明的變量的值。本題的inc過程中的x是一個靜態(tài)變量,在三次調(diào)用過程中變量的值會保留,分別為2、2+3、5+4。20、設窗體上有一個Commandl命令按鈕,還有以下程序代碼:PrivateSubCommandl_Click()PrivateSubproc(aAsInteger)StaticxAsIntegerStaticxAsIntegerx=x+1x=x+a:a=xCallproc(x)EndSubPrintxEndSub程序運行后,3次單擊命令按鈕,則產(chǎn)生的輸出是A、123B、135C、137D、246標準答案:C知識點解析:本題中在Commandl_Click過程中和Sub過程proc中分別定義了一個靜態(tài)變量x,這兩個x都是局部變量,隸屬于不同的局部,互不干涉;當單擊命令按鈕時,單擊事件中的x加1,然后調(diào)用proc過程:由于proc的形參a采用地址傳遞,因此對a的改變會影響實參x。三次單擊按鈕分別使得兩個過程中的x分別變化,都會保留上一次過程結(jié)束時的值。21、編寫如下程序:PrivateSubCommandl_Click()DimnAsInteger:StaticsAsIntegerForn=1To3s=s+nNextPrintsEndSub程序運行后,第三次單擊命令按鈕Commandl時,輸出結(jié)果為A、3B、6C、9D、18標準答案:D知識點解析:Static語句在過程級別中使用,用于聲明變量并分配存儲空間,在整個代碼運行期間都能保留使用Static語句聲明的變量的值。在本題中連續(xù)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結(jié)構(gòu)。在Commandl的Click事件響應代碼里面,通過InputBox輸入數(shù)據(jù)給變量x,然后switch根據(jù)x的值輸出不同的信息。在輸入對話框中輸入2,那么x的值為2,在switch的多個Case中CaseElse條件符合,因此輸出的是“Else分支”。23、以下關(guān)于MsgBox的敘述中,錯誤的是A、MsgBox函數(shù)返回一個整數(shù)B、通過MsgBox函數(shù)可以設置信息框中圖標和按鈕的類型C、MsgBox語句沒有返回值D、MsgBox函數(shù)的第二個參數(shù)是一個整數(shù),該參數(shù)只能確定對話框中顯示的按鈕數(shù)量標準答案:D知識點解析:本題考查MsgBox函數(shù)的使用,語法是:MsgBox(Prompt[,Buttons][,Title][,Helpfile,Context])參數(shù)含義如下:①Prompt:必需的,字符串表達式,作為顯示在對話框中的消息。②Buttons:可選的,數(shù)值表達式是指的總和,指定顯示按鈕的數(shù)目及形式,使用的圖標樣式,缺省按鈕是什么以及消息框的強制回應等,缺省值為0。③Title:可選的,在對話框標題欄中顯示的字符串表達式,缺省將應用程序名放在標題欄中。④Helpfile:可選的,字符串表達式,識別用來向?qū)υ捒蛱峁┥舷挛南嚓P(guān)幫助的幫助文件。如果提供了Helpfile,則也必須提供Context。⑤Context;可選的,數(shù)值表達式,由幫助文件的作者指定給適當?shù)膸椭黝}的幫助上下文編號。如果提供了Context,則也必須提供Helpfile。選項A)、B)和C)都是正確的,選項D)錯誤,MsgBox的第二個參數(shù)決定對話框中顯示的按鈕數(shù)量和形式。24、在窗體上畫一個名稱為Commandl的命令按鈕,然后編寫如下事件過程:PrivateSubCommmand1_Click()StaticxAsIntegerClsForI=1To2y=y+x:x=x+2NextPrintx,yEndSub程序運行后,連續(xù)三次單擊Commandl按鈕后,窗體上顯示的是A、42B、1218C、1230D、46標準答案:B知識點解析:本題考查Static變量,Static變量在函數(shù)退出之后其值依然存在,下次執(zhí)行函數(shù)的時候還保存上次的值。在本題中,x是Static變量,第一次點擊命令按鈕的時候,x的初值為0,進入For循環(huán),循環(huán)兩次,y和x的值變化過程分別為:0和2、2和4;第二次點擊命令按鈕,y是臨蒔變量的初值為0,x由于是Static變量,其值是上次值為4,因此For循環(huán)中,y和x的值變化過程為:4和6、10和8;第三次點擊命令按鈕,x的值為10,因此y和x在For循環(huán)中的變化過程為:8和10、18和12,因此答案選B)。25、在窗體上畫一個名稱為Commandl的命令按鈕,然后編寫如下事件過程:PrivateSubCommandl_Click()A$="VisualBasic"PrintString(3,a$)EndSub程序運行后,單擊命令按鈕,在窗體上顯示的內(nèi)容是A、VVVB、VisC、sicD、11標準答案:A知識點解析:本題考查VB常用內(nèi)部函數(shù)。String函數(shù)的語法是:String(number,character)作用是產(chǎn)生字符串,其中character是需要生成的字符,number是生成的個數(shù),比如string(3,"ht")就會生成含義3個“h”的字符串。本題中調(diào)用String函數(shù),number參數(shù)為3,character參數(shù)是A$變量的首字母,因此返回值為:VVV。26、執(zhí)行如下兩條語句后,窗體上顯示的是a=9.8596PrintFormat(a,"$00,00,00")A、0,009.86B、$9.86C、9.86D、$0,009.86標準答案:D知識點解析:此題考察Format函數(shù),該函數(shù)的格式為:Format(expression[,format])其中expression參數(shù)指定要轉(zhuǎn)換的數(shù)值,format參數(shù)是字符串,$表示Currency格式,顯示帶千分符且小數(shù)點右面保存兩位,因此應選選項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運行以上程序,正確的結(jié)果是A、Fomm1的Caption屬性值為100B、Fornrn2的Caption屬性值為-100C、Fornm1的Caption屬性值為-100D、Fornm2的Caption屬性值為100標準答案:B知識點解析:本題考查常用函數(shù)和窗體屬性設置。在Commandl命令按鈕的Click事件代碼里面,定義變量a,初始化為10,然后調(diào)用g函數(shù),參數(shù)為Fomm2和a;在g函數(shù)中,首先判斷輸入的參數(shù)x是否大于10,顯然調(diào)用g函數(shù)時傳入的a為10,因此在g函數(shù)中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程序運行后,單擊命令按鈕,在窗體上顯示的內(nèi)容是A、105B、122C、107D、127標準答案:D知識點解析:本題考查函數(shù)參數(shù)傳遞。在Commandl的Click事件代碼里面,定義了變量x和y,值分別為10和5,然后調(diào)用f1過程;f1過程有兩個參數(shù),其中第一個參數(shù)是ByRef表明是按地址傳遞參數(shù)的,第二個參數(shù)是沒有指明ayVal類型,因此默認頁是ByRef地址傳遞參數(shù),在f1過程中多參數(shù)做的修改,同樣會修改實參;在f1過程中,分別對兩個參數(shù)加2,因此在Commandl的Click代碼里面,調(diào)用fl過程后,x和y的值增加2,變成12和7。29、在窗體上畫一個名稱為File1的文件列表框,并編寫如下程序:PrivateSubFile1_Db1Click()x=Shell(File1.FileName,1)EndSub以下關(guān)于該程序的敘述中,錯誤的是A、x沒有實際作用,因此可以將該語句寫成CallShell(File1.FileName1、)B、雙擊文件列表框中的文件,將觸發(fā)該事件過程C、要執(zhí)行的文件的名字通過File1.FileName指定D、File1中顯示的是的當前驅(qū)動器、當前目錄下的文件標準答案:A知識點解析:本題考查常用內(nèi)部函數(shù),Shell函數(shù)的功能是執(zhí)行一個可執(zhí)行文件,返回一個Variant(Double),如果成功的話,代表這個程序的任務ID,若不成功,則會返回0,選項A)錯誤,x獲取Shell函數(shù)返回值;選項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程序運行后,單擊命令按鈕,在窗體上顯示的內(nèi)容是A、12B、123C、345D、45標準答案:D知識點解析:本題考查數(shù)組和循環(huán)。在Commandl的Click事件代碼里面,定義了數(shù)組a,并通過Array函數(shù)給數(shù)組賦初值。接下來通過For循環(huán)計算數(shù)組元素的累加和Sum,得到累加和后x=Sum/5來計算平均值。最后通過For循環(huán),打印大于平均值的元素。31、執(zhí)行以下程序段a$="abbacddcba"Fori=6To2Step-2X=Mid(a,i,i):Y=Left(a,i)z=Reght(a,i):z=UCase(XYz)NextiPrintz輸出的結(jié)果是A、ABAB、ABBABAC、AABAABD、AABAAB標準答案:B知識點解析:本題考查循環(huán)結(jié)構(gòu)和常用內(nèi)部函數(shù),Mid、Left和Right是字符串截取函數(shù),UCase是把字符串轉(zhuǎn)換成大寫的函數(shù)。在循環(huán)體內(nèi),X是從a字符串的第i位開始,取出i長度的字符串,Y從a字符串的最左邊開始取出長度為i的字符串,Z從a字符串的最右邊開始取出長度為i的字符串,然后把“XYZ”轉(zhuǎn)換成大小并賦值給z。由于循環(huán)體每次操作都一樣,只需要考慮循環(huán)最后一次執(zhí)行的情況,循環(huán)最后一次執(zhí)行的時候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被設置為啟動過程。程序運行后,各模塊的執(zhí)行順序是A、Form1→Mode11→Mode12B、Mode11→Mode12→Form1C、Mode12→Mode11→Form1D、Mode12→Form1→Mode11標準答案:C知識點解析:本題考查啟動順序。本題中,設置Main為啟動過程,而Main位于Model2當中,因此最先運行的是Model2中的Mian過程:在Mian過程中調(diào)用S1過程,而S1位于Modell模塊中,因此接下來運行的是Modell模塊;在S1過程中會調(diào)用S2過程:S2過程中設置Form1.show來啟動From1,因此最后運行的是Form1。33、在窗體(名稱為Form1)上畫一個名稱為Text1的文本框和一個名稱為Commandl的命令按鈕,然后編寫一個事件過程。程序運行后,如果在文本本框中輸入一個字符,則把命令按鈕的標題設置為“計算機等級考試”。以下能實現(xiàn)上述操作的時間過程是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程序運行后,單擊命令按鈕,其結(jié)果為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程序運行后,單擊命令按鈕,輸出結(jié)果是A、ABCDEB、12345C、abcdeD、出錯信息標準答案:A知識點解析:本題考查常用函數(shù)和For循環(huán)。在第一個循環(huán)里面,給數(shù)組a的元素賦值,第一個元素的值為“A”,第二個元素值為“B”,以此類推:接下來第二個For循環(huán)打印輸出數(shù)組a里面的元素值。國家二級VB機試(數(shù)據(jù)類型及運算)模擬試卷第3套一、選擇題(本題共28題,每題1.0分,共28分。)1、為把圓周率的近似值3.14159存放在變量pi中,應該把變量pi定義為A、DimpiAsIntegerB、Dimpi(7)AsIntegerC、DimpiAsSingleD、DimpiAsLong標準答案:C知識點解析:本題考查的考點是有關(guān)VB中的數(shù)據(jù)類型的。VB提供了很多種數(shù)據(jù)類型,其中能接受小數(shù)值的有單精度型Single和雙精度型Double。2、有如下語句序列:Dima.bAsIntegerPrintaPrintb執(zhí)行以上語句序列,下列敘述中錯誤的是A、輸出的a值是0B、輸出的b值是0C、a是變體類型變量D、b是整型變量標準答案:A知識點解析:在VisualBasic中用戶既可以顯式聲明一個變量,也可以不聲明而直接使用變量,顯式聲明變量時每個變量都應使用As子句聲明類型,否則該變量將被視為變體類型。本題中a是變體類型變量,默認初值為False:b是整型變量,默認初值為0。3、假定有如下的程序段:DimintVarAsIntegerintvar=TruePrintintVar則輸出結(jié)果是A、0B、-1C、TrueD、False標準答案:B知識點解析:VB中的邏輯值True和False在參與關(guān)系運算時會自動進行類型轉(zhuǎn)換,其中True轉(zhuǎn)換為-1,F(xiàn)alse轉(zhuǎn)換為0。4、雙精度浮點數(shù)的類型說明符為A、%B、#C、&D、@標準答案:B知識點解析:在VisualBasic中規(guī)定一個變量的數(shù)據(jù)類型可以用類型說明符來標識,如%表示整型、$表示字符串型、!表示單精度浮點型、#表示雙精度浮點型、&表示長整型。5、設窗體文件中有下面的事件過程:PrivateSubCommand1_Click()Dimsa%=100PrintaEndSub其中變量a和s的數(shù)據(jù)類型分別是A、整型,整型B、變體型,變體型C、整型,變體型D、變體型,整型標準答案:C知識點解析:在VB中,可以顯式聲明變量和隱式聲明變量。如果使用Dim、Public、Static等關(guān)鍵字來聲明變量,則為顯式聲明,此時如果不指定變量的類型,則該變量為變體型變量;如果不使用關(guān)鍵字聲明變量而直接使用,視為隱式聲明,此時變量的類型可以使用類型符號來規(guī)定,也可以默認為變體型。本題中的變量a就是使用%來隱式聲明,其類型為整型。6、有數(shù)據(jù)定義語句:DimX,YAsInteger以上語句表明A、X、Y均是整型變量B、X是整型變量,Y是變體類型變量C、X是變體類型變量,Y是整型變量D、X是整型變量,Y是字符型變量標準答案:C知識點解析:在VisualBasic中用戶既可以顯式聲明一個變量,也可以不聲明而直接使用變量,顯式聲明變量時每個變量都應使用As子句聲明類型,否則該變量將被視為變體類型。DimX,YAsInteger表示X是變體類型變量,Y是整型變量。7、以下關(guān)于變量作用域的敘述中錯誤的是A、在窗體模塊的聲明部分聲明的Private變量,其作用域是窗體內(nèi)的所有過程B、在標準模塊的聲明部分聲明的Private變量,其作用域是模塊內(nèi)的所有過程C、在窗體模塊的聲明部分聲明的Pubilc變量,其作用域是本窗體的所有過程D、在標準模塊的聲明部分聲明的Pubilc變量,其作用域是應用程序的所有過程標準答案:C知識點解析:根據(jù)變量的定義位置和定義關(guān)鍵字的不同,變量可以分為以下3種類型:局部(Local)變量:在過程(事件過程或通用過程)內(nèi)定義的變量,其作用域為該變量所在的過程,定義時使用Dim、Static關(guān)鍵字;模塊(Module)變量:模塊變量包括窗體變量和標準模塊變量2種。其中,窗體變量可用于該窗體內(nèi)的所有過程,其作用域為該變量所在的窗體;標準模塊變量是在標準模塊中定義的變量,變量的聲明和使用與窗體模塊中窗體變量類似。區(qū)別是標準模塊是只含有程序代碼的應用程序文件,其擴展名為.bas全局(Public)變量:全局變量也稱為全程變量,在標準模塊的聲明部分聲明。全局變量的作用域最大,可以在工程的每個模塊、每個過程中使用。8、以下不合法的VB變量名是A、filenameB、readC、_yD、e5標準答案:C知識點解析:變量是用一個名稱來表示的,給變量命名時應遵循規(guī)則:名稱只能由字母、數(shù)字和下劃線組成;名稱的第一個字符必須是英文字母,最后一個字符可以是類型說明符;名稱的有效字符為255個;不能用VB的保留字作變量名,但變量名中可以包含保留字,如ConstA:變量名也不能是末尾帶有類型說明符的保留字,如Dim!是不合法的變量名;不區(qū)分字母的大小寫。9、下面變量定義中錯誤的是A、PublicroodAsIntegerB、StaticbufC、DimchAsString*10D、Dima!(-5To-1)標準答案:A知識點解析:定義變量時需要使用As類型或者類型說明符來指明變量的數(shù)據(jù)類型,如果不指明則為隱式聲明,該變量為變體型;mod是關(guān)鍵字表示求余運算,根據(jù)標識符命名規(guī)則不能作為變量名。10、下列說法中,錯誤的是A、變量名長度不能超過127個字符B、變量名的第一個字符必須是字母C、變量名不能使用保留字D、變量名只能由字母、數(shù)字和下劃線組成標準答案:A知識點解析:變量是用一個名稱來表示的,給變量命名時應遵循規(guī)則:名稱只能由字母、數(shù)字和下劃線組成;名稱的第一個字符必須是英文字母,最后一個字符可以是類型說明符;名稱的有效字符為255個;不能用VB的保留字作變量名,但變量名中可以包含保留字,如ConstA;變量名也不能是末尾帶有類型說明符的保留字,如Dim!是不合法的變量名;不區(qū)分字母的大小寫。11、窗體上有一個Text1文本框,一個Command1命令按鈕,并有以下程序:PrivateSubCommand1_click()DimnIfTextl.Text<>"123456"Thenn=n+1:Print"口令輸入錯誤"&n&"次"EndIfEndSub希望程序運行時得到左圖所示的效果,即:輸入口令,單擊“確認口令”命令按鈕,若輸入的口令不是“123456”,則在窗體上顯示輸入錯誤口令的次數(shù)。但上而的程序?qū)嶋H顯示的是右圖所示的效果,程序需要修改。下面修改方案中正確的是()。A、在Dimn語句的下面添加一句:n=0B、把Print”口令輸入錯誤"&n&"次"改為Print"口令輸入錯誤"+n+t"次"C、把Print"口令輸入錯誤"&n&"次"改為Print"口令輸入錯誤"&Str(n)&"次"D、把Dim改為Staticn標準答案:D知識點解析:本題中題干部分的程序之所以會產(chǎn)生不合要求的結(jié)果,其原因是在單擊事件中的第一條語句為Dimn,這樣的話每次單擊按鈕時觸發(fā)此事件,都將會執(zhí)行這條語句,重新定義一個局部變量n并設其默認初值為0。Static語句在過程級別中使用,用于聲明變量并分配存儲空間,在整個代碼運行期間都能保留使用Static語句聲明的變量的值,因此此處應該使用Staticn來聲明變量。12、在窗體上畫一個命令按鈕,然后編寫如下程序:Subinc(aAsInteger)StaticxAsIntegerx=x+aPrintx:EndSubPrivateSubCommand1_Click()inc2:inc3:inc4EndSub程序運行后,第一次單擊命令按鈕時的輸出結(jié)果為A、234B、259C、111418D、4916標準答案:B知識點解析:Static語句在過程級別中使用,用于聲明變量并分配存儲空間,在整個代碼運行期間都能保留使用Static語句聲明的變量的值。本題的inc過程中的x是一個靜態(tài)變量,在三次調(diào)用過程中變量的值會保留,分別為2、2+3、5+4。13、執(zhí)行以下程序段aS="VisualBasicProgramming":b$="C++"c$=UCase(Left$(a$,7))&b$&Right$(a$,12)變量c$的值為A、VisualBASICProgrammingB、VISUALC++ProgrammingC、VisualC++ProgrammingD、VISUALBASICProgramming標準答案:B知識點解析:本題考查的考點是有關(guān)取子串函數(shù)的。在VB中有3種取子串函數(shù):LeR函數(shù)用于在字符串左端開始取n個字符;Right函數(shù)用于在字符串右端開始取n個字符(注意子串中字符的順序與母串中相同);Mid函數(shù)可以實現(xiàn)在任何位置取任何長度的子串,其中長度省略的話將會一直取到串尾。UCase函數(shù)用于把字符串轉(zhuǎn)換成大寫表示。14、要計算x的平方根并放入變量y,正確的語句是A、y=Exp(x)B、y=Sgn(x)C、y=Int(x)D、y=Sqr(x)標準答案:D知識點解析:Exp函數(shù)是求指數(shù)函數(shù);Sgn函數(shù)是求符號函數(shù):Int函數(shù)是取整函數(shù),平方根函數(shù)(Sqr)可以返回N的算術(shù)平方根,N必須大于或等于0。15、語句:PrintAsc(Chr$(Mid$("98765432",4,2)))的輸出是A、65B、AC、8765D、W標準答案:A知識點解析:Mid函數(shù)可以實現(xiàn)在任何位置取任何長度的子串,其中長度省略的話將會一直取到串尾,本題中是從第4位取長度為2的子串即“65”。Chr函數(shù)可以將ASCII碼轉(zhuǎn)成對應的字符,ASC函數(shù)將字符轉(zhuǎn)換成對應的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程序運行后,單擊命令按鈕,輸出結(jié)果是A、ABCDEFB、abcdefC、AFBECDD、DEFABC標準答案:C知識點解析:本題通用過程的功能是:從字符串變量xStr值的左右兩端同時開始,由外向里每次取出兩個字符(左右各一個),組成一個新的字符串。本題程序運行后,當調(diào)用通用過程函數(shù)Fun后,返回值應為“afbecd”,轉(zhuǎn)換為大寫后在文本框中的顯示結(jié)果為“AFBECD”。17、窗體上有一個名稱為Text1的文本框,一個名稱為Command1的命令按鈕。窗體文件的程序如下:PrivateTypexaAsInteger:bAsIntegerEndTypePrivateSubCommand1_Click()DimyAsxy.a(chǎn)=InputBox("")Ify.a(chǎn)\2=y.a(chǎn)/2Theny.b=y.a(chǎn)*y.a(chǎn)Elsey.b=Fix(y.a(chǎn)/2)EndIfText1.Text=y.bEndSub對以上程序,下列敘述中錯誤的是A、x是用戶定義的類型B、InputBox函數(shù)彈出的對話框中沒有提示信息C、若輸入的是偶數(shù),y.b的值為該偶數(shù)的平方D、Fix(y.a(chǎn)/2)把y.a(chǎn)/2的小數(shù)部分四舍五入,轉(zhuǎn)換為整數(shù)返回標準答案:D知識點解析:本題考查的考點是有關(guān)自定義類型和Fix函數(shù)的。用戶可以通過Type語句自定義類型,并可用自定義的類型聲明變量。注意Fix函數(shù)是向下取整,Round函數(shù)是四舍五入。18、設有如下程序:PrivateSubForm_Click()num=InputBox("請輸入一個實數(shù)"):P=InStr(num,".")Ifp>0ThenPrintMid(num,p+1)ElsePrint"END"EndIfEndSub運行程序單擊窗體,根據(jù)提示輸入一個數(shù)值。如果不是輸入實數(shù),則輸出“END”;否則A、用字符方式輸出該實數(shù)B、輸出該實數(shù)的整數(shù)部分C、輸出該實數(shù)的小數(shù)部分D、去掉實數(shù)中小數(shù)點,保留所有數(shù)碼輸出標準答案:C知識點解析:字符串匹配函數(shù)Instt用于查找第二個參數(shù)在第一個參數(shù)中第一次出現(xiàn)的位置,若未找到返回0;Mid(字符串,起始位置[,個數(shù)])函數(shù)用于從已有字符串中取出從指定位置開始的含指定個數(shù)字符的字符串,若不指定個數(shù)將返回字符串中從參數(shù)“起始位置”到字符串尾端的所有字符。本題實際就是先找到小數(shù)點的位置,然后輸出小數(shù)點后面的部分,即小數(shù)部分。19、窗體上有一個名稱為Command1的命令按鈕,單擊該按鈕時所實現(xiàn)的功能是產(chǎn)生10個隨機整數(shù),然后從鍵盤輸入一個整數(shù),查找該數(shù)在數(shù)組中的位置。若找到,輸出該數(shù)的位置;若沒有找到,給出相應的提示。該命令按鈕的單擊事件過程如下:PrivateSubCommand1_Click()Dima(10)AsInteger,xAsIntegerFori=1To10a(i)=Int(Rnd*100)Nextx=InputBox("輸入100以內(nèi)的整數(shù):"):P=0Fori=1To10Ifa(i)=xThenp=i:ExitForEndIfNextIfp=0ThenPrint"沒有找到與輸入數(shù)據(jù)相同的數(shù)!"ElsePrintStr(x)+"在數(shù)組中的位置是"+Str(p)EndIfEndSub對于上述事件過程,以下敘述中正確的是A、本程序?qū)嶋H產(chǎn)生的隨機數(shù)是0-99B、若產(chǎn)生的隨機數(shù)中有相同數(shù),則p是其中最后一個數(shù)的位置C、程序有錯,p的初值設置不對D、程序有錯,InputBox函數(shù)產(chǎn)生的數(shù)據(jù)與x的類型不匹配標準答案:A知識點解析:隨機數(shù)函數(shù)Rnd的功能是用于產(chǎn)生一個小于1但大于或等于0的隨機數(shù)。為了生成某個指定范圍內(nèi)的隨機整數(shù),可使用以下公式:Int((upperbound-lowerbound+1)*Rnd+lowerbound),其中upperbound是隨機整數(shù)范圍的上限,lowerbound是隨機整數(shù)范圍的下限。本題中upperbound為99,lowerbound為0。20、窗

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論