第一篇:VB程序設計練習題附加答案
《VB程序設計》綜合復習資料
三、簡答題
1、代碼窗口主要包括哪幾部分?
2、在工程資源管理器窗口中,主要列出了哪三類文件?
3、窗體布局窗口的主要用途是什么?
4、VB的基本特點是什么?
5、怎樣理解可視化設計?
6、怎要理解事件驅動編程?
C.設置文本框的焦點 D.改變文本框的內容
2、應用程序設計完成后,應將程序保存,保存的過程是(d)
A.只保存窗體文件即可 B.只保存工程文件即可
C.先保存工程文件,之后保存窗體文件
D.先保存窗體文件(或標準模塊文件),之后還要保存工程文件
3、VB應用程序的運行模式是(c)
A.解釋運行模式 B.編譯運行模式
C.兩者都有
D.匯編模式
4、任何控件都具有的屬性是(a)
A.TEXT B.CAPTION
C.NAME
D.FORECOLOR
5、決定控件上文字的字體、字形、大小及效果的屬性是(D)
A.TEXT B.CAPTION
C.NAME
D.FONT
6、在窗體上建立了多個控件,如TEXT、LABEL1、COMMAND1,若要使程序一運行焦點就定位在COMMAND1控件上,應將COMMAND1控件的(B)設置為0 A.INDEX B.TABINDEX
C.TABSTOP
D.ENABLED
7、運行時,當用戶向文本框輸入新的內容,或在程序代碼中對文本框的TEXT屬性進行賦值從而改變了文本框的TEXT屬性值時,將觸發文本框的(A)事件
A.CLICK B.DBLCLICK
C.GOTFOCUS
D.CHANGE
8、在運行時,按TAB鍵跳過了一個可以獲得焦點的控件(如文本框),則可能是因為(B)
A.該控件的TABSTOP屬性值為TRUE
B.該控件的TABINDEX屬性值為FALSE C.該控件的ENABLED屬性值為TRUE
D.該控件的ENABLED屬性值為FALSE
9、為了防止用戶隨意將光標置于控件上,應(A)
A.將控件的TABINDEX屬性設置為0 B.將控件的TABSTOP屬性設置為TRUE C.將控件的TABSTOP屬性設置為FALSE D.將控件的ENABLED屬性設置為FALSE
10、若要使標簽控件顯示時,不覆蓋其背景內容,應設置標簽控件的(D)屬性
A.BACKCOLOR C.FORECOLOR
B.BORDERSTYLE D.BACKSTYLE
11、如果要在文本框中輸入字符時,只顯示某個字符,如星號(*),運行時,在文本框中輸入的字符仍然顯示出來,而不顯示星號,原因可能是(B)
A.文本框的MULTILINE屬性值為TRUE B.文本框的LOCKED屬性值為TRUE C.文本框的MULTILINE屬性值為FALSE D.文本框的LOCKED屬性為FALSE
12、在運行階段,要在文本框TEXT1獲得焦點時選中文本框中所有內容,對應的事件過程是(B)
A.Private Sub Text1_GotFocus()Text1.SelStart=0 Text1.Sellength=Len(Text1.Text)End Sub B.Private Sub Text1_LostFocus()Text1.SelStart=0 Text1.Sellength=Len(Text1.Text)End Sub C.Private Sub Text1_Change()Text1.SelStart=0 Text1.Sellength=Len(Text1.Text)End Sub D.Private Sub Text1_SetFocus()Text1.SelStart=0 Text1.Sellength=Len(Text1.Text)End Sub
13、Visual Basic繼承了Basic語言簡單易用的語法特點,同時支持面向對象的編程機制,其中構成其控件(對象)的三要素是(D)
A.屬性、事件、事件過程
C.屬性、過程、方法
B.控件、窗體、事件 D.屬性、事件、方法
14、決定標簽(Label)顯示的屬性是(C)
A.Text
B.Name
C.Caption
D.Alignment
15、命令按鈕的標題文字由(B)屬性來設置。
A.Text
B.Caption
C.Name
D.(名稱)
16、若要設置文本的顯示顏色,則可用(A)屬性來實現。
A.BackColor
B.Forecolor
C.FillColor
D.Backstyle
17、在運行時,若要調用某命令鈕的Click事件過程,則可設置該命令鈕對象的()屬性為Ture來實現。
A.Enabled
B.Value
C.Default
D.Cancel
18、在運行時,若要獲得用戶在文本框中所選擇的文本,可通過訪問()屬性來實現。
A.SelStart B.SelLenght
C.Text
D.SelText
三、簡答題
1、事件驅動的含意是什么?舉例說明。
2、交互式開發方法和傳統的應用程序開發過程有什么不同?
3、文本框在什么情況下使用?
4、什么是工程?
5、結構化程序設計的三種基本結構是什么?
6、對象的三要素是什么?并分別進行簡單的解釋。
7、為什么要生成可執行文件和制作安裝盤?
8、使用變量前先聲明有什么好處?
9、如何使用幫助功能?
10、結構化程序設計的特點是什么?
11、為了把焦點移到某個指定的控件,在代碼中應使用的方法是什么?
12、啟動Visua Basic后,只創建了一個窗體,若此時保存,需要保存幾個文件?各是什么文件?先保存的是哪一個?
13、為了防止文本框中的信息運行后被用戶修改,應設置什么屬性?
1、一般可以使用__________關鍵字聲明常量。
2、______類型也稱變體類型,是一種通用的、可變的數據類型,它可表示或存儲任何一種數據類型。
3、變量的聲明分為兩種方法:__________和____________。
4、在VB中,用___________________語句設定數組的下界,用_____________和__________________語句分別返回數組的上、下界。
5、在代碼模塊中加入Option Explicit的目的是_____________________。
6、function aa(a1 as date,optional a2 as boolean)as single,寫出optional命令的作用__________________。
7、在VB中,我們用一個簡單的______語句就能實現退出程序。
8、生成消息框的命令是____________,生成輸入框的命令是____________。
9、通用對話框(commondialog)屬activex控件,它可以顯示多個標準對話框,包括打開/另存為、字體、打印等對話框,若要顯示所有文件,則應設置其屬性filter=____________,若要使它顯示為打印對話框,則應使用什么方法____________。
10、從字符串中任意位置截取字符的函數是__________。
11、語句For j = 3 To 20 Step 3 使循環體執行了______次。
12、對于正在使用的動態數組Arraya(),要增加一個單元,但不能破壞數組內的數據,則應使用語句__________________________________。
13、在Visual Basic中聲明靜態變量的關鍵字是_________________。
14、表達式10 Mod 6 4的值為______。
15、表達式chr(Asc(“a”)+ 5)的值為_________。
16、VB中使用注釋有2種方法,即________和________。
17、VB中的數據以四種形式存儲:常量、_________、_________和記錄。
18、為了在VB中存儲一個4行5列的二維矩陣,需要定義一個整型的數組,請把數組定義語句補充完整:Dim Juzhen(_
_)as Integer。
19、控件數組由一組相同類型的控件組成,這些控件共用一個相同的控件名,但是每個控件都有一個唯一的下標來區分,我們使用屬性__
__來設置下標。
20、在過程調用中,實現調用過程的實參和被調用過程的形參之間的數據傳遞有兩種方式:按值傳遞和__
__。
21、為了保證程序中必須對變量的強制性定義,需要在代碼模塊的聲明部分加入______________語句。
22、分析For……Next循環結構的實例:For i = 5 To 30 Step 2 中,循環體一共執行了______次。
23、表達式Mid(“UniversityOfPetroleum”, 8, 4)的值為_________。
24、常量分為普通常量和__________常量。
25、要將大寫字母轉換為小寫字母,可使用____________函數。
26、不管焦點在哪個控件上,按__________鍵相當于按了取消按鈕。
27、執行“工程”菜單下的__________命令,可選擇并添加ActiveX控件。
28、__________是程序中VB停止執行的地方。
29、邏輯常量為True或__________。
30、使用了__________________的聲明后,當程序中使用未經聲明的變量時,程序運行時會報錯。
31、要將小寫字母轉換為大寫字母,可使用____________函數。
32、自字符串N1位開始向右取N2個字符,要使用_________________函數。
33、日期常量表示時,用符號__________將日期型數據括起來。
34、局部變量只能在__________中聲明和使用。
35、模塊級變量的聲明關鍵字是Dim或__________。
36、函數Abs(x)的功能是__________。
37、表達式3/6*5的值是__________。
二、選擇題
1、以下哪個是合法的變量()
A.right B.abc@123
C.123_abc
D.ab123c
2、下列說法錯誤的是()
A.在同一模塊不同過程中的變量可以同名
B.不同模塊中定義的全局變量不可以同名
C.引用另一模塊中的全局變量時,必須在變量名前加模塊名 D.同一模塊中不同級的變量可以同名
3、把MsgBox的返回值轉換為數值應該使用的函數是()
A.Log
B.Str
C.Len
D.Val
4、語句DIM AA(3,4,5)中定義的數組有()個元素
A.12
B.60
C.120
D.345
5、下面程序運行后輸出的結果是()
A$=“CHINA”
B$=STRING$(3,A$)
PRINT B$
END A.CHI
B.CCC
C.INA
D.AAA
6、以下語句的輸出結果是()
Print Format$(32548.5, “000,000.00”)A.32548.5
B.325,485.00
C.032,548,50
D.32,548,50
7、以下敘述中錯誤的是()
A.如果過程被定義為Static類型,則該過程中的局部變量都是Static類型 B.Sub過程中不能嵌套定義Sub過程 C.Sub過程中可以嵌套調用Sub過程
D.事件過程可以像通用過程一樣由用戶定義過程名
8、Visual Basic提供的On Error Resume next錯誤陷阱語句表示()
A.當發生錯誤時,使程序轉跳到語句標號為0的程序塊 B.當發生錯誤時,不使用錯誤處理程序塊 C.當發生錯誤時,忽略錯誤行,繼續執行下一語句 D.當發生錯誤時,終止本過程執行,繼續執行下一過程
9、在Visual Basic中,若要將控制權交給操作系統則通過()的語句。
A.End
B.Exit Do
C.Exit Sub
D.DoEvents
10、在Visual Basic 中語句的續行號采用()
A.空格與下劃線
B.下劃線與空格
C.空格與短線
D.短線與空格
11、假定有以下程序段:
For i=1 to 3
For j=5 to 1 Step –1 Print i*j Next j,i 則語句Print i*j的執行次數是()A.15
B..16
C.17
D.18
12、從鍵盤上輸入兩個字符串,分別保存在變量str1、str2中。確定
18、下列語句中正確的是()
A.txt1.text+txt2.text=txt3.text B.command1.name=cmdok C.12label.caption=1234
D.a=inputbox(“hello”)
19、假設變量BOOLVAR是一個布爾型變量,則下面正確的賦值語句是()
A.BOOLVAR=?TRUE? C.BOOLVAR=#TRUE#
B.BOOLVAR=.TRUE D.BOOLVAR=3<4
20、以下()程序段可以實施X、Y變量值的變換()
A.Y=X:X=Y B.Z=X:Y=Z:X=Y C.Z=X:X=Y:Y=Z D.Z=X:W=Y:Y=Z:X=Y
21、語句PRINT “SGN(-26)=”;SGN(-26)的輸出結果為()
A.SGN(-26)=26 C.SGN(-26)= +1 B.SGN(-26)=-26 D.SGN(-26)=-1
22、讀下面程序段,判斷變量Str2的取值是()
Dim Str1, Str2 as String Str1=“University” Str2=STRING$(3,Str1)A.Uni C.ity B.UUU D.yyy
23、VB支持自定義數據類型,在某程序中我們定義了如下類型:
Student string As String As Integer Type 針對上述定義,如下幾項用法正確的是()
A.Student.name=“張三”
B.Dim s As Student s.name=“張紅”
C.Dim s As Type Student
D.Dim s As Type
s.name=“張三”
s.name=“張三”
24、一個工程中包含兩個名稱分別為Form1、Form2的窗體,一個名稱為mdlFunc的標準模塊。假定在Form1、Form2和mdlFunc中分別建立了自定義過程,其定義格式為:
Form1中定義的過程: Private Sub frmfunction1()End Sub Form2中定義的過程: Public Sub frmfunction2()End Sub mdlFunc中定義的過程: Public Sub mdlFunction()End Sub 在調用上述過程的程序中,如果不指明窗體或模塊的名稱,則以下敘述中正確的是()A.上述三個過程都可以在工程中的任何窗體或模塊中直接被調用 B.只有mdlFunction過程能夠被工程中各個窗體或模塊直接被調用
C.frmfunction1只能在form1中調用,而frmfunction2 則可以在所有模塊或窗體中被直接調用
D.上述三個過程都只能在各自被定義的模塊中直接調用
25、VB中Do……Loop結構既可以構成當型循環,也可以構成直到型循環,根據下面的代碼:
Dim i,n as Integer n = 20 i = 1 Do
Print i;
i = i + 2
Loop Until i >20 判斷循環結構的類型和循環體的執行次數,正確的選項是()A.當型循環,20次
C.當型循環,10次
B.直到型循環,10次 D.直到型循環,20次
26、在程序中,使用InputBox函數可以接受用戶的輸入,如果要把它的返回值轉換為數值型的數據,應該使用的函數是()
A.Val
B.Len C.Str
D.Log
27、動態數組因為在程序運行前無法確定數組的大小,所以經常根據程序的運行情況,對數組進行重新定義,以下關于VB中動態數組的敘述中不正確的是()
A.可以用ReDim語句重新定義動態數組,并且可以進行多次重定義 B.首次用Dim進行動態數組聲明的時候,必須指明它的類型和上下界 C.Preserve為ReDim語句的可選參數,用于保留動態數組原來的內容 D.當對動態數組使用Erase語句進行釋放操作時,將釋放其內存
28、VB中的控件也叫做部件或組件,主要包括三類,以下哪一項不屬于VB控件的分類()
A.控件
B.可插入對象
D.ActiveX控件 C.ADO控件
29、表達式4+5 6 * 7 / 8 Mod 9 的值是()
A.4 B.5 C.6
D.7
30、可以同時刪除字符串前導和尾部空白的函數是()
A.Ltrim B.Rtrim
C.Trim
D.Mid
三、簡答題
1、全局變量聲明有哪些限制?
2、字符串是否可以自動轉換為數字類型?
3、用Format函數格式化后的字符格式在不同區域環境下的輸出是否相同?為什么?
4、在InputBox函數中,哪一個參數是必需的?
5、在MsgBox函數中哪一個參數是必須的?
6、在什么情況下使用過程?
7、為什么要進行程序調試?
8、調試程序有哪些手段?
9、用語句Dim A(-3 To 5)As Integer定義的數組的元素個數是多少?
10、設有如下的Visual Basic表達式:5*x^2-3*x-2*Sin(a)/3,與它對應的數學式是什么?
11、數學式(2x?a)(3y?b)對應的VB表達式是什么?
12、表達式2>3 And 4<=5 Or 4>4的值是什么?
13、怎樣在程序中設置斷點?
14、在什么情況下可以設置斷點?
15、程序出錯的類型有哪幾種?
16、在同一模塊、不同過程中聲明的相同變量名,兩者是否表示同一個變量?為什么?
17、什么情況下會出現“數組下標越界錯誤”?
18、逐語句和逐過程有什么區別?
19、表達式2.75 * 2 3.45的值是什么?
20、在程序設計中為什么盡量不用GoTo語句?
四、讀程序題
1、分析以下程序,寫出運行結果。
Private Sub Form_Click()
score = Int(Rnd * 10)+ 80
Select Case score
Case Is < 60
A$ = “F”
Case 60 To 69
A$ = “D”
Case 70 To 79
A$ = “C”
Case 80 To 89
A$ = “B”
Case Else
A$ = “A”
End Select
Print A$
End Sub
2、讀下面的程序,分析其功能,寫出運行結果。
在窗體上有一個命令按鈕,名稱為Command1。然后編寫如下程序:
Private Sub Command1_Click()For I = 1 To 4 For J = 0 To I Print Chr$(65 + I);Next J Print Next I End Sub 程序運行后,如果單擊命令按鈕,則在窗體上顯示的內容是什么?
3、閱讀下面的程序,分析并寫出其功能。
Sub insert(a()As Single,ByVal x As Single)Dim m as integer,n as integer n=1 Do While n<20 And x>a(n)n=n+1 Loop For m=20-1 To n Step –1 a(m+1)=a(m)Next m
a(n)=x End Sub
4、分析以下程序,寫出運行結果。
Sub subP(b()As Integer)For i =1 To 4 b(i)=2*i Next i End Sub
Private Sub Commandl_Click()Dim a(1 To 4)As Integer a(1)=5 a(2)=6 a(3)=7 a(4)=8 subP a()For i =1 To 4 Print a(i)Next i End Sub 運行上面的程序,單擊命令按鈕,輸出結果是什么?
5、分析以下程序,寫出運行結果。
Sub sele()Dim n as Integer i=21:n=3 Do While i>n
i=i-n
Loop Print i End Sub
6、分析以下程序,寫出運行結果。
Sub selectPrint()Dim a as Integer Dim b as Integer Dim c as Integer a=2:b=5:c=2 If(a>=b)and(a>=c)or(b>c)Then
Print a a=a+2 Else Print b EndIf Print a;b;c End Sub
7、分析以下程序,寫出運行結果。
Sub swap()Dim x as Integer Dim y as Integer Dim z as Integer x=1:y=2:z=0 Print x;y;z x=x+y x=x*z Print x,y,z
End Sub
8、分析以下程序,寫出運行結果。
Sub selectPrint()Dim a as Integer Dim b as Integer Dim c as Integer a=3:b=3:c=2 If(a>=b)and(a>c)Then Print a Print a,b,c End Sub
五、編程題
1、輸入一年號,判斷它是否是閏年。界面如下圖所示,包括兩個標簽、一個文本框和一個命令按鈕。提示:如果此年號能被400整除或者不能被400除盡,也不能被100除盡,但能被4整除,則它是閏年;否則,不是閏年。
2、輸入兩個正整數m、n,求m和n的最大公約數。要求建立如下圖所示的窗體,其中主要的控件包括:兩個標簽(Lable1、Lable2)、兩個文本框(Text1、Text2)和一個按鈕(Command1)。
3、輸入某學生成績(百分制),若是100≥成績≥90輸出優秀;若是90>成績≥80輸出良好;若是80>成績≥70輸出中等;若是70>成績≥60輸出及格;若是60>成績≥0,輸出不及格;若是其他數則輸出error信息。
4、在窗體中顯示從9號字型到16號字型。
5、在有序序列中插入一個數,使插入后的數列仍然有序(設按由小到大排列)。
6、編程實現二維數組轉置。
7、隨機輸入10個100以內的整型數,計算其和及平均值。
8、找出所有的水仙花數。水仙花數是個三位數,它的各位數字的立方和等于這個三位數本身。例如371=33+73+13,則371是水仙花數。
9、從鍵盤輸入一個大于2的正整數,判斷該數是否是素數。
10、求二維數組中的最小值及其所在行號、列號。
11、求一元二次方程ax2+bx+c=0的根(包括實根和復根)。
12、輸入一個正整數n,計算出n!并輸出。
13、Faibonacci數列為0,1,1,2,3,5,8,13 ?,計算并輸出 Print List1.______________ End Sub(2)單擊列表框某一項時立即將該項打印在窗體上:
Private Sub List1_Click()Print_______________ End Sub(3)按下命令按鈕Command1時在窗體上刪除 Label1.Caption = Hscroll1.__________________ End Sub
14、列表框(ListBox)用于列出可供選擇的項目的列表,用戶可以選擇一個或多個項目。它具有幾個非常重要的數組屬性,其中__
__屬性存放了列表框中所有項目的值。
15、菜單項一般由標題、訪問鍵、快捷鍵和復選標志等構成,通過對相應的屬性進行設置可以改變這些項目的狀態,其中與復選標志相對應的屬性是__
__。
16、keydown與keypress事件各有其參數,若需獲得用戶按下 “a” 還是 “A” 需用____________事件。
17、控件________組合了文本框和列表框的功能,是VB中一種功能非常強大的選擇類控件。
18、若需要將窗體Form2以模態窗口的形式顯示出來,可通過執行代碼_________________來實現。
19、菜單中的分隔條是一種菜單控件,不響應__________事件,不能被選中。
二、選擇題
1、當程序運行時,在窗體上單擊鼠標,以下哪個事件是窗體不會接收到()A.MouseDown B.MouseUp
C.Load
D.Click
2、窗體Form1的Name屬性是Frm1,它的單擊事件過程名是()
A.Form1_Click
B.Form_Click
C.Frm1_Click
D.Me_Click
3、用于設置通用對話框控件顯示文件類型的屬性是()
A.Filter
B.Path
C.Partern
D.FoleName
4、用于從內存刪除窗體的命令是()
A.Move
B.Hide
C.Unload
D.Delete
5、用于返回窗體可用區域寬度的屬性是()
A.ScaleWidth
B.ScaleLeft
C.ScaleHeight
D.ScaleTop
6、下列關于屬性設置的敘述錯誤的是:()
A.一個控件具有什么屬性是VB預先設計好的,用戶不能改變 B.一個控件具有什么屬性是VB預先設計好的,用戶可以改變 C.一個控件的屬性即可以在屬性窗口中設置,也可以用程序代碼設置
D.一個控件的屬性在屬性窗口中設置,還可以利用程序代碼為其設置新值
7、下列說法正確的是()
A.對象屬性只能在“屬性窗口”中設置 B.一個新的工程可以在“工程窗口”中建立 C.必須先建立一個工程,才能開始設計應用程序 D.只能在“代碼窗口”中編寫程序代碼
8、下列關于窗體上控件的基本操作錯誤的是()
A.按下一次DEL鍵只能刪除一個控件 B.按下一次DEL鍵可以同時刪除多個控件
C.按住SHIFT鍵,然后單擊每個要選擇的控件,可以同時選中多個控件 D.按住ALT鍵,然后單擊每個要選擇的控件,可以同時選中多個控件
9、下列關于設置控件屬性的敘述正確的是()
A.用戶必須設置屬性值
B.所有的屬性值都可以由用戶隨意設定 C.屬性值不必一一重新設置 D.不同控件的屬性項都完全一樣
10、不可以通過下列()操作將焦點賦給對象
A.運行時使用TAB鍵
B.在代碼中用CALL語句調用 D.用訪問鍵或用鼠標單擊選擇對象 C.在代碼中用SETFOCUS方法
11、要在FORM_LOAD事件過程中使用PRINT方法在窗體上輸出一定的內容,應()
A.設置窗體的VISIBLE屬性
C.調用窗體的SHOW方法
B.設置窗體的CAPTION D.設置窗體ENABLED屬性
12、下面()對象無CAPTION屬性
A.FORM B.COMMANDBUTTON
C.TEXTBOX
D.LABEL
13、通用對話框控件和文件列表框控件中,都能根據文件的類型對要顯示的文件進行篩選過濾,后者使用()屬性進行該項設置。
A.Pattern B.Path
C.Filter
D.FileName
14、對于復選框控件chkBoy,如果在程序中設置它為選中狀態,下面語句正確的是()
A.chkBoy.Checked = true
C.chkBoy.Selected = true
B.chkBoy.Value = true D.chkBoy.Value = 1
15、計時器(Timer)控件用于每隔一段時間自動觸發一次Timer事件,可以有規律地重復執行一段程序,它用于設置兩次事件時間間隔的屬性是()
A.Interval
B.SmallChange D.Max
C.LargeChange
16、以下關于VB中窗體(Form)的說法中,不正確的描述為()
A.執行Unload Form語句后,窗體Form消失,但仍在內存中
B.當窗體的Enabled屬性為False時,通過鼠標和鍵盤對窗體的操作都被禁止 C.窗體的Height、width屬性用于設置窗體的高和寬 D.窗體的load事件在加載窗體時發生
17、關于滾動條控件,下面說法錯誤的是()
A.點擊滾動條的箭頭,可以改變它的value值,從而引發Change事件 B.拖動滾動框,可以觸發Scroll事件
C.通常,水平滾動條的值從左向右遞增,垂直滾動條的值自上而下遞增 D.拖動滾動框,可以觸發Change事件,而且是連續觸發的
18、在窗體上放置一個命令按鈕,名稱為Command1。單擊命令按鈕時,執行如下事件過程:
PriVate Sub Command1_C1ick()a$=“software and hardware” b$=Right(a$,8)c$=Mid(a$,1,8)Msgbox a$,b$,c$,1 End Sub 則在彈出的信息框的標題欄中顯示的信息是()A.softWare and hardware C.hardwafe
B.software D.出現錯誤
19、在多重窗體程序設計中,關鍵的問題是要解決不同窗體之間的銜接和窗體的顯示、關閉等問題,以下關于窗體的相關語句和方法的敘述中,錯誤的是()
A.Load語句用于加載指定窗體,即在內存中創建該窗體 B.Show方法兼具Load語句的功能,可以將窗體顯示出來 C.Hide方法用于將窗體隱藏起來
D.Unload語句用來釋放窗體,但窗體并沒從內存中消
20、滾動條控件的屬性中,表示取值范圍最大值的屬性是()
A.Max C.Min
B.LargeChange
D.Value
21、程序中如果需要檢測和控制鼠標的位置和狀態的改變,就需要使用鼠標事件,其中下面哪個選項用于表示拖動事件()
A.DragDrop C.MouseUp
B.MouseDown D.MouseMove
22、為了使用通用對話框進行打開文件的操作,應將通用對話框的Action屬性設定為()。
A.0
B.1
C.2
D.3
三、簡答題
1、什么是單選按鈕?什么是復選框?在使用上有什么不同?
2、滾動條的change事件和scroll事件有什么不同?
3、快捷鍵和訪問鍵有什么區別?
4、在程序運行期間,如果拖動滾動條上的滾動塊(即滑塊),則觸發滾動條的什么事件?
5、假定有一個菜單項,名為MenuItem,為了在運行時使該菜單項失效(變灰),應使用什么語句?
6、為了暫時關閉計時器(即時鐘控件),應把該計時器的什么屬性設置為False?
7、單選按鈕和復選框(即檢查框)各用于什么情況?
8、如何為一個菜單項設置熱鍵和快捷鍵?
9、菜單的形式有哪兩種?
10、在KeyPress事件中,如何取消用戶剛輸入的字符?
11、框架的作用是什么?
12、如果要計時器每秒鐘發生4個Timer事件,則Interval屬性值應設多少?
13、在一個窗體的程序代碼中能否訪問另一個窗體上控件的屬性?若不行則請說明理由;若行則請說明如何訪問。
14、如何在框架中建立控件?
15、組合框有哪幾種類型?
四、讀程序題
1、對窗體編寫如下代碼:
Option Base 1 Private Sub Form_KeyPress(KeyAscii As Integer)a = Array(237,126,87,48,498)m1 = a(1)m2 = 1 If KeyAscii = 13 Then For i =2 To 5 If a(i)>ml Then m1 =a(j)m2 =i End If Next i End If Print m1 Print m2 End Sub 程序運行后,按回車鍵,輸出結果是什么?
2、閱讀下面的程序,寫出執行結果。
Private Sub Form_load()
Form1.show d = 0 For a = 1 To 2 For b = 1 To a For c = b To 5 d = d + 1 Next c Next b Next a Print d End Sub
五、編程題
1、在窗體上有一個文本框控件,名稱為TxtTime;一個計時器控件,名稱為Timer1,要求每一秒在文本框中顯示一次當前的時間,請編程實現。
2、在Text1中輸入任一英文字母,在Text2中顯示該英文字母及其ASCII碼值。要求在文本框Text2中顯示出所有輸入的英文字母及其ASCII碼值,如下圖所示。
Text1
Command1 Text2
3、編寫一個程序,能夠實現任意個整數的排序。
4、編程實現以下功能:用戶首先分別在兩個文本框中輸入兩個數,然后在具有“加、減、乘、除”等四個菜單項的“計算”菜單中單擊某一項,即可在標簽中顯示出相應的結果或者錯誤提示。
5、編程實現任意兩個數的“加、減、乘、除”。
6、編寫一個程序,能夠求任意個正整數的最大值和最小值。
7、編程求任意兩個正整數的最大公約數。
六、程序分析填空題
1、建立一個如圖所示的簡單編輯器。用戶在文本框(text1)中輸入正文后,選中某些文本時可進行“剪切”、“復制”和“粘貼”操作。假設在窗體聲明部分定義了一個變量str1,用于保存復制和剪切的內容,請把剪切按鈕(btnCut)的Click事件補充完整。
程序運行界面:
Private Sub btnCut_Click()
?請補充
End Sub
2、計算1 + 2 + 3 + …… + 100的和并輸出。請把下面用Do While ……Loop循環結構實現這一功能的代碼補充完整。
Private Sub Form_Load()Dim sum,count as Integer ?請補充
Do while count <=100
?請補充
Loop Text1.Text = sum End Sub
3、列表框控件(ListBox)支持多項選擇,這項功能在對用戶的興趣愛好進行調查的時候顯得非常好用,在下圖所示的界面中列表框List1用于列出愛好選項,供用戶進行多項選擇。
請把下列代碼補充完整,能夠取得用戶的所選愛好選項: Private Sub Command1_Click()
Dim i As Integer
Dim s As String
s = txtname.Text & “愛好”
For i = 0 To List1.ListCount-1
?請補充
Next
Label3.Caption = s End Sub
4、要求利用計時器Timer1,在窗體Form1上每隔1秒鐘打印一個1到10的隨機整數,請把下列代碼補充完整:
Private Sub Form_Load()
Show
?請補充
End Sub Private Sub Timer1_Timer()?請補充
End Sub
5、請說明PRINT #和WRITE #語句的區別
6、EOF函數的功能是什么?
四、編程題
1、實現二進制方式文件的復制。
2、如下圖所示,實現一個簡單的文件管理器。
件
C.雙擊工具箱中的控件圖標,所畫控件的大小和位置是固定的
D.不使用工具箱中的控件工具,不可以在窗體上畫出圖形對象,但可以寫入文字字符
2、當一個對象(如窗體或圖片框)被移動或改變大小之后,或當一個覆蓋該窗體被移開之后,如果要保持該所畫圖形的完整性,可以選擇觸發()事件來完成圖形的重畫工作
A.Paint B.Load
C.Click
D.Active
三、簡答題
1、在什么情況下使用Image控件而不使用PictureBox控件?
2、在程序運行時怎樣在圖形框中裝入和刪除圖形?
3、顏色函數主要有哪些?
四、編程題
1、如下圖顯示當前目錄下的圖片文件列表,并能夠預覽選定的圖片。
第二篇:vb練習題及答案
vb練習題1
VB練習題一
一、選擇題
1.Visual Basic程序設計的主要的步驟是C A、可視性程序設計 B、代碼程序設計 C、可視性程序設計和代碼程序設計 D、界面設計 2.窗體能響應的事件是C
A、ActiveFrom
B、Drive
C、Load
D、Change 3.獲得系統時間的函數是B
A、data$
B.time$
C.date$
D.gettime$ 4.在設計一個計算器時,必須要使用的控件是C A、滾動條
B、圖片框
C、文本框
D、單選框 5.下列運算符號中屬于關系運算符的是_____。B A、— B、= C、AND D、+ 6.Visual Basic規定工程文件的擴展名是C
A、.for
B、.frm
C、.vbp
D、.bas 7.OOP是面向_______的程序設計的簡稱。C A、用戶 B、問題 C、對象 D、操作者 8.設置對象中的字體應用___屬性.C A、Caption B、Name C、Font D、Text 9.設置文本框中顯示的內容應用___屬性。D A、Caption B、Name C、Font D、Text 10.邏輯型又稱_____。C A、數值型 B、字符串型 C、布爾型 D、整型 11.三種邏輯運算符號優先次序為:____。C A、AND、NOT、OR B、NOT、OR、AND C、NOT、AND、OR D、OR、NOT、AND 12.關于高級語言,下列那一項敘述是正確的。(A)A、以類似英文的句子來表示? B、寫成的程序執行速度最快 ? C、不必編譯即可直接執行? D、受電腦機種限制大 13.可將高級語言翻譯成機器語言的程序為。B A、匯編程序 B、編譯程序 C、解釋程序
4、以上皆可。14.下列()屬性是每個控件都有的。A A、名稱 B、Caption C、Font D、Interval 15.下列運算符號中屬于邏輯運算符的是_____。A A、NOT B、<> C、= D、<= 16.如果要求設置定時器時間間隔為0.5秒鐘,那么它的Interval屬性值應該等于:B A、5000 B、500 C、50 D、5 17.下列邏輯運算結果為―true‖的是()C A、flase or not true B、flase and not true C、true or not true D、true and not true 18.已知變量x、y為整數型,且x=4 , y=12 ,s為字符串型,且s=―a‖,Label1為標簽控件,下列賦值語句合法的是()A A、s = Label1.Caption B、Label1.Caption=s=x C、x*3=y D、Y=x*s 19.下列關于CommandButton 控件的敘述正確的是()A A、CommandButton 控件的Caption 屬性決定按鈕上顯示的內容 B、單擊VB應用程序中的按鈕,則系統激活按鈕控件對應的Change 事件 C、CommandButton 控件的name 屬性決定按鈕上顯示的內容 D、以上都不對
20.一只漂亮的酒杯被摔碎了,則漂亮,酒杯,摔,碎了是()。D A、對象,屬性,事件,方法 B、對象,屬性,方法,事件 C、屬性,對象,方法,事件 D、屬性,對象,事件,方法 21.獲得系統時間的函數是B A、data$
B、time$
C、date$
D、gettime$ 22.下列關于添加―控件‖的方法正確的是()B A、單擊控件圖標,將指針移到窗體上,雙擊鼠標 B、雙擊工具箱中的控件,即在窗體上出現該控件 C、單擊工具箱中的控件,將指針移到窗體上,再單擊 D、用鼠標左鍵拖動工具箱中的某控件到窗體的適當位置 23.雙擊窗體中的對象后,Visual Basic將顯示的窗口是C A、項目(工程)窗口
B、工具箱
C、代碼窗口
D、屬性窗口 24.下列關于For …next 語句的說法正確的是()A A、循環變量、初值、終值和步長都必須為數值型 B、step后的步長只為正數 C、初值必須小于終值 D、初值必須大于終值
25.存文件時,整個工程以_____(工程文件)儲存。C A、*.Prg B、*.Frm C、*.Vbp D、*.Exe 26.清除圖片框(Picture1)中內容的方法是_____。B A、Picture1.Clear B、Picture1.Cls C、Picture1.Delete D、Picture1.UnLoad 27.以下變量Test定義語句正確的是:B A、Dim Test,as Integer B、Dim Test as Integer C、Dim Test =Integer D、Dim Test as Integer,28.在Visual Basic中,字符型變量用來_____。B A、存放日期、時間或同時存儲以上兩種數據。
B、存放人名、地址等文字信息。或電話號碼、郵政編碼等不需要計算的數字信息。C、存儲長文本信息,最多可包含1.2GB字符。D、精確表示貨幣錢款數值
29.通過執行通用對話框的方法,可以將其表示為不同的對話框。方法ShowColor , 顯示____對話框。D A、保存文件 B、字體 C、打開文件 D、顏色
30.設置通用對話框的文件類型框中所要顯示的文件類型選項,可由____屬性來設置。C A、Name B、File C、Filter D、Caption 31.VB 的全名是:C A、Violin BASIC B、Very BASIC C、Visual BASIC D、View BASIC 32.下列哪一種運算的優先級最低:C A、Mod B、整數除法 C、減法 D、除法 33.設置窗體的高度用屬性_______。D A、Caption B、Font C、BackColor D、Hight 34.設置窗體左上角到屏幕上方距離的屬性是______。B A、Left B、Top C、Width D、Name 35.設置窗體寬度的屬性是______。C A、Left B、Top C、Width D、名稱(Name)36.計算數x的正弦函數值的函數是______。A A、SIN(x)B、ABS(x)C、STR(x)D、SQR(x)37.數學式3abc(d+e)改寫為VB表達式為______。D A、3a*b*c(d+e)B、3abc(d+e)C、3abcd +3abce D、3*a*b*c*(d+e)38.不屬于程序的三種基本結構的是。C A、順序結構 B、循環結構 C、直線型結構 D、分支結構 39.在IF語句的條件中,M≠6應寫成: C A、M<6 AND M>6 B、M≠6 C、M<>6 D、NOT M<>6 40.在VB中數據類型為長整型的―數據類型保留字‖是。B A、integer B、long C、single D、string 41.在VB中數據類型為字符串型的―數據類型保留字‖是。D A、integer B、double C、single D、string 42.下列變量名正確的是。B A、X-1 B、XX1 C、123 D、A* 43.函數ABS(X)稱為。B A、算術平方根函數 B、絕對值函數
C、正弦三角函數 D、字符串轉換為數值函數 44.下列說法不正確的是。A A、1 B、關系表達式的判斷結果只能是“True”或“False” C、關系運算符共有6個,分別是:<、>、<=、>=、=、<> D、邏輯運算符有NOT、AND、OR 45.為了暫時關閉計時器,應把該計時器的某個屬性設置為False,這個屬性是C A、Visible B、Timer C、Enabled D、Interval 46.利用對象的方法Setfocus可獲得焦點,對于一個對象,只有其visible屬性和_____屬性為true,才能接受焦點。C A、name B、Timer C、Enabled D、visible 47.使用print方法可在圖片框中進行文本的輸出(如:picture1.print ―信息技術‖),用_____方法可畫圓。C A、pset B、line C、circle D、move 48.設a=2,b=3,c=4,d=5,下列表達式的值是。C 3>2*b OR a=c AND b <>c OR c>d A、1 B、True C、False D、–1 49.設置標簽中顯示內容的屬性是。C A、Text B、Name C、Caption D、BackStyle 50.通過執行通用對話框的方法,可以將其表示為不同的對話框。顯示打開文件對話框方法是。A A.ShowOpen B.ShowSave C.ShowPrinter D.ShowColor vb練習題2 二、程序設計題 51.設計一個程序,輸入一個正整數N,求1+2+3+…+N的和。界面如下: 當用戶輸入N后,單擊―計算‖按鈕,則輸出1+2+3+…+N的和。參考答案: Private Sub Command1_Click()Dim i, a, b As Integer a = Val(Text1.Text)For i = 1 To a b = b + i Next i Label3.Caption = b End Sub Private Sub Command2_Click()End End Sub 52.編一個求圓柱的側面積的程序: 當用戶輸入半徑與高后,單擊―側面積為‖按鈕,輸出正確結果。參考答案: Private Sub Command1_Click()Dim r, h, c, s As Single r = Val(Text1.Text)h = Val(Text2.Text)c = 2 * 3.14159 * r s = c * h Label3.Caption = s End Sub 53.設計一個計時程序。該程序用戶界面如圖所示,由一個文本框(text1),和兩個按鈕:命令按鈕1(command l)、命令按鈕2(command 2)組成。程序運行后,用戶按開始按鈕,則開始計時,文本框中顯示秒數,接停止按鈕,則計時停止。單擊窗口則退出。(請閱讀下面程序,編寫出時鐘控件的計時事件中的程序代碼。)Dim i, t As Integer Private Sub Command1_Click()Timer1.Interval = 1000 Timer1.Enabled = True t = 0 End Sub Private Sub Command2_Click()Timer1.Enabled = False End Sub Private Sub Form_Click()End End Sub Private Sub Timer1_Timer()End Sub 參考答案: t = t + 1 Text1.Text = t & “秒” 54.編制一個能在窗體中畫出由用戶指定圓心位置和半徑大小的圓的程序,要求單擊―繪圓‖按鈕時繪圓,單擊―清除‖按鈕時清除繪圖區中的圖形及文本框中的內容。運行界面如下: 參考答案: Private Sub Command1_Click()Dim x, y, r As Single x = Val(Text1.Text)y = Val(Text2.Text)r = Val(Text3.Text)Picture1.Circle(x, y), r End Sub Private Sub Command2_Click()Picture1.Cls Text1.Text = “" Text2.Text = ”“ Text3.Text = ”“ End Sub 信息技術教師培訓自學部分VB練習題二 一、選擇題 1.在 Visual Basic環境下,當寫一個新的 Visual Basic程序時,所做的第一件事是B A、編寫代碼 B、新建一個工程 C、打開屬性窗口 D、進入VB環境 2.若要求從文本框中輸入密碼時在文本框中只顯示*號,則應當在此文本框的屬性窗口中設置D A、Text屬性值為* B、Caption屬性值為* C、password屬性值為空 D、Passwordchar屬性值為* 3.能夠將文本框控件隱藏起來的屬性是B A、Clear B、Visible C、Hide D、New 4.獲得系統日期的函數是C A、data$ B、time$ C、date$ D、gettime$ 5.下列運算符號中屬于算術運算符的是_____。B A、NOT B、^ C、= D、<= 6.Visual Basic屬于:A A、高級語言B、匯編語言C、機器語言D、低級語言。7.一個程序可以有_____窗體。C A、1個 B、2個 C、多個D、無窮多個 8.事件是指_____。B A、對象的外部特征。 B、預先設置好的能被對象識別的特定動作。C、對象的屬性。 D、對象原來就包含的內部函數或程序。9.VB在運行中使用_______來臨時存儲數據。B A、常量 B、變量 C、函數 D、方法 10.布爾型又稱_____。B A、數值型 B、邏輯型 C、字符串型 D、整型 11.下列運算符號中屬于關系運算符的是_____。D A、— B、+ C、AND D、<= 12.關于高級語言,下列敘述正確的是。B A、不必編譯即可執行 B、可讀性最高 C、難學難記 D、執行速度最快。13.下列各組控件都具有Caption屬性的是()C A、窗體、文本框 B、標簽、定時器 C、窗體、標簽 D、文本框、定時器 14.下列運算結果中,值最大的是()D A、34 B、3/4 C、4 mod 3 D、3 mod 4 15.Visual Basic語言中,下列那一項數值運算符號是正確的。(C)A、@表示加 ?B、~表示減 ?C、*表示乘 ?D、÷表示除。16.下面程序執行的結果是________。C Private Sub Form_Click()A$ = ”123“: B$ = ”456“ C = Val(A$)+ Val(B$)Print C 100 End Sub A、123 B、3 C、5 D、579 17.函數Sqr(9)的值是()B A、9 B、3 C、―3‖ D、―9‖ 18.下列控件中可用于接受用戶輸入文本,又可用于顯示文本的是()B A、Label 控件 B、TextBox 控件 C、Timer 控件 D、CommandButton 控件 19.以下程序段執行后整型變量度n 的值為()B n=0 for L=1 to 20 step 5 n=n+L next L A、50 B、34 C、15 D、210 20.如果要改變窗體的標題,需要設置窗體對象的_____屬性。B A、Name B、Caption C、BackColor D、BorderStyle 21.Visual Basic提供的標簽控件(LABEL)可具有功能是B A、輸入文本 B、顯示文本 C、計時 D、取得時間 22.以下選項中,不是 Visual Basic控件的是C A、文本框 B、定時器 C、窗體 D、命令按鈕 23.若整型變量a的值為 2、b的值為3,則下列程序段執行后整型變量c的值為()D if a>5 then c=b-a else c=a + b endif A、2 B、-1 C、1 D、5 24.下列程序執行后,整型變量n的值為()B n=0 for I=1 to 20 if I mod 4=0 then n=n+1 next I A、5050 B、5 C、6 D、33 25.下面哪些控件是輸入控件______。A A、文本框 B、標簽 C、列表框 D、滾動條 26.窗體初始化程序應寫在_______事件中。A A、Load B、UnLoad C、Active D、GotFocus 27.在Visual Basic中,布爾型變量用來_____。D A、存放需要計算的數字。 B、存放日期、時間或同時存儲以上兩種數據。C、存儲長文本信息,最多可包含1.2GB字符。D、存放性別、婚否等邏輯信息。 28. 通過執行通用對話框的方法,可以將其表示為不同的對話框。方法ShowOpen , 顯示____對話框。C A、保存文件 B、字體 C、打開文件 D、顏色 29. 通過執行通用對話框的方法,可以將其表示為不同的對話框。方法ShowFont , 顯示____對話框。B A、保存文件 B、字體 C、打開文件 D、顏色 30.計時器的Interval屬性是用來設置一時間間隔,單位是_____。D A、1秒 B、1毫秒 C、1/100秒 D、1/1000秒 31.VB 在計算三角函數時,所使用的度量單位是:B A、角度制 B、弧度制 C、角度制 D、弧度制都可以 32.設置窗體的背景色用屬性_______。C A、Caption B、Font C、BackColor D、Hight 33.設置窗體中顯示的文字前景色用屬性_______。A A、ForColor B、Font C、BackColor D、Hight 34.設置窗體左上角到屏幕左邊距離的屬性是______。A A、Left B、Top C、Width D、Name 35.計算數x的算術平方根的函數是___。D A、SIN(x)B、ABS(x)C、STR(x)D、SQR(x)36.計算數x的余弦函數值的函數是______。D A、SIN(x)B、ABS(x)C、STR(x)D、COS(x)37.數學式|xy|+2(d+e)改寫為VB表達式為______。C A、|xy|+2(d+e)B、-x*y+2*(d+e)C、ABS(x*y)+2*(d+e)D、|x*y|+2*(d+e)38.在IF語句的條件中,60≤F≤100應寫成:D A、60<=F<=100 B、60= C、正弦三角函數 D、字符串轉換為數值函數 44.下列說法不正確的是。B A、FOR語句中可省略STEP及步長值,默認步長值為1 B、循環變量只能用數值簡單變量 C、步長值可正可負 D、初值、終值、步長值可以是數值表達式 45.為了在運行時把圖形文件picfile.jpg裝入圖片框Picture1,所使用的語句為。A A、Picture1.Picture = LoadPicture(”picfile.jpg“)B、Picture1.Picture =”picfile.jpg“ C、Picture1.image = LoadPicture(”picfile.jpg“)D、Picture1.image =”picfile.jpg“ 46.使用print方法可在圖片框中進行文本的輸出(如:picture1.print ―信息技術‖),用_____方法可畫點。A A、pset B、line C、circle D、move 47.使用print方法可在圖片框中進行文本的輸出(如:picture1.print ―信息技術‖),用_____方法可使圖片框移動位置。D A、pset B、line C、circle D、move 48. 雙擊工具箱中某個控件,該控件將____。C A、被選中 B、出現在窗體左上角 C、出現在窗體中部 D、沒變化 49.為了取消窗體的最大化功能,需要把它的一個屬性設置為False,這個屬性是。D A、ControlBox B、MinButton C、Enabled D、MaxButton 50.執行下面的程序段后,x 的值為。C x=0 For i=1 To 10 x=x+i5 Next i A、5 B、6 C、7 D、8 二、程序設計題 51.編寫一個程序,輸入任意兩個整數,輸出其中較大的數。界面如下: 當用戶輸入兩個整數后,單擊―輸出‖按鈕,則輸出正確結果。參考答案: Private Sub Command1_Click()Dim a, b As Integer a = Val(Text1.Text)b = Val(Text2.Text)If a >= b Then Label3.Caption = a Else Label3.Caption = b End If End Sub 52.設計一程序,計算1*2+2*3+3*4+4*5+…+N*(N+1)的和。程序界面如下: 當用戶輸入N后,單擊―求1*2+2*3+3*4+4*5+…+N*(N+1)‖按鈕后,輸出正確結果。參考答案: Private Sub Command1_Click()Dim i, n, s As double n = Val(Text1.Text)s = 0 For i = 1 To n s = s + i *(i + 1)Next i Label1.Caption = s End Sub 53.設計一個從鍵盤接收三條邊的值,測試能否組成三角形,若能,則計算所組成三角形面積,否則,給出相應信息的程序,運行之后界面如下。 參考答案: Private Sub Command1_Click()Dim a, b, c, d As Single a = Val(Text1.Text)b = Val(Text2.Text)c = Val(Text3.Text)If(a + b)> c And(a + c)> b And(b + c)> a Then d =(a + b + c)/ 2 Label3.Caption = Sqr(d *(db)*(dc 37.在IF語句的條件中,X≤-10或X>0應寫成:B A、X<=-10 AND X>0 B、X<=-10 OR X>0 C、X≤-10 OR X>0 D、X≤-10或X>0 38.在VB中數據類型為整型的―數據類型保留字‖是。A A、integer B、long C、single D、string 39.在VB中數據類型為雙精度浮點型的―數據類型保留字‖是。B A、integer B、double C、single D、string 40.在VB中數據類型保留字―boolean‖表示的數據類型是。C A、整型 B、長整型 C、布爾型 D、字符串型 41.函數SQR(X)稱為。A A、算術平方根函數 B、絕對值函數 C、正弦三角函數 D、字符串轉換為數值函數 42.數值表達式運算的先后順序為。A A、()→函數→乘方→* /→+ C、函數→乘方→()→* /→+43. 表達式4+5 6 * 7 / 8 Mod 9 的值是。A A、4 B、5 C、6 D、7 44.由語句txtname.text=”AB“,可知txtname一定是_____控件。A A、文本框控件 B、標簽控件 C、圖象框控件 D、命令按鈕 45.使用print方法可在圖片框中進行文本的輸出(如:picture1.print ―信息技術‖),用_____方法可畫線。B A、pset B、line C、circle D、move 46.使用print方法可在圖片框中進行文本的輸出(如:picture1.print ―信息技術‖),用_____方法可清除圖片框中的內容。C A、pset B、line C、cls D、move 47.VB中工程文件的擴展名為。A A、.vbp B、.frm C、.ds D、.bas 48.設a=2,b=3,c=4,d=5,下列表達式的值是。B a>b AND c<=d OR 2*a>c A、True B、False C、-1 D、1 49.表達式4+5-6*7/8 Mod 9的值是。A A、4 B、5 C、6 D、7 50.下列控件中,哪一個是外部控件。D A、PictureBox B、CommandButton C、Timer D、CommonDialog 二、程序設計題 51.設計一個程序,輸入一個長方體的長寬高,計算并輸出其體積V,界面如下: 當用戶輸入長寬高,后單擊―計算‖按鈕,則輸出結果。參考答案: Private Sub Command1_Click()Dim a, b, c As Single a = Val(Text1.Text)b = Val(Text2.Text)c = Val(Text3.Text)Label5.Caption = a * b * c End Sub Private Sub Command2_Click()End End Sub 52.編寫一個程序,輸入任意三個整數,輸出其中最小的自然數。界面如下: 當用戶輸入三個自然數后,單擊―最小自然數為‖按鈕,則輸出正確結果,請閱讀下面程序,把所缺的代碼寫出來。Private Sub Command1_Click()Dim a, b, c, d As Integer a = Val(Text1.Text)b = Val(Text2.Text)c = Val(Text3.Text)If a <= b Then d = a Else d = b End If Label3.Caption = d End Sub 參考答案: If d > c Then d = c End If 53.設計一個求ax2 +bx+c=0解的程序,用戶界面如下: 參考答案: Private Sub Command1_Click()Dim a, b, c, d, x1, x2 As Single a = Val(Text1.Text)b = Val(Text2.Text)c = Val(Text3.Text)d = b ^ 2Sqr(d))/(2 * a)Label3.Caption = ”x1=“ & x1 & Chr(13)& ”x2=“ & x2 Else Label3.Caption = ”此方程無實根!“ End If End Sub Private Sub Command2_Click()End End Sub 54.編一程序,將阿拉伯數字0、1、2、……、8、9轉換為漢語大寫數字零、壹、貳、……、捌、玖,程序界面如下: 參考答案: Dim a As Integer Dim b As String a = Val(Text1.Text)Select Case a Case 0 b = ”零“ Case 1 b = ”壹“ Case 2 b = ”貳“ Case 3 b = ”叁“ Case 4 b = ”肆“ Case 5 b = ”伍“ Case 6 b = ”陸“ Case 7 b = ”柒“ Case 8 b = ”捌“ Case 9 b = ”玖" End Select Label1.Caption = b End Sub 《vb程序設計》期末復習題及答案 一、填空題 1.創建一個VB應用程序三個主要的步驟是_(創建應用程序界面)、_(設置屬性_)和_(_編寫代碼__)__。 2.當程序運行時,要求窗體中的文本框呈現空白,則在設計時,應當在此文本框的__屬性________窗口中,把此文本框的____text_________屬性設置成空白。 3.Label和TextBox控件用來顯示和輸入文本,如果僅需要讓應用程序在窗體中顯示文本信息,可使用___label________控件;若允許用戶輸入文本,則應使用__textbox___________控件。4.窗體的常用方法有_load方法 Show方法 Hide方法_ Unload方法_。 5.要想在代碼中給名為txtshow的文本框賦予文本:GOOD WORK,應當編寫的語句是_(txtshow.text=“GOOD WORK”_)。 6.若命令按鈕的名稱為Cmdopen,程序要求單擊該命令按鈕時,打開一個窗口frm1,請對以下事件過程填空。Private Sub Cmdopen_ _click()__________ _frm1.show_ End Sub 7.Visual Basic 6種類型的表達式是_(算術表達式_)(字符串表達式)(關系表達式)(布爾表達式)(日期表達式)(對象表達式)。Visual Basic根據表達式的_.1 _運算符__來確定表達式的類型。 8.表達式93 7 Mod 2 ^ 2 的值是___________。 9.已知a=3,b=4,c=5,表達式a>b and Not c>a Or c>b And ca And Not b 10.日期表達式 #2/24/02#y ^ 2)/(2 * x)___。 12.設某個程序中要用到一個二維數組,要求數組名為A,類型為字符串類型,第一維下標從1到5,第二維下標從-2到6,則相應的數組聲明語句為_(Dim A(1 To 5,-2 To 6)As String)_。13.事件就是在對象上所發生的事情,Visual Basic中的事件如__單擊_________、_雙擊__________、_裝載_____________等。一個對象響應的事件可以有_多____個,用戶不能建立新的事件。事件過程是指_(響應某個事件后所執行的程序代碼)_。假設某一事件過程如下: Private Sub cmd1_Click()Form1.Caption=“VB示例” End Sub 則響應該過程的對象名是_cmd1_____________,事件名是_____click________。 14.對象的方法用于(_完成某種特定的功能__)。當方法不需要任何參數并且也沒有返回值時,調用對象的方法的格式為_(對象名.方法名)_,例如,對窗體Form1使用Show方法,應寫成__form1.show_______________。 15.PictureBox控件可通過設置其(autosize)__屬性為True使之可自動調整大小;而Image控件可通過設置其_(stretch_)__屬性為True,使其加載的圖片能自動調整大小以適應Image。 16.在Visual Basic程序中實現復制文件“c:command.com”到d:盤根目錄下的語句為FileCopy “c:command.com”,“d:command.com”_。 二、單項選擇題 1.下列控件中沒有Caption屬性的是(B) A、標簽 B、文本框 C、框架 D、命令按紐 2.除框架外,能對單選按紐分組的控件是(C)。A、窗體 B、標簽 C、圖片框 D、圖像 3.下列符號不能作為VB中變量名的是(C)。 A、ABCDEFG B、P00000 C、89YWDDF D、xyz 4. 下列不屬于Visual Basic數據文件的是(D)。A、順序文件 B、隨機文件 C、二進制文件 D、數據庫文件 5.若要求從文本框中輸入密碼時在文本框中只顯示*號,則應用在此文本框的屬性窗口中設置(D)。 A、Text屬性值為* B、Caption屬性值為* C、Password屬性值為空 D、PasswordChar屬性值為* 6.表達式2*3^2+2*8/4+3^2的值為(B)。A、64 B、31 C、49 D、42 7.表達式mid(“abcdefg”,3,2)的值是(B)A、abc B、cd C、bcd D、abcde 8.數學表達式Sin25°寫成VB表達式是(D)。A、Sin25 B、Sin(25)C、Sin(25°)D、Sin(25*3.14/180) 9.Sub過程與 Function過程最根本的區別是(D)。A、Sub過程可以使用Call語句或直接使用過程名調用,而Function過程不可以。 B、Function過程可以有參數,Sub過程不可以。C、兩種過程參數的傳遞方式不同。 D、Sub過程的過程名不能返回值,而Function過程能夠通過過程名返回值。 10.選拔身高T超過1.7米且體重W小于62.5公斤的人,表示該條件的布爾表達式為(C) A、T>=1.7 And W<=62.5 B、T<=1.7 Or W>=62.5 C、T>1.7 And W<62.5 D、T>=1.7 Or W<62.5 11.下列對象不能響應 Click事件的是(D)A、列表框 B、圖片框 C、窗體 D、計時器 12.在Visual Basic中,按文件的訪問方式不同,可以將文件分為(A) A、順序文件、隨機文件和二進制文件 B、文本文件和數據文件 C、數據文件和可執行文件 D、ASCⅡ文件和二進制文件 13.將通用對話框CommonDialog的類型設置成“顏色”對話框,可調用該對話框的(C)方法。 A、ShowOpen B、ShowSave C、ShowColor D、ShowFont 三、指出下列句中的錯誤,修改或者說明原因。1.sum和int.sum都可以作為VB的變量名。(X)2.變量名的長度最長可達1024個字符。(255)3.下列程序運行結果:3,3 Option Explicit Private Sub Command1_Click()Dim a,b As Integer Dim a as integer ,b as integer a = 3.6 b = 3.6 Text1.Text = a Text2.Text = b End Sub 4.程序可以改變定長字符串的內容和長度。 5.Variant是一種特殊的數據類型,可以包含任何種類型的數據。.不完全正確。Variant是一種特殊的數據類型,除了定長字符串數據及用戶定義類型外,可以包含任何種類型的數據,這是VB規定。 6.下列程序運行結果為True Private Sub Command1_Click()a = 1 b = 2 c = 3 Text1.Text = c > a + b Or b1 And c + a > a Xor b < c#12/20/1999#的運算結果是#12/11/1999# 8.可以在窗體的通用部分聲明靜態變量。 不正確。靜態變量為局部變量,只能在過程中聲明。 9.使用聲明語句建立一個變量后,Visual Basic會自動對數值類型的變量賦初值0,變長的字符串被初始化為一個零長度的字符串“",定長字符串用空格填充,Variant變量被初始化為 Empty,布爾型的變量被初始化為False。 10.事件過程通常由事件驅動執行,而Sub過程通過過程調用執行。 11.將焦點主動設置到指定的控件或窗體上應采用SetFocus方法。12.當圖像控件(Image)的Stretch屬性為True時,Image控件能自動調整自己的尺寸與顯示的圖片匹配。 不正確。該屬性設為Ture時,Image控件不能自動調整自己的尺寸與顯示的圖片匹配,而可以使圖片自動擴展以適應控件的尺寸。 四、讀程序題,寫出程序運行結果。1.Private Sub Form_Click()For I = 1 To 9 For j = 1 To 301 To 1 Step-1 Print k;Next k Print Next I End Sub 2. Option Explicit Private Sub Command1_Click()Static S As Integer Dim i As Integer S = 1 For i = 1 To 5 S = S * i Next i Print S End Sub 3. For X = 5 To 1 Step-1 For Y = 1 To 6y ^ 2)/(2 * x)12.Dim A(1 To 5,-2 To 6)As String 13.單擊 雙擊 裝載 多 響應某個事件后所執行的程序代碼 cmd1 Click 14.完成某種特定的功能 對象名.方法名 Form1.Show 15.AutoSize Stretch 16.FileCopy ”c:command.com“,”d:command.com“ 二、單項選擇題 1.B 2.C 3.C 4.D 5.D 6.B 7.B 8.D 9.D 10.C 11.D 12.A 13.C 三、指出下列句中的錯誤,修改或者說明原因。1.int.sum 不正確。變量名中不能包括小數點。2.變量名的長度最長可達255個字符。3. 3.6,4 因為a 不是整型變量。 4.不正確。程序不可以改變字符的長度,這是VB規定。5.不完全正確。Variant是一種特殊的數據類型,除了定長字符串數據及用戶定義類型外,可以包含任何種類型的數據,這是VB規定。 6.False。邏輯表達式計算結果。 7.不正確。兩個日期型數據相減,其結果是一個數值型數據。8.不正確。靜態變量為局部變量,只能在過程中聲明。9.正確。10.正確。11.正確。 12.不正確。該屬性設為Ture時,Image控件不能自動調整自己的尺寸與顯示的圖片匹配,而可以使圖片自動擴展以適應控件的尺寸。 四、讀程序題,寫出程序運行結果。1.程序運行后,單擊窗體,輸出結果為: 1 1 2 1 1 2 3 2 1 1 2 3 4 3 2 1 1 2 3 4 5 4 3 2 1 1 2 3 4 5 6 5 4 3 2 1 1 2 3 4 5 6 7 6 5 4 3 2 1 1 2 3 4 5 6 7 8 7 6 5 4 3 2 1 1 2 3 4 5 6 7 8 9 8 7 6 5 4 3 2 1 2.程序運行后,單擊按鈕Command1,輸出結果為: 3.* ** *** **** ***** 4.aabb-30 False aabb-30 False 30+60 90 30+60 90 5.11 13 9 五、編程題 1. 。120 Private Sub Command1_Click()Text1.Text = ”“ Text2.Text = ”“ Text3.Text = ”“ Text4.Text = ”“ End Sub Private Sub Command2_Click()a = Trim(Text1.Text)b = Trim(Text2.Text)c = Trim(Text3.Text)If a = ”“ Or b = ”“ Or c = ”“ Then MsgBox ”成績填寫不完全!“, vbCritical Else Text4.Text =(Val(a)+ Val(b)+ Val(c))/ 3 End If End Sub Private Sub Command3_Click()Unload Me End Sub 2. Private Sub Command1_Click()x = Val(Text1.Text)If x Mod 3 = 2 And x Mod 5 = 3 And x Mod 7 = 4 Then Print x Else Text1.SetFocus Text1.SelStart = 0 Text1.SelLength = Len(Text1.Text)End If End Sub 3. Private Sub Check1_Click()If Check1.Value = 1 Then Label1.Font.Bold = True Else Label1.Font.Bold = False End If End Sub Private Sub Check2_Click()If Check2.Value = 1 Then Label1.Font.Italic = True Else Label1.Font.Italic = False End If End Sub Private Sub Command1_Click()Unload Me End Sub 4. a = Val(InputBox(”輸入第一個數:“))b = Val(InputBox(”輸入第二個數:“))c = Val(InputBox(”輸入第三個數:“))If a < b Then t = a: a = b: b = t If a < c Then t = a: a = c: c = t If b < c Then t = b: b = c: c = t MsgBox(”求大小排第二的數是:" & b) 原文網址: http://hi.baidu.com/%CC%EC%D0%AB%C4%A7%BE%FD/blog/item/d446b034a6b3373f5bb5f5fd.html 由弘一網童保存,尚未注冊。注冊 1.要使一個標簽能夠顯示所需要的文本,應設置該標簽的()屬性的值(單)A.Caption B.Name C.Text D.AutoSize 2.為使計時器對象每隔5秒鐘產生一個時鐘事件(Timer事件),則其Interval屬性值應設置為()(單)A.5 B.300 C.500 D.5000 3.下列的()對象支持KeyPress事件(單)A.文本框 B.命令按鈕 C.標簽框 D.圖像框 4.確定一個控件在窗體上的位置的屬性是()(單)A.Width或Height B.Top和Height C.Top或Width D.Top和Left 5.確定一個窗體或控件的大小的屬性是()(單)A.Width或Height B.Top和Width C.Top或Left D.Top和Left 6.用戶在屏幕上畫出應用程序界面,并設置好對象的屬性,系統便可以自動生成程序代碼,這稱為()(單)A.面向對象的程序設計 B.結構化程序設計 C.事件驅動的編程機制 D.程序設計 7.在VB中,工程文件的擴展名是()(單)A..frm B..vbp C..bas D..frx 8.在VB中,窗體文件的擴展名是()(單)A..frm B..vbp C..bas D..frx 9.VB集成開發環境可以(單)A.編輯、調試、運行程序,但不能生成可執行程序 B.編輯、生成可執行程序、運行程序,但不能調試程序 C.編輯、調試、生成可執行程序,但不能運行程序 D.編輯、調試、運行程序,也能生成可執行程序 10.英文“VISUAL”的含義是()(單)A.可視化 B.集成C.結構化 D.調試 11.標準模塊文件的擴展名是()(單)A.frm B.vbp C.bas D.vbg 12.VB集成開發環境中,在()中編寫代碼(單)A.狀態欄 B.屬性列表框 C.代碼框 D.標題欄 13.在面向對象的程序設計過程中,英文縮寫“OOP”的含義是()(單)A.事件驅動的編程機制 B.結構化程序設計語言 C.面向對象的程序設計 D.可視化程序設計 14.在窗體上畫一個名稱為Timer1的計時器控件,要求每隔0.5秒發生一次計時器事件,則以下正確的屬性設置語句是()(單)A.Timer1.Interval=0.5 B.Timer1.Interval=5 C.Timer1.Interval=50 D.Timer1.Interval=500 15在窗體上畫一個名稱為Command1的命令按鈕,然后編寫如下事件過程: Private Sub Command1_Click()a$=“VisualBasic” Print String(3,a$)End Sub 程序運行后,單擊命令按鈕,在窗體上顯示的內容是()(單)A.VVV B.Vis C.sic D.11 16.以下關于多重窗體程序的敘述中,錯誤的是()(單)A.用Hide方法不但可以隱藏窗體,且能清除內存中的窗體 B.在多重窗體程序中,各窗體的菜單是彼此獨立的 C.在多重窗體程序中,可以根據需要指定啟動窗體 D.對于多重窗體程序中,單獨保存每個窗體 17以下合法的Visual Basic變量的名稱是()(單)A.a3 B.Const C.9abc D.a#x! 18.當一個復選框被選中時,它的Value屬性的值是()(單)A.3 B.2 C.1 D.0 19.表達式 5 Mod 3+53的值是()(單)A.0 B.3 C.4 D.6 20設x=4,y=8,z=7, 表達式:(x<y)Or z<x 的值是()(單)A.1 B.-1 C.TRUE D.FALSE 21設有如下程序段: x=2 For c=1 To 4 Step 2 x=x+c Next c 運行以上程序后,x的值是()(單)A.6 B.7 C.8 D.9 22執行如下兩條語句,窗體上顯示的是()(單)A=9.8596 Print Format(a,“000.00”)A.0,009.86 B.9.86 C.009.86 D.0,009.86 23下列說法中正確的是:為了保存一個Visual Basic應用程序,應當()(單)A.只保存窗體模塊文件(.frm)B.只保存工程文件(.vbp)C.分別保存工程文件和標準模塊文件(.bas)D.分別保存工程文件、窗體文件和標準模塊文件 24.要使一個文本框對象能夠顯示多行文字,應設置該對象的()屬性值為True(單)A.Text B.MultiLine C.Style D.Visible 25.若要將窗體從內存中卸載,其實現的方法或語句是()(單)A.Show B.Unload C.Load D.Hide 26.以下選項中,不是VB標準控件的是()(單)A.命令按鈕 B.定時器 C.通用對話框 D.單選框 27在窗體上畫一個名稱為Command1的命令按鈕,然后編寫如下程序: Dim a As Variant a = Array(1, 2, 3, 4, 5)Sum = 0 For i = 1 To 5 Sum = Sum + a(i1)“, a(i1)> x Then Print a(iNum2 Case 3 Op = ”ד Result = Num1 * Num2 Case 4 Op = ”÷“ Result = Num1 / Num2 End Select Label1= Num1 & Op & Num2 & ”=“ & Result End Sub 窗體運行后,輸入1,則label1的標題顯示結果為()(單)A.3+2=5 B.3-2=1 C.3×2=6 D.3÷2=1.5 42在窗體上畫一個名稱為Text1的文本框,然后畫一個名稱為HScroll1的滾動條,其Min和Max屬性分別為0和100。程序運行后,如果移動滾動框,則在文本框中顯示滾動條的當前值,以下能實現上述操作的程序段是()(單)A.Private Sub HScroll_Change()Text1.Text=HScroll1.Value End Sub B.Private Sub HScroll_Click()Text1.Text=HScroll1.Value End Sub C.Private Sub HScroll_Change()Text1.Text=HScroll.Caption End Sub D.Private Sub HScroll_Click()Text1.Text=HScroll.Caption End Sub 43.在窗體上畫一個名稱為Command1的命令按鈕,然后編寫如下事件過程: Private Sub Command1_Click()x=InputBox(”Input“)Select Case x Case 1,3 Print ”分支 1“ Case Is>4 Print ”分支 2“ Case Else Print ”Else 分支 “ End Select End Sub 程序運行后,如果在輸入對話框中輸入2,則窗體上顯示的是()A.分支1 B.分支2 C.Else分支 D.程序出錯 44.隨機產生10個100~200之間的數,求它們的最大值程序如下: Private Sub Command1_Click()Max = 100 For i = 1 To 10 x = int【 】 Print x;If x > Max Then Max=x Next i Print Print ”最大值=“;Max End Sub 45設a=10,b=5,c=1,執行語句Print a >b > c后,窗體上顯示的是()(單)A.True B.False C.1 D.出錯信息 (46)在窗體上建立通用對話框需要添加的控件是 A)Data控件 B)From控件 C)CommonDialog控件 D)VBComboBox控件 (47)在Visual Basic中,要將一個窗體加載到內存進行預處理但不顯示,應使用的語句是 A)Load B)Show C)Hide D)Unload 48)Sub過程與Function過程最根本的區別是 A)Sub過程可以用Call語句直接使用過程名調用,而Function過程不可以 B)Function過程可以有形參,Sub過程不可以 C)Sub過程不能返回值,而Function過程能返回值 D)兩種過程參數的傳遞方式不同 49保存一個工程至少應保存兩個文件,這兩個文件分別是)A)文本文件和工程文件 B)窗體文件和工程文件 C)窗體文件和標準模塊文件 D)類模塊文件和工程文件 50.當對命令按鈕的Picture屬性裝入.bmp圖形文件后,命令按鈕上并沒有顯示所需的圖形,原因是沒有對某個屬性設置為1,該屬性是 A)MousePicture B)Style C)DownPicture D)DisabledPicture 51假設變量bool_x是一個布爾型(邏輯型)的變量,則下面正確的賦值語句是)A)bool_x=”False“ B)bool_x=.False.C)bool_x=#False# D)bool_x=False 52.設S=“中華人民共和國”,表達式Left(S,1)+Right(S,1)+Mid(S,3,2)的值為()A)“中華民國” B)“中國人民” C)“中共人民” D)“人民共和” 53下列表達式的值為2123的是() A)Val(”123asd“)& 2000 B)Val(”123asd“)+ 2000 C)Str(123)& ”2000“ D)Str(123)+”2000“ 54假設在窗體上建立了一個通用對話框,其名稱為CommonDialog1,然后畫一個命令按鈕Command1,并編寫如下事件過程: Private Sub Command1_Click()CommonDialog1.Flags=4 CommonDialog1.Filter=”all files(*.*)|*.*|text Files(*.Txt)|*.txt|Batch Filse(*.bat)|*.bat“ CommonDialog1.FilterIndex=1 CommonDialog1.ShowOpen MsgBox CommonDialog1.FileName End Sub 程序運行后,單擊命令按鈕,將顯示一個“打開”對話框,此時在“文件類型”對話框中顯示的是() A)All Files(*.*)B)Text Files(*.Txt)C)Batch Files(.bat)D)不確定 55當運行程序時,系統自動執行啟動窗體的某個事件過程。這個事件過程是()A)Load B)Click C)Unload D)GotFocus 56.無論何控件,都具有一個共同屬性。這個屬性是()A)Text B)Font C)Name D)Caption 57.在一行內寫多條語句時,語句之間要用某個符號分隔。這個符號是()A),B); C)、D): 58.表達式12000 + ”129“ & 200的值是 A)12329 B)”12129200“ C)”12000129200“ D)”12329“ 59.Visual Basic是一種面向對象的程序設計語言,構成對象的三要素是() A)屬性、控件和方法 B)屬性、事件和方法 C)窗體、控件和過程 D)控件、過程和模塊 60表達式String(1,”I am student“)+ Replace(”am harass“,”rass“,”ppy“)& ”!“的值是()A)”I am happy!“ B)”I am student I am s am harass studentam happy!“ C)”I am student am harass!“ D)”I am student am happy!“ 61.引用列表框(List1)最后一個數據項應使用的表達式是()A)List1.List(List1.ListCount)B)List1.List(List1.ListCount-1)C)List1.List(ListCount)D)List1.List(ListCount-1)62.以下屬性和方法中,可重定義坐標系的是) A)DrawStyle屬性 B)DrawWidth屬性 C)Scale方法 D)ScaleMode屬性 63.下面說法不正確的是()A)滾動條的重要事件是Change和Scroll B)框架的主要作用是將控件進行分組,以完成各自相對獨立的功能 C)組合框是組合了文本框和列表框的特性而形成的一種控件 D)計時器控件可以通過對Visible屬性的設置,在程序運行期間顯示在窗體上 64.在窗體上畫一個名稱為Check1復選框,在程序運行的過程中,若選中復選框,則Check1.value的值是()A)True B)2 C)0 D)1 65.下列關于過程敘述不正確的是() A)過程的傳值調用是將實參的具體值傳值遞給形參 B)過程的傳址調用是將實參在內存的地址傳遞給形參 C)過程的傳值調用參數是單向傳遞的,過程的傳址調用參數是雙向傳遞的 D)無論過程傳值調用還是過程傳址調用,參數傳遞都是雙向的 66.為了使標簽能自動調整大小以顯示全部文本內容,應把標簽的【 】屬性設置為true。67.要想在文本框中顯示垂直滾動條,必須把scrollbars屬性設置為2,同時還應把【 】屬性設置為true。 68.假定有一個文本框,其名稱為text1,為了使該文本框具有焦點,應執行的語句是【 】.setfocus。 69.假定有一個名為pic2.bmp的圖形文件,要在運行期間把該文件裝入一個圖片框,應執行的語句為 圖片控件名.picture=【 】。 70.為了能自動放大或縮小圖像框中的圖形以與圖像框的大小相適應,必須把該圖像框的【 】屬性設置為true。 71.窗體、圖片框或圖像框中圖形通過對象的【 】屬性設置。72.計時器事件之間的間隔通過【 】屬性設置。 73.有時候要暫關閉計時器,這可以通過【 】屬性設置為false來實現。74.設a=sqr(2),則語句Print format$(a,”000.0“)的輸出結果是【 】。75.設a=sqr(3),則語句Print format$(a,”###.0“)的輸出結果是【 】。76.VB應用程序通常由3類模塊組成,即窗體模塊、【 】模塊和類模塊。 77在窗體上畫兩個文本框和一個命令按鈕,然后在命令按鈕的代碼窗口中編寫如下事件過程: Private sub command1_click()text1.text=”vb“ text2.text=text1.text text1.text=”abcd“ End Sub 程序運行后,單擊命令按鈕,文本框text2中顯示的內容為 ________。 78.在保存VB應用程序時,窗體文件和工程文件的擴展名分別為【.】和.vbp。79.下列可作為VB的變量名的是()(單)A.Filename B.A3B C.254D D.Print 80.與下列數學式cos2(c+d)對應的VB表達式是【 】。81.與下列數學式2a(7+b)對應地VB表達式是【 】。82.在VB中,字符串常量要用【 】括起來。83.下面的事件不屬于鼠標器事件的是()(單)A.MouseDown事件 B.MouseUp事件 C.MouseMove事件 D.Move事件 84.下面的事件不屬于鍵盤事件的是()(單)A.KeyPress事件 B.KeyDown事件 C.KeyUp事件 D.KeyMove事件 85.對以下程序說法不正確的是()(單)Private Sub FileOpen_Click()CommonDialog1.InitDir = ”C:“ CommonDialog1.Filter = ”文本文件 | *.Txt“ CommonDialog1.ShowOpen End Sub A.顯示”文件“打開對話框 B.打開的對話框的初始目錄為C盤根目錄 C.打開的對話框的文件類型為文本文件 D.以上說法都不正確 86.以下程序是求最大公約數和最小公倍數的程序,在【】處填寫合適的關系運算符。Private Sub Form_Click()Dim m1, n1, m, n, r As Integer n1 = InputBox(”輸入自然數n“, ”輸入數“)m1 = InputBox(”輸入自然數m“, ”輸入數“)n = n1 m = m1 If m <n Then t = m: m = n: n = t End If r = m Mod n Do While r 【 】 0 m = n n = r r = m Mod n Loop Print ”最大公約數=“, n Print ”最小公倍數= “, m1 * n1 / n End Sub 87.下面是求100以內素數的程序。Private Sub Command1_Click()Dim i As Integer, m As Integer, tag As Boolean For m = 2 To 100 tag = True For i = 2 To m-1 If m Mod 【 】 = 0 Then tag = False Next i If tag Then Print m Next m End Sub 88.百元買百雞問題: 假定小雞每只5角,公雞每只2元,母雞每只3元。現在有100元錢要求買100只雞,以下程序列出了所有可能的購雞方案。Private Sub Command1_Click()Dim x%, y%, z% For x = 0 To 33 For y = 0 To 50 For z = 0 To 100 If 3 * x + 2 * y + 0.5 * z = 100 And 【 】 Then Picture1.Print x, y, z End If Next z Next y Next x End Sub 89.隨機產生10個100~200之間的數,求它們的最大值程序如下: Private Sub Command1_Click()Max = 100 For i = 1 To 10 x = int【 】 Print x;If x > Max Then Max=x Next i Print Print ”最大值=“;Max End Sub 90.以下是求1~100之間5或7的倍數的和,如下程序段: Sum = 0 For i = 1 To 100 If i Mod 5 = 0 Or i Mod 7 = 0 Then 【】 End If Next i Print Sum 其中【】處書寫正確的是()(單)A.Sum = i B.Sum = Sum +i C.Sum = Sum + 5+7 D.以上都不正確 91.要使得在按下鼠標左鍵時,激發mousedown事件,可以設置此事件中的button參數為()(單) A.0 B.1 C.2 D.4 92.要使得在按下鼠標右鍵時,激發mousedown事件,可以設置此事件中的button參數為()(單)A.0 B.1 C.2 D.4 93.刪除列表框中所有的項目所使用的方法為()(單)A.move B.remove C.clear D.removeitem 94.在窗體上畫一個命令按鈕,然后編寫如下事件過程: Private Sub command1_click()Dim a As String, b As String a = InputBox(”Enter the First integer“)b = InputBox(”Enter the Second integer“)Print b + a End Sub程序運行后,單擊命令按鈕,先后在兩個輸入對話框中分別輸入456和111,則輸出結果是()(單)A.456 B.111 C.567 D.111456 95.傳值:形參得到的是實參的值,形參值的改變不會影響實參的值。在定義形參前加關鍵字Byval。 96.以下利用SUB關鍵字定義的子過程Rate,其調用格式不正確的是()(單)A.call Rate(12,56)B.Rate(12,56)C.Rate 12,56 D.以上A和C正確 97.以下程序的作用是單擊Check1檢查框將使得Text1文本框的字體在”加粗“和”常規“之間進行切換。 Private Sub Check1_Click()Text1.FontItalic = Not Text1.FontItalic End Sub 98.窗體中有一個名稱為Slider1的可選擇性刻度滑塊控件,要設置它的如下屬性值,可以編寫程序()(單)(1)Slider控件的滑塊處于最小位置時值為8(2)Slider控件的滑塊處于最大位置時值為72(3)單擊Slider控件兩端箭頭時,滑塊的增量值為2(4)單擊Slider控件的空白處時,滑塊的增量值為8 A.Slider1.Min = 8: Slider1.Max = 72: Slider1.SmallChange =2: Slider1.LargeChange = 8 B.Slider1.Min = 2: Slider1.Max = 8: Slider1.SmallChange = 72: Slider1.LargeChange = 8 C.Slider1.Min = 8: Slider1.Max = 72: Slider1.SmallChange = 8: Slider1.LargeChange = 2 D.Slider1.Min = 72: Slider1.Max = 8: Slider1.SmallChange = 2: Slider1.LargeChange = 8 99.以下能判斷指針是否指向文件尾的函數是()(單)A.BOF B.LOC C.LOF D.EOF 00.窗體的過程Form_MouseDown(Button As Integer, Shift As Integer, X As Single, YAs Single),有4個參數,關于這些參數,正確的描述是()(單)A.通過Button參數判定當前按下的是鍵盤上哪一個鍵 B.Shift參數只能用來確定是否按下Shift鍵 C.Shift參數只能用來確定是否按下Alt和Ctrl鍵 D.參數x,y用來設置鼠標當前位置的坐標 01.設組合框Combo1中有3個項目,則以下能刪除最后一項的語句是()(單)A.Combo1.RemoveItem Text B.Combo1.RemoveItem 2 C.Combo1.RemoveItem 3 D.Combo1.RemoveItem Combo1.Listcount 1-10ADADA ABADA 11-20CCCDA AACBC 21-30ACDBB CDCCC 31-40ABDAB fontname BAAC 41-45AAC RND*101+100或100+RND*101或RND()*101+100或100+RND()*101 B 46-50CACBB 51-55DBBAA 56-60CDBBA 61-65BCDDD 66Autosize 67Multiline 68Text1 669loadpicture(”pic2.bmp")70Stretch 71Picture 72Interval 73Enabled 74 001.4 75 1.7 76【標準】77VB 78frm 79B 80cos(2*(c+d))81 2*a*(7+b)82【雙引號】83D 84D 85D 86<> 87【i】88x+y+z=100 89RND*101+100或100+RND*101或RND()*101+100或100+RND()*101 90B 91-95BBCDV 96-00BVADD 01B 13 VB程序設計試題及答案 (一)一、單選題 1.VB6.0是一種面向 B 的編程環境。 (A)機器(B)對象 (C)過程(D)應用 2.要使FormI窗體的標題欄顯示“歡迎使用VB”,以下 D 語句是正確的。 (A)Forml.Caption=“歡迎使用VB” (B)Forml.Caption='歡迎使用VB' (C)Forml.Caption=歡迎使用VB (D)Forml.Caption=“歡迎使用VB” 3.若要使命令按鈕不可操作,要對 A 屬性進行設置。 (A)EnabIed(B)Visible (C)Backcolor(D)Caption 4.如果在窗體上已經創建了一個文本框對象TextI,可以通過 C 事件獲得輸入鍵值的ASCII碼。 (A)Change(B)LostFocus (C)KeyPress(D)GotFocus 5.下面 A 是合法的變量名。 (A)X_yz(B)123ab。(C)integer(D)X-Y 6.以下關系表達式 中,其值為False的是 A。 (A)“ABC”>“AbC”(B)“女”>“男” (C)“BASIC”=UCase(“basic)(D)”123“<”23“ 7.為了給x、y、z三個變量賦初值1,下面正確的賦值語句是 A。 (A)x=1:y=1:z=1(B)x=1,y=1,z= 1(C)x=y=z=1(D)xyz=1 8.VB提供了結構化程序設計的三種基本結構,三種基本結構是 D。 (A)遞歸結構、選擇結構、循環結構 (B)選擇結構、過程結構、順序結構 (C)過程結構、輸入輸出結構、轉向結構 (D)選擇結構、循環結構、順序結構 9.下面If語句統計滿足性別為男、職稱為副教授以上、年齡小于40歲條件的人數,不正確的語句是 D。 (A)If sex=”男“ And age=4O And InStr(duty,”教授“)>O Then n=n+l (B)If sex=”男“ And age=4O And(duty=”教授“ Or duty=”副教授“)Then n=n+l (C)If sex=”男“ And age=4O And Right(duty,2)=”教授“ Then n=n+l (D)If sex=”男“ And age=4O And duty=”教授“ And duty=”副教授“ Then n=n+l 10.下列關于Do…Loop循環結構執行循環次數的描述正確的是 D。(A)Do While…Loop循環和Do…Loop Until循環至少都執行一次(B)Do While…Loop循環和Do…Loop Until循環可能都不執行 (C)Do While…Loop循環至少執行一次和Do…Loop Until循環可能不執行 (D)Do While…Loop循環可能不執行和Do…Loop Until循環至少執行一次 11.以下 B 是正確的For…Next結構。 (A)For x=1 To Step 10(B)For x=3 To-3 Step-3 … … Next x Next x(C)For x=1 To 10(D)For x=3 to 10 step re: … … Next x Next y If i=10 Then GoTO re 12.如下數組聲明語句,B 是正確的。 (A)Dim a[3,4] As Integer (B)Dim a(3,4)As Integer (C)Dim a(n,n)As Integer (D)Dim a(3 4)As Integer 13.下列語句中(假定變量n有值),能正確聲明可變長數組的是 A。 (A)Dim a()As Integer(B)Dim a()As Integer ReDim a(n)ReDim a(n)As String (C)Dim a()As Integer(D)Dim a(10)As Integer ReDim a(3, 4)ReDim a(n+10) ReDim Preserve a(4, 4) 14.要想從子過程調用后返回兩個結果,下面子過程語句說明合法的是 C。 (A)Sub f2(ByVal n%, ByVal m%)(B)Sub f1(n%, ByVal m%) (C)Sub f1(n%, m%)(D)Sub f1(ByVal n%, m%) 15.設有如下程序段: Public Sub F1(n%) … n=3*n+… End Sub Private Sub Command1_Click() Dim n%, m% n=3 m=4 … ‘調用F1語句 … End Sub 則在Command1_Click事件中有效的調用語句是 B。(A)Call F1(n+m)(B)Call F1(m)(C)Call F1(5)(D)Call F1(m+5) 16.用來設置粗體字的屬性是 C。 (A)FontItalic(B)FontName(C)FontBold(D)FontSize 17.假定定時器的Interval屬性為1000,Enabled屬性為True,調用下面的事件過程,程序運行結束后變量x的值為 D。 Dim x As Integer Sub Timer1_Timer() For i=1 to 10 x=x+Next i End Sub (A)1000(B)10000(C)10(D)以上都不對 18.在下列關于通用對話框的敘述中,錯誤的是 B。 (A)CommonDialog1.ShowFont顯示“字體”對話框 (B)在“打開”或“另存為”對話框中,用戶選擇的文件名可以經FileTitle屬性返回 (C)在“打開”或“另存為”對話框中,用戶選擇的文件名機器路徑可以經FileName屬性返回 (D) 19.當用戶按下并且釋放一個鍵后會觸發KeyPress、KeyUp和KeyDown事件,這三個事件發生的順序是 C。 (A)KeyPress、KeyDown、KeyUp(B)KeyDown、KeyUp、KeyPress(C)KeyDown、KeyPress、KeyUp (D)沒有規律 20.在下面關于順序文件的描述中,正確的是 C。(A)順序文件中每行的長度都是相同的。(B)可以通過編程對文件中的某行方便地進行修改 (C)數據以ASCII碼的形式存放在文件中,所以可通過記事本打開(D)文件的組織結構復雜 21.隨機文件是因為 C。 (A)文件中的內容是通過隨機數產生的(B)文件中的記錄號通過隨機數產生的(C)可對文件中的記錄根據記錄號隨機地讀/寫(D)文件的每條記錄的長度是隨機的 22.從磁盤上讀入一個文件名為“c:t1.txt”順序文件,如下 A 正確。 (A)F=“c:t1.txt” Open F For Input As #1(B)F=“c:t1.txt” Open “F” For Input As #2(C)Open “c:t1.txt” For Input As #1 (D)Open c:t1.txt For Input As #2 23.坐標度量單位可由通過來 D 改變。 (A)Drawstyle屬性(B)DrawWidth屬性 (C)Scale方法(D)ScaleMode屬性 24.指令“Circle(1000, 1000), 500, 8,-6,-3”將繪制 A。(A)畫圓(B)橢圓(C)圓弧(D)扇形 25.用ADO數據控件建立與數據源的鏈接,設置操作過程按 A 順序進行。 ①選擇數據源連接方式;②選擇數據庫類型;③指定數據庫文件名;④指定記錄源 (A)① ② ③ ④(B)② ③ ④ ① (C)③ ① ② ④(D)① ③ ② ④ 二、填空題 1.VB是建立在BASIC語言基礎上的可見 化編程語言或編程環境。 2.在窗體上已建立多個控件如Text1、Label1、Command1,若要程序一運行時焦點就定位在Command1控件上,應對Command1控件設置 TabIndex 屬性的值為 0。 3.在VB中,1234、123456&、1.2346E+5、1.2346D+5這4個常數分別表示 整形、長整形、單精度、雙精度 類型。4.表示x是5的倍數或是9的倍數的邏輯表達式為 x mod 5 = 0 or x mod 9=0。 5.數組聲明時下標下界默認為0,利用 Opation Base 1 語句可以使下標為1。 6.傳地址方式是當過程被調用時,形參和實參共享 存儲單元。7.窗體中的模塊級變量應在 窗口模塊 段聲明,它作用于該窗體的全局范圍。 8.當用戶單擊滾動條的空白處時,滑塊移動的增量值由 LargeChange 屬性決定。 9.如果菜單標題的某個字母前輸入一個“&”符號,那么該字母就成了熱鍵字母;如果建立菜單時在標題文本框中輸入一個“1) x(0)= 1 x(1)= 1 For i = 2 To n1)+ x(i1 Print x(i),If(i + 1)Mod 5 = 0 Then Print Next End Sub 輸出結果: 1 2 3 8 13 21 34(2)Public Function f(m%, n%) Do While m< >n Do While m> n: m=m-n: Loop Do While m< n: n=n-m: Loop Loop f=m End Function Print f(24, 18) End Sub 輸出結果:6(3) Public x as Integer Private Sub Fomr_Click() Dim x as Integer x=10 print "x=";x End Sub 輸出結果: x=10 2.補充程序 (1)以下是冒泡法排序的程序,要求將數組里的數按升序排列,將其補充完整。 Private Sub Command1_Click() Dim a(), iMin%, n%, i%, j%, t% a = Array(8, 6, 9, 3, 2, 7) n = ubound(a)' 獲得數組的下標上界 For i = 0 To n-1 For j = 0 To n-i-1 If a(j)>a(i)Then t = a(j): a(j)= a(j + 1): a(j + 1)= t End If Next j Next i For i = 0 To n Print a(i);Next i End Sub (2)用遞歸的方法求n!Private Sub Command1_Click()Print ”fac(4)=“;fac(4)End Sub Public Function fac As Integer If n = 1 Then fac = 1 Else Fac=fac*n End If End Function VB程序設計試題及答案 (三)一、單選題 1.Visual Basic是一種面向對象的可視化程序設計語言,采取了 A 的編程機制。 (A)事件驅動(B)按過程順序執行(C)從主程序開始執行(D)按模塊順序執行 2.若要使標簽控件顯示時不覆蓋其背景內容,要對 D 屬性進行設置。 n=n*j n=n*j Next j Next j Print n Print n Next I Next i(C)n=1(D)n=1(A)Backcolor(B)BorderStyle(C)Forecolor(D)Backstyle 3.在Visual Basic中最基本的對象是 C,它是應用程序的基石,是其他控件的容器。 (A)文本框(B)命令按鈕(C)窗體 (D)標簽 4.要判斷在文本框是否按下Enter鍵,應在文本框的 D 事件中判斷。(A)Change(B)KeyDown(C)Click(D)KeyPress 5.數學表達式3≤x (A)3<=x<10(B)3<=x AND x>10(C)x>=3 Or x<10(D)x>=3 AND x<10 6.Rnd函數不可能為下列 B 值。 (A)0(B)1(C)0.1234(D)0.0005 7.賦值語句:a=123+Mid(”123456“,3,2)執行后,a變量中的值是 D。 (A)”12334“(B)123(C)12334(D)157 8.對于語句If x=l Then y=l,下列說法正確的是 C。 (A)x=l和y=l均為賦值語句 (B)x=l和y=l均為關系表達式 (C)x=l為關系表達式,y=l為賦值語句 (D)x=l為賦值語句,y=l為關系表達式 9.下面程序段表示求兩個數中的大數,D 不正確。 (A)Max=IIf(x>y,x,y)(B)If x>y Then Max=x Else Max=y(C)Max=x(D)Ify>=x Then Max=y If y>=x Then Max=y Max=x 10.當在文本框中輸入“ABCD”4個字符時,窗體上顯示的是 C。 Private Sub Text1_Change()Print Text1;End Sub(A)ABCD(B)A(C)AABABCABCD(D)A B AB C ABC D ABCD 11.下列哪個程序段不能分別正確顯示1!、2!、3!、4!的值 B。(A)For i=1 to 4(B)For i=1 to 4 n=1 For j=1 to i For j=1 to I n=1 For j=1 to4 j=1 n=n*j Do While j<=4 Print n n=n*j Next j Print n j=j+1 Loop 12.如下數組聲明語句,則數組a包含元素的個數有 A。 Dim a(3,-2 to 2, 5) (A)120(B)75(C)60(D)13 13.以下程序的輸出結果是 D。 Dim a a=Array(1, 2, 3, 4, 5, 6, 7)For i=Lbound(a)to Ubound(a) a(i)=a(i)*a(i)Next i Print a(i) (A)49(B)0(C)不確定(D)程序出錯 14.在過程中定義的變量,若希望離開該過程后,還能保存過程中局部變量的值,則應使用關鍵字 D 在過程中定義局部變量。 (A)Dim(B)Private(C)Public(D)Static 15.如下程序,運行的結果是 B。 Dim a%, b%, c% Public Sub p1(x%, y%) Dim c% x=2*x: y=y+2: c=x+y End Sub Public Sub p2(x%, ByVal y%) Dim c% x=2*x: y=y+2: c=x+y End Sub Private Sub Command1_Click() a=2: b=4: c=6 Call p1(a, b) Print “a=”;a;“b=”;b;“c=”;c Call p2(a, b) Print “a=”;a;“b=”;b;“c=”;c End Sub (A)a=2 b=4 c=6(B)a=4 b=6 c=10 a=4 b=6 c=10 a=8 b=8 c=16(C)a=4 b=6 c=6(D)a=4 b=6 c=14 a=8 b=6 c=6 a=8 b=8 c=6 16.復選框的Value屬性為1時,表示 B。 (A)復選框未被選中(B)復選框被選中 (C)復選框內有灰色的勾(D)復選框操作有誤 17.下面關于菜單的說法中,錯誤的是 B。 (A)每個菜單項都是一個控件與其他控件一樣也有自己的屬性和事件 (B)除了Click事件之外,菜單項還能響應其他的,如DbClick事件 (C)菜單項的快捷鍵不能任意設置 (D)在程序執行時,如果菜單項的Enabled屬性為False,則該菜單項變成灰色,不能被用戶選擇 18.下面關于多重窗體的敘述中,正確的是 B。(A)作為啟動對象的Main子過程中能放在窗體模塊中(B)如果啟動對象是Main子過程,則程序啟動時不加載任何窗體,以后由該過程根據不同情況決定是否加載或加載哪一個窗體 (C)沒有啟動窗體,程序不能執行(D)以上都不對 19.當用戶將焦點移到另一個應用程序時,當前應用程序的活動窗體將 D。(A)發生DeActivate事件(B)發生LostFocus事件 (C)發生DeActivate和LostFocus事件(D)DeActivate和LostFocus事件都不發生 20.順序文件是因為 D。 (A)文件中的數據按每行的長度從小到大排序好的(B)文件中的數據按某個關鍵數據項從大到小進行排序(C)文件中的數據按某個關鍵數據項從小到大進行排序(D)數據按進入的先后順序存放的,讀出也是按原寫入的先后順序讀出 21.文件號最大可取值為 B。 (A)255(B)511(C)512(D)256 22.Print #1, STR$1中的Print是 A。 (A)文件的寫語句(B)在窗體上顯示的方法 (C)子程序名(D)以上均不是 23.以下的屬性和方法中 C 可重定義坐標系。(A)Drawstyle屬性(B)DrawWidth屬性 (C)Scale方法(D)ScaleMode屬性 24.封閉圖形的填充方式由下列 C 屬性決定。(A)DrawStyle, DrawMode(B)AutoRedraw, ClipControls (C)FillStyle, FillColor(D)ForeColor, BorderColor 25.下列字符串中,D 不包含在ADO數據控件的ConnectionString屬性中。(A)Microsoft Jet 4.0 OLE DB Provider(B)Data Source=C:Mydb.mdb(C)Persist Security Info=False(D)2-adCmdTable 二、填空題 1.在代碼窗口對窗體的BorderStyle、MaxButton屬性進行了設置,但運行后沒有效果,原因是這些屬性 在運行時設計是無效的。 2.在文本框中,通過 SelStart 屬性能活得當前插入點所在的位置。 3.表達式Ucase(Mid(“abcdefgh”, 3, 4))的值是 CDEF。4.已知a=3.5,b=5.0,c=2.5,d=True,則表達式:a>=0 And a+c>b+3 Or Not d的值是 False。 5.要獲得動態數組的上界通過 UBound 函數,下界通過 LBound 函數。 6.由Array函數建立的數組,其變量類型必須是 variant 類型。 7.VB中的變量按其作用域分為全局變量、模塊變量和 局部變量 變量。 8.復選框的 Value 屬性設置為2——Grayed時,變成灰色,禁止用戶選擇。 9.滾動條響應的重要事件有 Scroll 和Change。10.假定有一個通用對話框控件CommonDialog1,除了用COmmonDialog1.Action=3顯示顏色對話框之外,還可以用 showcolor 方法顯示。 11.窗體Form1的左上角坐標為(-200, 250),窗體Form1的右下角的坐標為(300,-150),則X軸的正向向 右,Y軸的正向向 上。 12.使用Circle方法畫扇形,起始角、終止角取值范圍為 0~2π。 13.在運行狀態改變ADO數據控件的數據源連接屬性后,必須使用 Refresh 方法激活這些變化。14.VB中工程文件的擴展名為 vbg。 15.如果在窗體上已經創建了一個文本框對象Text1,可以通過 Keypress 事件獲得輸入鍵值的ASCII碼。16.VB中對象的三要素是 屬性、事件 和 方法。 三、編程應用題 1.程序閱讀 (1)Private Sub Command1_Click() Dim s as String, i% s="abcd" For i=Len(s)to 1 step-1 Print Mid(s, i, 1)Next i End Sub 輸出結果: d c b a(2)Sub Swap1(ByVal x%, ByVal y%)Dim t% t = x: x = y: y = t End Sub Sub Swap2(ByRef x%, ByRef y%)Dim t% t = x: x = y: y = t End Sub Sub Command1_Click() Dim a%, b% a = 10: b = 20 Print ”調用Swap1前 a和b的值為:“;a;b Call Swap1(a, b)Print ”調用Swap1后按傳值方式 a和b的值為:“;a;b a = 10: b = 20 Call Swap2(a, b)Print ”調用Swap2后按傳地址方式 a和b的值為:“;a;b End Sub 輸出結果 調用Swap1前 a和b的值為:10 20 調用Swap1后按傳值方式 a和b的值為:10 20 調用Swap2后按傳地址方式 a和b的值為: 20 10(3)Private Sub Command1_Click() Dim x%, y%, z% x=242: y=44 z=x*y Do Until x=y If x>y Then x=x-y Else y=y-x Loop Print x, z/x End Sub 輸出結果: 22 484 2.補充程序 (1)以下是求1~18之間某個數的階乘的程序,具體的數值n由滾動條HScroll1獲得,結果顯示在窗體下部的兩個Label標簽里。補充完整如下程序。 Private Sub HScroll1_Change()Dim i As Integer, s As Double s = 1 n = Hscroll1.Value If n <> 0 Then For i = 1 To n s = s*i Next i End If Label2.Caption = n & ”!= " Label3.Caption = s End Sub (2)以下程序的功能是:已知數組a,刪除數組中某個元素。 Private Sub Command1_Click() Dim a(), key%, i%, j% a=Array(1, 6, 8, 3, 5, 9, 10, 2, 4, 7) key=9 For i=0 to UBound(a)If a(i)=9 Then For j=i+1 to UBound(a)a(j)=a(j+1) Next j ReDim a(j)=a(i) MsgBox("刪除完成") Exit Sub End If Next i MsgBox("找不到要刪除的元素")End Sub 讀程序并填空 1.給定程序的功能是輸出一組數的最大值和最小值,在畫線處填入適當內容,將程序補充完整。 Private Sub End Function 4.給定程序的功能是建立并輸出除主、副對角線上的元素為5外,其余元素都為1的方陣,在畫線處填入適當內容,將程序補充完整。Command1_Click() X=Array(-112, 18, 20,-5,-100, 82, 91, 56, 78, 99, Private Sub Command1_Click()100) Max=x(0) Min=x(0) For I=1 To 10 If x(I)>Max Then _____________ End if If x(I)>Min Then _____________ End if Next I Print “MAX=”;Max , “MIN=”;Min End Sub 2.若A2+B2+C2 , 則A,B,C稱為一組勾股數,如下程序是找出100以內的所有勾股數,并按A,B,C順序輸出。請在畫線處填入適當內容。 Private Sub Command1_Click() For A=2 To 99 For B=A+1 To 100 C=_____________ If ____________ And C<=100 Then Print A, B, C End If Next B Next A End Sub 3.本程序的功能是計算輸入數的階乘,請在畫線處填上適當的內容使程序完整。 Private Sub form_Click() Do N=Val(InputBox(“請輸入一個大于0的整數:”)) Loop Until N>0 Print Fact(N) End Sub Private Function Fact(M) Fact= _______________(1分) For I=2 To ____________(2分) Fact = ______________(2分) Next I Dim A(10,10) For I=1 To 10 For J=_______________(2分) If __ _____________ Then A(I, J)=5 Else A(I, J)=1(1分)Next J Next I For I=1 To 10 For J=1 To 10 Print A(I, J);Next J __ __________ (2分)Next I End Sub 編寫一個程序,在程序運行時輸入一個0—99999之間的整數,判斷輸入的是幾位數,并在窗體輸出結果。 編寫一個程序,在窗體上添加兩個命令按鈕,運行程序時,單擊[開始]按鈕,在窗體輸出1~100之間所有能被3整除的數。單擊[結束]按鈕,結束程序。第三篇:《vb程序設計》期末復習題及答案范文
第四篇:VB程序設計試題與答案
第五篇:VB程序設計試題及答案(一)