1[簡答題]請根據(jù)以下各小題的要求設(shè)計Visual Basic應用程序(包括界面和代碼)。
(1)在名稱為Form1的窗體上放置兩個列表框,名稱分別為List1和List2。在List1中添加"Item1"…"Item6",并設(shè)置MultiSelect屬性為2(要求在控件屬性中設(shè)置實現(xiàn))。
再放置一個名稱為Command1、標題為"導出"的命令按鈕。程序運行后,如果單擊"導出"按鈕,將List1中選中的內(nèi)容(至少三項)復制到List2中,并將對應的項從List1中刪除。如果選擇的項數(shù)少于3項,用消息框提示"請選擇至少3項",如圖3-1所示。
(2)在名稱為Form1的窗體上放置一個名稱為Text1的文本框。程序運行后,用戶在文本框中輸入的英文字母一律用小寫顯示。如圖3-2所示。
注意:保存時必須存放在考生文件夾下,窗體文件名為sj2.frm,工程文件名為sj2.vbp。
參考解析:
(1)向列表框中添加項目可以用AddItem方法添加,也可以在屬性窗口中進行。列表框的Text屬性為最后一次選中的表項的文本。
根據(jù)題意,新建"標準EXE"工程,將兩個列表框控件和一個命令按鈕添加到窗體中,列表框的名稱分別為List1和List2,在List1的List屬性中添加"Item1"、"Item2"、"Item3"、"Item4"、"Item5"和"Item6",命令按鈕的名稱為Command1、Caption屬性為"導出",在List1中選中的項,通過for循環(huán)進行復制并刪除。補充后的具體代碼如下:
(2)在Text控件中輸入文本時會觸發(fā)Change事件,要將大寫字母轉(zhuǎn)換成小寫字母要通過Lcase函數(shù)來實現(xiàn)。根據(jù)題意,新建"標準EXE"工程,將一個文本框控件添加到窗體中,其名稱為Text1、Text屬性為空,設(shè)置結(jié)束后雙擊Text1,進入代碼窗口,編寫如下代碼:
2[單選題] 以下不能設(shè)置Picture屬性的控件是
A.窗體B.列表框C.復選框D.命令按鈕
參考答案:B
參考解析:不能設(shè)置Picture屬性的控件是列表框。
[單選題] 表達式2*3^2+4*2/2+3^2的值是( )。
A.30B.31C.49D.48
參考答案:B
參考解析:在Visual Basic的常見運算符中,冪運算符(^)優(yōu)先級最高,其次是取負(-)、乘(*)、浮點除(/)、整除(\)、取模(Mod)、加(+)、減(-)、字符串連接(&)。其中,乘和浮點除是同級運算符,加和減是同級運算符。按優(yōu)先級順序本題逐步運算結(jié)果為:
2*3^2+4*2/2+3^2=2*9+4*2/2+9=18+8/2+9=18+4+9=31。
4[簡答題](1)在考生文件夾下有工程文件sj3.vbp及窗體文件sj3.frm,根據(jù)下文的描述,編寫相應的程序。存盤時不得改變文件名和文件夾。
本題描述如下:
在窗體上有一名為Text1的文本框,要求程序運行后,每用鼠標左鍵單擊窗體一次,則文本框的寬增加150;每用鼠標右鍵單擊窗體一次,文本框的寬減小150。窗體的寬為2500,文本框最大寬度不允許超過窗體的寬度,最小寬度不小于900(高與寬的單位為twip)。
程序運行時的窗口界面如圖47-3所示。
注意:保存時必須存放到考生文件夾下,工程文件名為sj3.vbp,窗體文件名為sj3.frm。
(2)在考生文件夾下有工程文件sj4.vbp及窗體文件sj4.frm,該程序時不完整的,在窗體中有一個名為Label1的標簽和兩個名稱分別為Command1與Command2、標題分別為"顯示"、"關(guān)閉"的命令按鈕,要求程序運行后,單擊"顯示"按鈕,能打印出如圖所示的B字三角形,執(zhí)行完畢,"顯示"按鈕變成"完成",且無效(變灰),如圖47-4所示。
注意:請在有"?"號的地方填放正確內(nèi)容,然后刪除"?"及所有注釋符(即"'"號),但不能修改其他部分。存盤時不得改變文件名和文件夾。
參考解析:
1)鼠標事件分點擊事件和狀態(tài)事件。點擊事件有單擊(Click)和雙擊(DblClick),不區(qū)分左右鍵;狀態(tài)事件有按下(Mousedown)、移動(Mousemove)和彈起(Mouseup),狀態(tài)事件涉及Button、Shift兩個參數(shù),Button參數(shù)是一個整數(shù),值可能為l(左鍵)、2(右鍵)或4(中間鍵),Shift參數(shù)也是一個整數(shù),用來代表用戶是否按下Shift、Ctrl或Alt鍵。
根據(jù)題意,程序中可以使用Mousedown事件,也可使用Mouseup事件。
根據(jù)題意,在進行鼠標左鍵點擊放大前需判斷文本框加寬后的寬度是否超過窗體大小,若是,將文本框的大小設(shè)為與窗體一致,否則寬度加150;在進行鼠標右鍵點擊縮小前需判斷文本框縮小后的寬度是否小于900,若是,將文本框的寬度設(shè)為900,否則寬度減150。補充后的具體代碼如下:
(2)本題主要考查For循環(huán)控制語句與字符串的操作。
根據(jù)題意,將一個標簽和兩個命令按鈕添加到窗體中,標簽的名稱為Label1,命令按鈕的名稱分別為Command1和Command2,Caption屬性分別為"顯示"和"關(guān)閉"。雙擊Command1進入代碼窗口,補充后的代碼如下:
5[單選題] 將窗體的KeyPreview屬性設(shè)為True,然后編寫如下程序:
運行程序時,按下字母鍵a,則窗體上顯示的是
A.AAB.AaC.aAD.aa
參考答案:B
參考解析:KeyCode是按鍵的實際字符(不區(qū)分大小寫),KeyAscii是以字符為準,是所按鍵的ASCIl碼。
6[單選題] 編寫如下程序:
程序運行后,單擊命令按鈕Commandl,輸出結(jié)果為
A.AAAB.BBBC.CCCD.1
參考答案:C
參考解析:SelectCase語句后面跟的是條件。根據(jù)條件執(zhí)行相應的分支語句。m=2,因此執(zhí)行SelectCasem中的Case2分支語句。選C.。
7[單選題] 假定有下列程序段:
則語句Print i*j的執(zhí)行次數(shù)是( )。
A.15B.16C.17D.18
參考答案:A
參考解析:
For…Next循環(huán)語句可提供一個重復執(zhí)行的語句序列,遵循"先檢查,后執(zhí)行"的規(guī)則,執(zhí)行過程中,循環(huán)次數(shù)=Int(終值一初值)/步長+1。
本題代碼是一個嵌套的For循環(huán),其中每次執(zhí)行內(nèi)循環(huán)時的循環(huán)次數(shù)=(Int(1-5)/-1)+1=5,外循環(huán)的循環(huán)次數(shù)為3,因此執(zhí)行循環(huán)體語句:Print i*j的次數(shù)為15次。
8[單選題] 對于循環(huán)隊列,下列敘述中正確的是( )。
A.隊頭指針是固定不變的B.隊頭指針一定大于隊尾指針C.隊頭指針一定小于隊尾指針D.隊頭指針可以大于隊尾指針,也可以小于隊尾指針
參考答案:D
參考解析:循環(huán)隊列是把隊列的頭和尾在邏輯上連接起來,構(gòu)成一個環(huán)。循環(huán)隊列中首尾相連,分不清頭和尾,此時需要兩個指示器分別指向頭部和尾部。插入就在尾部指示器的指示位置處插入,刪除就在頭部指示器的指示位置刪除。
9[單選題] 求1 1+2 1+…+lo!的程序如下:Private Function s(x As Integer)
f=l
Fori=1 To xf=f*iNext
S=f
End Function
Private Sub Commandl—Chck( )
Dim i As IntegerDim Y As LongFor i=l To lO
Next
Print Y
End Sub
為實現(xiàn)功能要求,程序的橫線處應該填入的內(nèi)容是(、>。
A.Call s(i)B.Call sC.Y=Y+s(i)D.Y=Y+s
參考答案:C
參考解析:題目中過程s的功能是實現(xiàn)一個數(shù)的階乘,而題目是求l到10的階乘的和,則程序空缺處應該是過程s返回值的累加,因此就應該為Y=Y+8(i)。
10[單選題] 為計算an的值,某人編寫了函數(shù)power如下:
在調(diào)試時發(fā)現(xiàn)是錯誤的,例如Print power(5,4)的輸出應該是625,但實際輸出是3125。程序需要修改。下面的修改方案中有3個是正確的,錯誤的一個是( )。
A.把For k=1 To n改為For k=2 To n
B.把p-P+a改為p=pan
C.把For k=1 To n改為For k=1 To n-1
D.把p=a改為p=1
參考答案:B
參考解析:本題函數(shù)power(a,n)的功能是要返回n個a相乘的值,而源程序中返回的是(n+1)個a相乘的值,解決問題的方法可以是將P的初值設(shè)置為1或?qū)⒀h(huán)變量的取值范圍設(shè)定為1~n-1(或2~n)。
相關(guān)推薦:
北京 | 天津 | 上海 | 江蘇 | 山東 |
安徽 | 浙江 | 江西 | 福建 | 深圳 |
廣東 | 河北 | 湖南 | 廣西 | 河南 |
海南 | 湖北 | 四川 | 重慶 | 云南 |
貴州 | 西藏 | 新疆 | 陜西 | 山西 |
寧夏 | 甘肅 | 青海 | 遼寧 | 吉林 |
黑龍江 | 內(nèi)蒙古 |