VB 第一章 練習(xí)題_第1頁
VB 第一章 練習(xí)題_第2頁
VB 第一章 練習(xí)題_第3頁
VB 第一章 練習(xí)題_第4頁
VB 第一章 練習(xí)題_第5頁
已閱讀5頁,還剩104頁未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

第一章VB.NET環(huán)境和程序設(shè)計(jì)初步

一.選擇題

1.在VisualStudio.NET的集成開發(fā)的環(huán)境中,下面不屬于該環(huán)境編程語

言的是(C)o

A.VBB.C++C.PascalD.J#

2.在集成開發(fā)環(huán)境中有兩類窗口,浮動窗口和固定窗口,下面不屬于浮動

窗口的是(D)o

A.工具箱窗口B.屬性窗口C.立刻窗口D.窗體窗口

3.在VB.NET中,在窗體上顯示控件的文本,用(A)屬性設(shè)置。

A.TextB.NameC.CaptionD.Image

4.不論何種控件,共同具有的是什么屬性(D)。

A.TextB.NameC.ForeColorD.Text

5.對于窗體,可變更窗體的邊框性質(zhì)的屬性是(B)。

A.MaxButtonB.FormBorderStyleC.NameD.Left

6.若要使標(biāo)簽控件顯示時(shí)不要覆蓋窗體的背景圖案,要對(A)屬性進(jìn)行

設(shè)置。

A.BackColorB.BorderStyleC.ForeColorD.BackStyle

7.若要使叮囑按鈕不行操作,要對(A)屬性進(jìn)行設(shè)置。

A.EnabledB.VisibleC.BackColorD.Text

8.要使文本框中的文字不能被修改,應(yīng)對(D)屬性進(jìn)行設(shè)置。

A.LockedB.VisibleC.EnabledD.Readonly

9.要使當(dāng)前Forml窗體的標(biāo)題欄顯示“歡迎運(yùn)用VB.NET",以下(B)

語句是正確的。

A.Forml.Text="歡迎運(yùn)用VB.NET”

B.Me.Text="歡迎運(yùn)用VB.NET”

C.Forml.Name="歡迎運(yùn)用VB.NET”

D.Me.Name="歡迎運(yùn)用VB.NET”

1。.當(dāng)運(yùn)行程序時(shí),系統(tǒng)自動執(zhí)行啟動窗體的(A)事務(wù)過程。

A.LoadB.ClickC.UnLoadD.

GotFocus

IL當(dāng)文本框的ScrollBars屬性設(shè)置了非None值,卻沒有效果,緣由是

(B)o

A.文本框沒有內(nèi)容

B.文本框的MulitLine屬性為False

C.文本框的MulitLine屬性為True

D.文本框的Locked屬性True

12.要推斷在文本框中是否按了Enter鍵,應(yīng)在文本框的(D)事務(wù)中推

斷。

A.ChangeB.KeyDownC.ClickD.KeyPress

13.在VB.NE集成環(huán)境中創(chuàng)建VB.NET應(yīng)用程序時(shí),除了工具箱窗口、

窗體窗口和屬性窗口外,必不行少的窗口是(C)。

A.窗體布局窗口

B.立刻窗口

C.代碼窗口

D.監(jiān)視窗口

14.當(dāng)創(chuàng)建一個(gè)項(xiàng)目名為“引例”的項(xiàng)目時(shí),該項(xiàng)目的全部代碼文件將保

存在(C)文件夾下。

A.MyDocumentsB.VB.NETC.\引例D.Windows

15.將調(diào)試通過后生成的.exe可執(zhí)行文件放到其他機(jī)器上不能運(yùn)行的主

要緣由是(A)o

A.運(yùn)行的機(jī)器上面無VB.NET系統(tǒng)

B.缺少.frm窗體文件

C.該可執(zhí)行文件有病毒

D.以上緣由都不對

16.對初學(xué)者而言,調(diào)試程序便利,有效的手段是(A)。

A.在可疑的代碼處設(shè)置斷點(diǎn),逐語句跟蹤

B.查看資料

C.通過“立刻”窗口顯示變量的值

D.找老師問緣由

17.當(dāng)須要上下文幫助時(shí),選擇要幫助的“難題”,然后按住(D)鍵,就可

出現(xiàn)MSDN窗口與顯示所需“難題”的幫助信息。

A.HelpB.F10C.EscD.Fl

18.在代碼窗口,代碼下方有藍(lán)色波浪線表示(B)。

A.對代碼設(shè)置了格式

B.編譯錯(cuò)誤

C.邏輯錯(cuò)誤

D.運(yùn)行時(shí)錯(cuò)誤

二.填空題

1.VB.NET是完全面對對象的程序設(shè)計(jì)語言,其最大的特點(diǎn)是

。引入了.net框架

2.技術(shù)能讓編程人員不必編寫代碼就可以創(chuàng)建GUI(圖形用

戶界面)??梢暬幊碳夹g(shù)

3.是由一個(gè)或幾個(gè)項(xiàng)目組成VB.NET程序。解決方

4.當(dāng)_________特性設(shè)置后,浮動窗口將自動隱藏。自動隱藏

5.當(dāng)進(jìn)入VB.NET集成環(huán)境,發(fā)覺沒有顯示“工具箱”窗口,應(yīng)選擇

菜單的選項(xiàng),使“工具箱”窗口顯示,并最

好將其窗口的屬性設(shè)置為o視圖、工具箱、可???/p>

6.新建項(xiàng)目時(shí),要變更默認(rèn)Option設(shè)置,應(yīng)對菜單的

的文件夾進(jìn)行相應(yīng)選項(xiàng)的選擇。

7.對象屬性是指o對象的性質(zhì)來描述和反應(yīng)對象特征的參數(shù)

8.對象的方法是指。對象的動作行為。

9.在剛建立項(xiàng)目時(shí),使窗體上的全部控件具有相同的字體格式,應(yīng)對

的_屬性進(jìn)行設(shè)置。Formfont

10.屬性窗口的屬性可以依據(jù)和依次排列。分類

依次、字母依次

11.當(dāng)對叮囑按鈕的Image屬性裝入.bmp圖形文件后,按鈕上并沒有顯

示所需的圖形,緣由是對_________屬性設(shè)置為oFlatStyle>

system

12.若已建立了Forml,Form2兩個(gè)窗體,默認(rèn)啟動窗體為Formic

通過______菜單的的選項(xiàng)卡,可將啟動對象設(shè)置為

Form2o項(xiàng)目菜單、屬性、常規(guī)

13.在文本框中,通過________屬性能獲得當(dāng)前插入點(diǎn)所在的位置。

Selectionstart

14.要對文本框中已有的內(nèi)容進(jìn)行編輯,按下鍵盤上的按鈕,就是不起作

用,緣由是設(shè)置了的屬性為True。readlony

15.在窗體上已建立多個(gè)控件,如TextBoxl,Label1,Button1,若要

使程序一運(yùn)行焦點(diǎn)就定位在Button1控件上,應(yīng)對Button1控件設(shè)置

tabindex屬性的值為0。

16.要同時(shí)保存解決方案中的每個(gè)文件,最便利的方法是單擊工具欄的

—全部保存按鈕。

其次章VB.NET語言基礎(chǔ)和依次結(jié)構(gòu)

一.選擇題

1.在一個(gè)語句內(nèi)寫多條語句時(shí),每個(gè)語句之間用(B)符號分隔。

A.,B.:C.、D.;

2.一語句要在下一行接著寫,用(C)符號作為續(xù)行符。

A.+B.-C.D.一

3.下面屬于合法的變量名的是(A)。

A.X_yzB.123abcC.IntegerD.X-Y

4.下面屬于不合法的整常數(shù)的是(D).

A.100B.&0100C.&H100D.%100

5.下面屬于合法的字符常數(shù)的是(B)o

A.ABC$B.“ABC"C.'ABC'D.ABC

6.下面屬于合法的單精度型變量的是(A)。

A.mun!B.sum%D.xinte$D.mm#

7.下面屬于不合法的雙精度常數(shù)的是(D)。

A.100#B.100.0C.1E+2D.100.0D+2

8.表達(dá)式16/4-2人5*8/4Mod5\2的值為(B)。

A.14B.4C.20D.2

9.數(shù)學(xué)關(guān)系表達(dá)式34xv10表示成正確的VB.NET表達(dá)式為(B)。

A.3<=x<10B.3<=xANDx<10C.x>=3ORx<10

D.3<=xAND<10

io.\>/、Mod、*四個(gè)算術(shù)運(yùn)算符中,優(yōu)先級別最低的是(C)。

A.\B./C.ModD.*

11.與數(shù)學(xué)表達(dá)式ab/(3cd)對應(yīng),VB.NET的不正確表達(dá)式是()。

zxzzxzzxzzxzzx/??/

A.a*b/(3*c*d)B.a/3*b/c/dC.a*b/3/c/dD.

a*b/3*c*d

12.Rnd函數(shù)不行能為下列(B)值。

A.0B.lC.0.1234D.0.0005

13.1nt(198.555*100+0.5)/100的值是(C)o

A.198B.199.6C.198.56D.200

14.已知A$=則表達(dá)式Val(Mid(A,l,4)+Mid(A,4,2))的值為(B)o

A.123456B.123445C.8D.6

15.MsgBox(DateAdd(umn,2,#1/28/2023#))語句顯示結(jié)果是(A)。

A.2023-3-28B.2023-1-30C.2023-1-28D.2023-1-28

16.表達(dá)式DateDiff(“y”,#12/30/1999#,#1/13/2000#)的結(jié)果是(C)。

A.1B.11C.14D.99

17.表達(dá)式Len(“123程序設(shè)計(jì)ABC”)的值是(A)o

A.10B.14C.20D.17

18.下面正確的賦值語句是(C)。

A.x+y=30B.y=II*r*r;C.y=x+30D.3y=x

19.為了給x、y、z三個(gè)變量賦初值1,下面正確的賦值語句是(A)。

A.x=l:y=l:z=lB.x=l,y=l,z=lC.x=y=z=1D.xyz=l

20.賦值語句“a=123+MID(“123456”,3,2)”執(zhí)行后,a變量中的值是

(D)o

A.“12334”B.123C.12334D.157

21.賦值語句“a=123&MID(“123456”,3,2)”執(zhí)行后,a變量中的

值是(A)o

A.“12334”B.123C.12334D.157

22.已知a=12,b=20,復(fù)合賦值語句“a*=b+l?!眻?zhí)行后,a變量中的

值是(D)o

A.50B.250C.30D.360

二.填空題

1.在VB.NET中,1234,123456&,1.2346E+1.2346D四個(gè)常數(shù)分

別表示,,,類型。

2.整型變量x中存放了一個(gè)兩位數(shù),要將兩位數(shù)交換位置,例如,13變

成31,實(shí)現(xiàn)表達(dá)式是________o

3.表示x是5的倍數(shù)或是9的倍數(shù)的邏輯表達(dá)式為。

4.已知a=3.5,b=5.0,c=2.5,d=True,則表達(dá)式a>=。ANDa+c>b+3

ORNOTd的值是______o

5.Int(-3.5)>Int(3.5)>Fix(-3.5)>Fix(3⑸、Round(3.5)的值分別是___、

、___、___、___、___o

6.表達(dá)式UCase(Mid(“abcdefgh”,3,4))的值是_______。

7.在直角坐標(biāo)系中,x、y是坐標(biāo)系中隨意點(diǎn)的位置,用x和y表示在第

一象限或第三象限的表達(dá)是_________o

10.要顯示當(dāng)前機(jī)器內(nèi)日期,函數(shù)為O

11.計(jì)算離你畢業(yè)(假定2023年6月30日畢業(yè))還有多少個(gè)星期的函

數(shù)表達(dá)式是_________-

12.表示s字符變量是字母字符(大小寫字母不區(qū)分)的邏輯表達(dá)式為

13.下面程序隨機(jī)產(chǎn)生一個(gè)三位正整數(shù),然后逆序輸出,產(chǎn)生的數(shù)與逆序

數(shù)同時(shí)顯示。例如,產(chǎn)生246,輸出是642。

SubButtonl_Click(Handles

Button1.Click

Dimx,yAsInteger

x=Int()

y=(xMod10)*100++x\100

MsgBox("x="&x&x"y="&y)

EndSub

第三章選擇結(jié)構(gòu)

一.選擇題

1.VB.NET供應(yīng)了結(jié)構(gòu)化程序設(shè)計(jì)的三種基本結(jié)構(gòu),三種基本結(jié)構(gòu)是(D)。

A.遞歸結(jié)構(gòu),選擇結(jié)構(gòu),循環(huán)結(jié)構(gòu)

B.選擇結(jié)構(gòu),過程結(jié)構(gòu),依次結(jié)構(gòu)

c.過程結(jié)構(gòu),輸入輸出結(jié)構(gòu),轉(zhuǎn)向結(jié)構(gòu)

D.選擇結(jié)構(gòu),循環(huán)結(jié)構(gòu),依次結(jié)構(gòu)

2.依據(jù)結(jié)構(gòu)化程序設(shè)計(jì)的耍求,下面(C)語句是非結(jié)構(gòu)化程序設(shè)計(jì)語句。

A.if語句B.For語句C.GoTo語句D.Select

Case語句

3.下面程序段運(yùn)行后,顯示的結(jié)果是(A)o

Dimx%

IfxThenMsgBox(x)ElseMsgBox(x+l)

A.lB.OC.-lD.顯示

出錯(cuò)信息

M

4.語句"Ifx=lTheny=l下列說法正確的是(C)o

A.“x=l”和“y=l”均為賦值語句

B.“x=l”和“y=l”均為關(guān)系表達(dá)式

C.“x=l”為關(guān)系表達(dá)式“y=l”為賦值語句

D.“x=l”為賦值語句“y=l”為關(guān)系表達(dá)式

5.下面程序段顯示的結(jié)果是(A)。

Dimx%

x=Int(Rnd)+5

SelectCasex

Case5

MsgBox(“優(yōu)秀”)

Case4

MsgBox(“良好”)

Case3

MsgBox(“通過”)

CaseElse

MsgBox(“不通過”)

EndSelect

A.優(yōu)秀B.良好C.通過

D.不通過

6.下面If語句統(tǒng)計(jì)滿足性別(sex)男、職稱(duty)為副教授以上、年

齡(age)小于40歲條件的人數(shù),正確的語句是(D)。

A.Ifsex="男"Andage<40AndInStr(duty,"教授")>0Thenn=n+l

B.Ifsex="男"Andage<40Andduty="教授"orduty="副教

授"Thenn=n+1

C.Ifsex="男"Andage<40AndRight(duty,2)="教授Thenn=n+l

D.Ifsex="男"Andage<40Andduty="教授"Andduty="副

教授"Thenn=n+1

7.下面程序段求兩個(gè)數(shù)中的大數(shù),()不正確。

A.Maxl=IIf(x>y,x,y)B.Ifx>yThenMaxl=xElseMaxl=y

C.Max1=Math.Max(x,y)C.Ify>=xThenMaxl=yMax=x

8.下面三個(gè)程序設(shè)計(jì)段計(jì)算學(xué)生外語附加分:外語6級(lang6)為“優(yōu)

秀”加15分,“通過”加10分;外語4級(lang4)為“優(yōu)秀”加8

分,“通過”加4分。外語附加分只能計(jì)一次最高的分?jǐn)?shù)。(A)能正確計(jì)

舁。

A.Iflang6="優(yōu)秀"Then

langf=15

Elselflang6="合格"Then

langf=10

Elselflang4="優(yōu)秀"Then

langf=8

Elselflang4="合格"Then

langf=4

Endif

BIflang4=“合格”Then

langf=4

Elselflang4="優(yōu)秀"Then

langf=8

Elselflang6="合格"Then

langf=10

Elselflang6="優(yōu)秀"Then

langf=15

Endif

C.Iflang6=“優(yōu)秀”Thenlangf=15

Iflang6="合格"Thenlangf=10

Iflang4="優(yōu)秀"Thenlangf=8

Iflang4="合格"Thenlangf=4

langf=O

D.Iflang4="合格"Thenlangf=4

Iflang4="優(yōu)秀"Thenlangf=8

Iflang6="合格"Thenlangf=10

Iflang6="優(yōu)秀"Then

langf=15

Else

langf=0

Endif

9.下面語句執(zhí)行后,變量w中的值是(B)。

w=Choose(Weekday(“2023,5,1"),"Red","Green”,

“Blue”,“Yellow”)

A.NothingB.“Red"C.“Green”D.

“Yellow”

二.填空題

1.當(dāng)C字符串變量中第三個(gè)字符是“C”時(shí),利用MsgBox顯示“Yes”,

否則顯示“No”。

IfThenMsgBox("yas")ElseMsgBox(wNoM)Mid(c,3,

1)=“C”

2.程序運(yùn)行后輸出的結(jié)果是_________。

x=Int(Rnd)+3

IfxA2>8Theny=xA2+l

IfxA2=9Theny=xA2-2

IfxA2<8Theny=xA3

MsgBox(y)

3.下面程序的功能是。。

Dimn%,m%

SubTextBox1_KeyPress(....)HandlesTextBoxl.Keypress

IfAsc(e.KeyChar)=13Then

IfIsNumeric(TextBoxl.Text)Then

SelectCaseVal(TextBoxl.Text)Mod2

Case0

n=n+Val(TextBoxl.Text)

Case1

m=m+Val(TextBoxl.Text)

EndSelect

EndIf

TextBoxl,Text=>,”

TextBoxl.Focus()

EndIf

EndSub

4.下面的程序段是檢查輸入的算術(shù)表達(dá)式中圓括號是否配對,并顯示相

應(yīng)的結(jié)果。本程序在文本框中輸入表達(dá)式,邊輸入邊統(tǒng)計(jì),以輸入回車符

作為表達(dá)式輸入結(jié)束,然后顯示結(jié)果,如下圖所示。

Dimcount1%

SubTextBoxl_KeyPress(...............)HandlesTextBoxl.KeyPress

If=笛Then

count1+1

Elself=")”Then

count1=_______

EndIf

IfAsc(e.KeyChar)=13Then

IfThen

MsgBox("左右括號配對”)

Elselfcountl>0Then

MsgBox()

Else

MsgBox("右括號多于左括號”&countl&“個(gè)")

EndIf

ExitSub

EndIf

EndSub

〈留意>

該題中統(tǒng)計(jì)括號個(gè)數(shù)的變量countl若在過程內(nèi)聲明,程序會產(chǎn)生什么

結(jié)果?

5.輸入若干個(gè)字符,統(tǒng)計(jì)有多少個(gè)元音字母,有多少個(gè)其他字母,直到

按Enter鍵結(jié)束,顯示結(jié)果,大、小寫不區(qū)分。其中CountY中放元音

字母個(gè)數(shù),CountC中放其他字符數(shù)。

DimCountY%,CountC%

SubTextBox1_KeyPress(................)Handles

TextBoxl.KeyPress

DimcAsChar

c=_______

If"A”<=cAndc<="Z”Then

SelectCase

Case_________

CountY=CountY+1

CaseElse

CountC=CountC+1

EndSelect

EndIf

If_Then

MsgBox(“元音字母有"&CountY&“個(gè)”)

MsgBox(“其他字母有”&CountC&“個(gè)”)

EndIf

EndSub

6.用If語句,SelectCase語句兩種計(jì)算方法計(jì)算分段函數(shù)

xA2+3x+2當(dāng)x>20

y=sqrt(3x)-2當(dāng)10<=x<=20

l/2+|x|當(dāng)x<10

SubButtonl_Click(....)HandlesButton1.Click

Dimx!,y!

x=Val(TextBoxl,Text)

IfThen

y=x*x+3*x+2

ElselfThen

y=l/2+Math.Abs(x)

Else

y=Math.Sqrt(3*x)-2

EndIf

MsgBox("y="&y)

EndSub

SubButton1_Click(....)HandlesButton1.Click

x=Val(TextBoxl.Text)

SelectCasex

Case__________

y=x*x+3*x+2

Case__________

y=l/2+Math.Abs(x)

CaseElse

y=Math.Sqrt(3*x)-2

EndSelect

MsgBox("y="&y)

EndSub

7.輸入三角形的三邊a、b、c的值,依據(jù)其數(shù)值,推斷能否構(gòu)成三角形。

若能,還要顯示三角形的性質(zhì):等邊三角形、等腰三角形、直角三角形、

隨意三角形。

SubButtonl_Click(....)HandlesButton3.Click

Dimx%,y%,z%

x=Val(InputBox(Uinputx"))

y=Val(InputBox(Uinputx"))

z=Val(InputBox(winputx"))

IfThen

Msg(“能構(gòu)成三角形”)

IfThen

Msg("是等邊三角形”

ElselfThen

Msg("是等腰三角形”)

ElselfMath.Sqrt(x*x+y*y)=zOrMath.Sqrt(y*y+z*z)=xOr

Math.Sqrt(x*x+z*z)=yThen

Msg("是直角三角形”)

Else

EndIf

Else

MsgBox("不能構(gòu)成三角形”)

EndIf

EndSub

8.輸入一個(gè)年份,推斷它是否為閏年,并顯示是否是閏年的有關(guān)信息。

推斷閏年的條件是:年份能被4整除但不能被100整除,或能被400整

除。同時(shí)請用日期型變量的IsLeepYear成員來驗(yàn)證。

SubButton1_Click(....)HandlesButton3.Click

DimdAsDate

d=Now

IfOrd.yearMod400=0Then

MsgBox(d.Year&"是閏年”)

Else

MsgBox(d.Year&"是平年”)

EndIf

Ifd.IsLeepYear()Then

MsgBox(d.Year&"是閏年")

Else

MsgBoxfD.Year&“是平年”)

EndIf

EndSub

第四章循環(huán)結(jié)構(gòu)

一.選擇題

1.以下()是正確的For…Next結(jié)構(gòu)。

A.Forx=lToStep10

Nextx

B.Forx=3To-3Step-3

Nextx

C.Forx=lTo10

re:...

Nextx

Ifi=10ThenGoTore

D.Forx=3To10Step3

Nexty

2.下列循環(huán)體能正常結(jié)束的是(C)。

A.i=5

Do

i=i+l

LoopUntili<0

B.i=l

Do

i=i+2

LoopUntili=10

C.i=10

Do

i=i+l

LoopUntili>0

D.i=6

Do

i=i-2

LoopUntili=1

3.下面程序段的運(yùn)行結(jié)果為。。

labell.text=""

Fori=3To1Step-1

Labell.Text&=Space(5-i)

Forj=lTo2*i-l

Label1.Text*"

Nextj

Labell.Text&=vbCrLf

Nexti

A.*jg*****c*****D*****

************

********

4.當(dāng)在文本框輸入“ABCD”四個(gè)字符時(shí),窗體上顯示是(C)。

SubTextBoxl_TextChanged(....)Handles

TextBoxl.TextChanged

Labell.Text&=TextBox.Text

EndSub

A.ABCDB.AC.AABABCABCDD.A

BAB

CABC

DABCD

5.下列程序段不能分別正確顯示1!、2!、3!、4!的值的是()。

A.Fori=lTo4

n=l

Forj=lToi

n=n*j

Nextj

MsgBox(n)

Nexti

B.Fori=lTo4

Forj=lToi

n=l

n=n*j

Nextj

MsgBox(n)

Nexti

C.n=l

Forj=lTo4

n=n*j

MsgBox(n)

Nextj

D.n=l

j=l

DoWhilej<=4

n=n*j

MsgBox(n)

j=j+l

Loop

二.填空題

1.要使下列For語句循環(huán)執(zhí)行2。次,循環(huán)變量的初值應(yīng)當(dāng)是:

Fork=33To-5Step-2

2.下面程序段顯示個(gè)

Fori=lTo5

Forj=2Toi

MsgBox("*")

Nextj

Nexti

3.下列第4。句共執(zhí)行了4—次,第41句共執(zhí)行了__12一次。

30Forj=lTo12Step3

40Fork=6To2Step-2

41MsgBox(j&""&k)

42Nextk

43Nextj

4.輸入隨意長度的字符串,要求將字符依次倒置。例如,將輸入的

“ABCDEFG”變換成“GFEDCBA”。

SubButtonl_Click(.....)HandlesButton1.Click

Dima$,1%,c$,d$,n%

a=InputBox$("輸入字符串”)

n=_________

d="”

For1=1To

c=Mid(a,1,1)

d=d&c

NextI

MsgBox(d)

EndSub

5.找出被3、5、7除,余數(shù)為1的最小的5個(gè)正整數(shù)。

SubButtonl_Click(.....)HandlesButton1.Click

DimCountN%,n%

CountN=0

n=1

Do

n=n+l

IfThen

MsgBox(n)

countN=CountN+1

EndIf

Loop_______

EndSub

6.有個(gè)長階梯,假如每步跨2階最終剩1階,假如每步跨3階最終剩2

階,假如每步跨4階最終剩3階,假如每步跨5階最終剩4階,假如每

步跨6階最終剩5階,只有當(dāng)每步跨7階時(shí)恰好走完,顯示這個(gè)階梯至少

要有多少階。

〈提示〉

利用其確定是7的倍數(shù)這個(gè)條件,然后依據(jù)同時(shí)滿足除n余m(n=2,

3,4,5,6;m=l,2,3,4,5)的邏輯關(guān)系即可。

SubButtonl_Click(.....)HandlesButton1.Click

Dimn%>m%

Forn=7To10000Step7

IfnMod2=1And

_______________________________________________Then

MsgBox(n)

EndIf

Next

EndSub

8.-----------------------------某班在一周中6天內(nèi)考三門分別為x、y、z

的考試課程,規(guī)定一天只能考一門,先考x,后考y,最終考z,最終一門

最早周五考。用計(jì)算機(jī)排考試,列出滿足條件的方案數(shù)。

SubButtonl_Click(.....)HandlesButton1.Click

Dimx%,y%,z%,n%

n=0

Labell.Text=

Forx=lTo4

Fory=To5

Forz=5To6

IfAndy<zThen

Label1,Text&=x&space(9)&y&Space(9)&z&

vbCrlf

EndIf

Next

Next

Next

“滿足條件的方案為:“&n

EndSub

9.某次大獎(jiǎng)賽,有7個(gè)評委打分,以下程序是針對一名參賽者,輸入7

個(gè)評委的打分分?jǐn)?shù),去掉一個(gè)最高分、一個(gè)最低分,求出平均分,為該參

賽者的得分。

SubButtonl_Click(....)HandlesButton1.Click

Dimmark!,aver!,max1!,min1!

aver=O

Fori=lTo7

mark=InputBox("輸入第"&i&"位評委的打分”)

Ifi=1Then

max1=mark:

Else

Ifmark<minlThen

Elselfmark>maxlThen

EndIf

EndIf

Nexti

aver=________

MsgBox(aver)

EndSub

第五章數(shù)組

一.選擇題

1.如下數(shù)組聲明語句中正確的是(B。

A.Dima[3,4]AsIntegerB.Dima(3,4)AsInteger

C.Dima{3,4}AsIntegerC.Dima(34)AsInteger

2.如下數(shù)組聲明語句中正確的是(B。

A.Dim(9)AsSingle={l,2,3,4,5,6,7,8,9,10}

B.Dima()AsSingle={l,2,3,4,5,6,7,8,9,10}

C.Dima()AsSingle={l,"a”,“be”2.,4,5,6,7,8,9,10}

D.Dima(,)AsInteger={l,2,3,4,5,6,7,8,9,10}

3.如下數(shù)組聲明語句中,數(shù)組a包含元素的個(gè)數(shù)有(C。

Dima(3,0,5)

A.15B.8C.24D.16

4.如下程序輸出的結(jié)果是。。

Dima()AsInteger={l,2,3,4,5,6,7}

Fori=0ToUBound(a)

a(i)a=(i)*a(i)

Nexti

MsgBox(a(i))

A.49B.OC.不確定D.程序出錯(cuò)

5.如下程序輸出的結(jié)果是()。

SubButtonl_Click(......)HandlesButton1.Click

Dimi%,j%

Dima()AsInteger={0,l,2,3,4>5,6,7,8,9},b(3,3)AsInteger

Labell.Text=

Fori=lTo3

Labell.Text&=Space(i*3)

Forj=iTo3

b(i,j)=a(i*j)

Label1.Text&=Space(6-Len(b(i,j))&b(i,j)

Nextj

Labell.Text&=vbCrLf

Nexti

EndSub

A.l23B.lC.l47D.123

4564524646

7897893699

二.填空題

1.在一維數(shù)組中利用移位的方法顯示如圖全部的結(jié)果。

SubButtonl_Click(....)HandlesButton1.Click

Dima⑺AsInteger,i%,t%,j%

Labell.Text=

Fori=lTo7

a(i)=i

Labell.Text&=a(i)&""

Nexti

Labell.Text&=vbCrLf

Fori=lTo7

t=_____________

Forj=6To1Step-1

Nextj

a(l)=__________

Forj=lTo7

Label1.Text&=a(j)&”"

Nextj

Labell.Text&=

Nexti

EndSub

2.下面程序?qū)σ阎獢?shù)組a(),刪除數(shù)組中某個(gè)元素。

SubButtonl_Click(......)HandlesButton1.Click

Dima()AsInteger={l,6,8,3,5,9,10,2,7,4},Key%,i%,j%

Key=Val(InputBox(“輸入要?jiǎng)h除的值“))

Fori=0ToUBound(a)

IfThen

Forj=i+lToUBound(a)

Nextj

ReDim_______________

MsgBox(“刪除完成”)

ExitSub

EndIf

Nexti

MsgBox(“找到不要?jiǎng)h除的元素”)

EndSub

3.矩陣相乘

兩個(gè)矩陣能相乘的必要條件是:前一個(gè)矩陣的列數(shù)等于后一個(gè)矩陣的行數(shù)。

例如,已知A為nxk的矩陣,B為kxm的矩陣,AxB的結(jié)果C矩陣

為n義m,即:

51015520350800

A=B=1025C=

20253015308001925

SubButtonl_Click(....)HandlesButton1.Click

Dima%(2,3),b%(3,2),c%(2,2),i%,j%,n%,k%

Labell,Text=

n=5

Fori=lTo2

Forj=lTo3

a(i,j)=n

n=____________

Nextj

Nexti

Fori=lTo2

Forj=lTo2

c(i,j)=O

Fork=lTo3

c(i,j)=c(i,j)+________

Nextk

Label1.Text&=c(i,j)&""

Nextj

Label1.Text&=vbCrLf

Nexti

EndSub

4.下面的程序是將輸入的一個(gè)數(shù)插入到遞減的有序數(shù)列中,插入后使該序

列仍有序。

SubButtonl_Click(....)HandlesButton1.Click

Dimi%,n%,m%

Dima()AsInteger={9,17,15,13,11,9,7,5,3,1}

n=UBound(a)

ReDim______________________

m=Val(InputBox("輸出欲插入的數(shù)"))

Fori=UBound(a)-1ToStep-1

Ifm>=a(i)Then

Ifi=0Thena(i)=m

Else

ExitFor

EndIf

Nexti

Fori=0To

Label1.Text&=a(i)&

Nexti

EndSub

5.改進(jìn)的冒泡法排序。

在教材中已介紹選擇法、冒泡法。上例運(yùn)用了插入法排序。本例運(yùn)用改

進(jìn)的冒泡法排序,冒泡法排序在每一輪排序時(shí)將相鄰的兩個(gè)數(shù)比較,當(dāng)次

序不對就交換位置,出了內(nèi)循環(huán),最大數(shù)已沉底,小數(shù)上?。幻恳惠唭H使

沉底的數(shù)確定了位置,有個(gè)n個(gè)數(shù),外循環(huán)要進(jìn)行n-1輪排序。為了提高

效率,若在某一輪排序時(shí),未發(fā)生排序位置交換,說明欲排序的序列已有

序,排序就可以結(jié)束。在程序中增加一個(gè)邏輯變量來進(jìn)行推斷即可。程序

如下:

SubButtonl_Click(......)HandlesButton1.Click

DimTagAsBoolean,n%>j%,i%,t%

Dima()AsInteger={l,5,6,7,4,13,23,26,31,51}

n=UBound(a)

Fori=0Ton-1

Tag=False

Forj=0Ton-l-i

Ifa(j)>a(j+l)Then

a(j+l)=t

EndIf

Nextj

IfNotTagThen

Nexti

Fori=0ToUBound(a)

Label1.Text&=a(i)&""

Nexti

EndSub'

6.隨機(jī)產(chǎn)生15個(gè)不重復(fù)的A-Z之間的字母(包括A,Z的大寫字母),存

放在字符數(shù)組中。

實(shí)現(xiàn)的思想是,每產(chǎn)生一個(gè)字母,在數(shù)組中查找已產(chǎn)生的字母。若找到,

剛產(chǎn)生的字母作廢,重新產(chǎn)生;假如找不到,則產(chǎn)生字母放入數(shù)組中。

SubButtonl_Click(....)HandlesButton1.Click

Dims(14)AsChar,cAsChar,n%,j%

s(0)=Chr(Int(Rnd()*26+65))

Forn=lTo14

re:c=

Forj=0To'若找到有重復(fù)字母,重新產(chǎn)生

Ifs(j)=cThen

Nextj

s(n)='沒有重復(fù)的加入數(shù)組中

Nextn

Forj=0To14

Label1.Text&=s(j)&""

Nextj

EndSub

7.隨機(jī)產(chǎn)生15個(gè)A-J的大寫字母,按字母降序排序后,將連續(xù)出現(xiàn)的字

母用壓縮的形式顯示。例如,連續(xù)5個(gè)H字母顯示為5*H,如圖所示。

數(shù)組a()用于存儲隨機(jī)產(chǎn)生字母。

SubButtonl_Click()Handles.Click

ConstN=14

Dima(N)AsChar,cAsChar

Dimcount%,i%,k%

Labell.Text=

Fori=0ToN

a(i)=__________

Labell.Text&=a(i)&""

Nexti

Labell.Text&=vbCrLf

Fori=0ToN-l

k=i

Forj=i+lToN

Ifa(j)>a(k)Then

Nextj

c=a(i)::a(k)=c

Nexti

Fori=0ToN'輸出排序的結(jié)果

Labell.Text&=a(i)&""

Nexti

Label1.Text&=vbCrLf

i=0

DoWhilei<=N'壓縮顯示相同元素

count=1

Ifi<NThenj=i+l

DoWhilea(i)=a(j)

count=__________

Ifj<NThenj=j+lElseExitDo

Loop

Ifcount=1Then

Label1.Text&=a(i)&”"

Else

Label1.Text&=

EndIf

i=________

Loop

EndSub

第六章過程

一.選擇題

1.設(shè)有如下說明:

PublicSubFl(ByRefn%)

n=3*n+4

EndSub

SubButtonl_Click(....)HandlesButton1.Click

Dimn%,m%

n=3

m=4

'調(diào)用Fl語句

EndSub

則在Buttonl_Click事務(wù)中有效的調(diào)用語句是()。

A.Fl(n+m)B.Fl(m)C,F1(5)D.Fl(m,n)

2.下面子過程語句說明最合理的是()。

A.Subfl(ByVain%())B.Subfl(ByRefn%)As

Integer

C.Functionfl%(ByReffl%)C.Functionfl(ByVain%)

3.要想從子過程調(diào)用后返回兩個(gè)結(jié)果,下面子過程語句說明合法的是()。

A.Subf2(ByValn%,ByVaim%)B.Subfl(ByRefn%,ByVai

m%)

B.Subfl(ByRefn%,ByRefm%)D.Subfl(ByVain%,

ByRefm%)

4.在過程中定義的變量,若希望在離開該過程后還能保存過程中的局部變

量的值,則應(yīng)運(yùn)用0關(guān)鍵字在過程中定義過程級變量。

A.DimB.PrivateC.PublicD.Static

5.下面過程運(yùn)行后顯示的結(jié)果是。。

PublicSubFl(ByRefn%,ByVaim%)

n=nMod10

m=m\10

EndSub

SubButtonl_Click(......)HandlesButtonl_Click

Dimx%,y%

x=12:y=34

CallFl(x,y)

MsgBox(x&""&y)

EndSub

A.234B.1234C.23D.123

6.如下程序,運(yùn)行的結(jié)果是。。

SubButtonl_Click(....)HandlesButton1.Click

MsgBox(pl(3.0,7))

EndSub

PublicFunctionpl!(ByValx!,ByVain%)

Ifn=0Then

pl=l

Else

IfMod2=1Then

p1=x*p1(x,n\2)

Else

pl=pl(x,n\2)\x

EndIf

EndIf

EndFunction

A.18B.7C.14D.27

7.如下程序,運(yùn)行的結(jié)果是()。

Dima%,b%,c%

PublicSubp1(ByRefx%,ByRefy%)

Dimc%

x=2*x:y=y+2:c=x+y

EndSub

PublicSubp2(ByRefx%,ByVaiy%)

Dimc%

x=2*x:y=y+2:c=x+y

EndSub

SubButtonl_Click(......)HandlesButton1.Click

a=2:b=4:c=6

Callpl=(a,b)

MsgBox(aa="&a&"b="&b&"c="&c)

Callp2(a,b)

MsgBox("a="&a&"b="&b&"c="&c)

EndSub

A.a=2b=4c=6B.a=4b=6c=10

a=4b=6c=10a=8b=8c=16

C.a=4b=6c=6D.a=4b=6c=14

a=8b=6c=6a=8b=8c=6

8.如下程序,運(yùn)行后各變量的值依次為()。

PublicSubProc(ByRefa%())

Statici%

Do

a(i)=a(i)+a(i+l)

i=i+l

LoopWhilei<2

EndSub

SubButtonl_Click(....)HandlesButton1.Click

Dimm%,i%,x%(10)

Fori=0To4

x(i)=i+l

Nexti

Fori=lTo2

CallProc(x)

Nexti

Fori=0To4

MsgBox(x(i))

Nexti

EndSub

A.34756B.35745

C.23445D.45678

二.填空題

1.如下程序,運(yùn)行顯示的值是__________,函數(shù)過程的功能是

PublicFunctionf(ByValn%,ByVair%)

Ifn<>0Then

f=f(n\r,r)

MsgBox(nModr)

EndIf

EndFunction

SubButtonl_Click(.....)HandlesButton1.Click

MsgBoxf(f(100,8))

EndSub

2.如下程序,運(yùn)行顯示的值是________,函數(shù)過程的功能是

PublicFunctionf(ByValm%,ByVain%)

DoWhilem<>n

Ifm>nThen

m=m-n

Else

n=n-m

EndIf

Loop

f=m

EndFunction

SubButtonl_Click(....)HandlesButtonl_Click

MsgBox(f(24,18))

EndSub

3.兩個(gè)質(zhì)數(shù)的差為2,稱此對質(zhì)數(shù)為質(zhì)數(shù)對,下列程序是找出10。以內(nèi)的

質(zhì)數(shù)對,并成對顯示結(jié)果。其中,函數(shù)IsP推斷參數(shù)m是否為質(zhì)數(shù)。

PublicFunctionIsP(ByVaim)AsBoolean

Dimi%

Fori=2ToInt(Math.Sqrt(m))

IfThenIsP=False

Nexti

EndFunction

SubButtonl_Click(....)HandlesButton1.Click

Dimi%,pl,paAsBoolean

pl=IsP(3)

Fori=5To100Step2

p2=IsP(i)

IfThenLabel1.Text&=i-2&“”&i

Pl________

Nexti

EndSub

4?子過程MoveStr。是把字符數(shù)組移動m個(gè)位置。當(dāng)Tag為True,左移,

則前m個(gè)字符移到字符數(shù)組尾,例如,“abcdefgh『左移三個(gè)位置后,

結(jié)果為“defghijabc";當(dāng)Tag為False,右移,則后m個(gè)字符移到字符

數(shù)組前,如“abcdefghij”右移三個(gè)位置后,結(jié)果為“hijabcdefg”。

子過程如下:

PublicSubMoveStr(ByRefa$(),ByValm%,ByVaiTagAs

Boolean)

Dimi%,j%,t$

IfThen

Fori=lTom

Forj=0To—

a(j)=a(j+l)

Nextj

Nexti

Else

Fori=lTom

Forj=UBound(A)

a(j)=a(j-l)

Nextj

Nexti

EndIf

EndSub

5.子過程CountN用來統(tǒng)計(jì)字符串中各數(shù)字字符(“0”~“9”)出現(xiàn)的個(gè)

數(shù);主調(diào)程序?qū)崿F(xiàn)在TextBoxl框輸入的文本,每次單擊“統(tǒng)計(jì)”按鈕,

調(diào)用該子過程,在Labell框中顯示結(jié)果,運(yùn)行界面如圖所示

SubButtonl_Click(....)HandlesButton1.Click

Dim

溫馨提示

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

評論

0/150

提交評論