什么是可視化程序設計
可視化程序設計應該就是面嫌褲向對話框的編程,比如網頁上的登錄對話框,可視化程序設計要完成對鍵盤輸入,電弊者宴腦內部識別,分類處理(帳號密碼正確的話進入下一個界面,不對的話提示再次輸入或強制關閉頁面等)等一系列可能存在的狀況的處理。本人菜鳥,希望會有更多有才之士租銀給與更完美的答案!
VB期末考試
***套
一、判斷題
1、Visual Basic程序開發的特點是面向對象的事件驅動。 (√)
2、Print_Text是一個不合法的變量名。 (×)
3、窗體的AutoRedraw屬性實現了屏幕圖像的重建。 (√)
4、設置字體大小應使用Font屬性 (×)
5、Sub過程可以實現嵌套調用 (√)
6、IIF函數中的三個參數都不能省略。 (√)
7、塊結構條件語句以End If結束,而單行結構條件語句沒有End IF。(√)
8、當終值小于初值時,步長為負數。 (√)
9、執行While-Wend循環時,如果一開始條件就不成立,則差衡差語句塊一次也
不會執行。(√)
10、關于數組的引用,在程序中,凡是簡單變量可以出現的地方都可以出現數組元素的引用 (√)
二、單項選擇題
1.Print Format(123,”####”)執行之后的結果為
A)#123 B)123 C)123# D)####
B
2.下面可以表示注釋語句開頭的為
A)Re B)R C)Rem D)dim
C
3.下列選項中窗體載入事件為
A)Load事件 B)Click事件 C)DblClick事件 D)Unload事件
A
4.Timer控件可以使用下列哪種事件
A)Click事件 B)Timer事件 C)Dblclick事件 D)Change事件
B
5.在InputBox函數中哪一個參數是必須的
A)Prompt B)Buttons C)Title D)Context
A
6.以下敘述中錯誤的是:
A)如果過程被定義為Static類型,則該過程中的局部變量都是Static類型
B)Sub過程中不能嵌套定義Sub過程
C)Sub過程可以嵌套調用Sub過程
D)事件過程可以像通用過程一樣由用戶定義過程名
C
7.要填加一個標準模塊,可使用“_____”菜單中的“添加模塊”命令。
A)文件 B)視圖 C)工程 D)工具
C
8.在塊結構條件語句If-Then / Endif中
(A) 必須至少有一個Elseif語句
(B ) 可以有任意多個ElseIf-Then語句
(C) 如果沒有Else語句,運行時將出現錯誤
(D ) 給定的條件只能是關系表達式或邏輯表達式
B
9.以下Case語句中錯誤的是
(A) Case 10 To 1
(B) Case Is10
(C)Case Is10 , Is50
(D) Case 3,5,Is10
A
10.對Do Until…Loop循環,正確的是( )。
A.如果循環條件為常數0,則一次循環也不執行
B.如果循環條件為常數0,則至少執行一次循環
C.如果循環條件是不為0的常數,則至少執行一次循環
D.無論循環條件是否為"True",則至少執行一次循環
B
11.語句Dim arr(-3 To 5, 2 To 6) As Integer定義的數組元素有_______個。
A) 45 B) 40 C) 11 D) 54
A
12.下列關于Option Base語句說法錯誤的是______D
A) Option Base語句只能出現在窗體層或模塊層
B) Option Base語句不能出現在過程中
C) Option Base語句必須位于數組的定義之前
D) Option Base語句只對一維數組有效
D
13、Visual Basic的特點不包括下面的(A)
A 不需編程 B 面向豆象的程序設計
C 可視化程序設計 D 時間驅動虛皮的程序設計
14、從鍵盤上能夠輸入兩個字符串,分別保存在變量str1、str2中。確定第二個字符串在***個字符串中起始位置的函數是(D)
A Left B Mid
C String D Instr
15、如果將布爾常量值True賦值給一個整型變量,則整型變量的攔模值為(B)
A 0 B -1
C True D false
16、下列符號常量的聲明中,(C)是不合法的。
A Const a As Single = 1.1 B Const a As Integer = “12”
C Const a As Double = Sin(1) D Const a =”OK”
17、四個字符“E”,“y”,“B”,“8”的ASCII碼值比較大的是(B)
A “E” B “y”
C “B” D “8”
18、將變量k四舍五入保留2位小數的表達式是(C)
A Int((k+0.5)*100)/100 B Int((k*100)/100)+0.5
C Int(k*100+0.5)/100 D Int(k*(100+0.5))/100”
19、30.將數學表達式Cos2(a+b)+5e2寫成Visual Basic的表達式,其正確的形式是(A)
A) Cos(a+b)^2+5*exp(2) B) Cos^2(a+b)+5*exp(2)
C) Cos(a+b)^2+5*ln(2) D) Cos^2(a+b)+5*ln(2)
20、在順序文件中,當使用Write#語句時,文件打開的方式必須是(B)
A Output和Input B Output和Append
C Output D Append
三、程序分析題
1.以下語句的輸出結果是(注:■表示一個空格)
a = 123
b = 456
Print a; b
A)123■456 B)■123■456 C)■123■456■ D)■123■■456
D
2.下列程序執行的結果為
x = -6 ^ 2
Print Sgn(x) + Abs(x) + Int(x)
A)-36 B)1 C)-1 D)-72
C
3.在窗體上畫一個名稱為Command1的命令按鈕,一個名稱為Label1的標簽,然后編寫如下的事件過程:
Private Sub Command1_Click()
s = 0
For i = 0 To 15
X = 2 * i - 1
If X Mod 3 = 0 Then s = s + 1
Next i
Label1.Caption = s
End Sub
程序運行后,單擊命令按鈕,則標簽中顯示的內容為
A)1 B)5 C)27 D)45
B
4.在窗體上畫一個名稱為Command1的命令按鈕,一個名稱為Label1、Label2、Label3的標簽,然后編寫如下的事件過程:
Private x As Integer
Private Sub Command1_Click()
Static y As Integer
Dim z As Integer
n = 10
z = n + z
y = y + z
x = x + z
Label1.Caption = x
Label2.Caption = y
Label3.Caption = z
End Sub
運行程序后,連續三次單擊命令按鈕后,則三個標簽中顯示的內容分別是
A)10 10 10 B)30 30 30 C)30 30 10 D)10 30
C
5.在窗體上畫一個名稱為Command1的命令按鈕,一個名稱為Label1、Label2的標簽,然后編寫如下的事件過程:
Private x As Integer
Private Sub Command1_Click()
x = 5: y = 3
Call Proc(x, y)
Label1.Caption = x
Label2.Caption = y
End Sub
Private Sub Proc(ByVal a As Integer, ByVal b As Integer)
x = a * a
y = b + b
End Sub
運行程序后,則兩個標簽中顯示的內容分別是
A)5和3 B)25和3 C)25和6 D)5和6
B
6.下面程序段求兩個數中的大數,不正確的是
(A)If x>y Then Max=x Else Max=y
(B) Max=IIf(x>y,x,y)
(C)If y>=x Then Max=y
Max=x
(D)If y>x Then Max=y
Max=x
D
7.如果x的值大于或等于y的立方,則打印“OK”,表示這個條件的單行格式的If語句是
A)If x=y^3 Print “OK”
B)If x=y*y*y Then “OK”
C)If x=y^3 Then Print “OK”
D)If x=y*y*y Then Print “OK” End If
C
8.下列程序段執行結果為
x = 5
y = -6
If Not x 0 Then x = y - 3 Else y = x + 3
Print y - x; x - y
A) 3 -3
B) -9 5
C) -3 3
D) 5 -6
A
9.已知x的值,計算分段函數f(x),下面選項不正確的是
當 x>=1, f(x)= ;
當x<1 ,f(x)= x2+3
(A) Select Case x
Case Is1
f= x^2+3
Case else
f=sqr(x+1 )
End Select
(B) Select Case x
Case x=1
f=sqr(x+1 )
Case x1
f= x^2+3
End Select
(C ) Select Case x
Case Is=1
f=sqr(x+1 )
Case Is1
f= x^2+3
End Select
(D) IF x=1 then f=sqr(x+1 ) else f= x^2+3
B
10.執行完下面的程序段后,循環執行了( )次。
For i = 1.7 To 5.9 Step 0.9
a = a + 1
Print a
Next I
A.3 B.4 C.5 D.6
C
11.下列程序段的執行結果為( )。
n = 0
j = 1
Do Until n 2
n = n + 1
j = j + n * (n + 1)
Loop
Print n; j
A.0 1 B.3 7 C.3 21 D.3 13
C
12.以下正確的For…Next結構是
(A) For x=1 To 10
for y=1 to 10
…
Next
(B)For x=1 To 10
for y=1 to 10
…
Next y , x
(C)For x=1 To 10
for y=1 to 10
Next x
Next y
(D)For x=1 To 10
for y=1 to 10
…
Next x , y
B
13.下列程序中,***個Do語句共執行了( )次循環。
Dim i As Integer, j As Integer
i = 1
Do
j = 1
Do
Sum = Sum + j
j = j + 2
Print j;
Loop Until j 3
i = i + 2
Loop Until i 10
Print Sum
A.10 B.20 C.5 D.7
A
14.下列語句中,a是一個數組,則使用正確的是______
A) Option Base 2
B) Redim a
C) Erase a
D) a = Array()
C
15.在窗體上畫一個名稱為Text1的文本框和一個名稱為Command1的命令按鈕,然后編寫如下事件過程:
Private Sub Command1_Click()
Dim array1(10, 10) As Integer
Dim i As Integer, j As Integer
For i = 1 To 3
for j = 2 To 4
array1(i, j) = i + j
next j
next i
Text1.Text = arrry1(2, 3) + array(3, 4)
End Sub
程序運行后,單擊命令按鈕,在文本框中顯示的值是______
A) 12 B) 13 C) 14 D) 15
A
16.在窗體上畫一個名稱為Command1的命令按鈕,然后編寫如下事件過程:
Private Sub Command1_Click()
Dim a (10,10) As Integer
Dim i As Integer, j As Integer
For i = 1 To 3
for j = 1 To 3
a (i, j) = (i – 1) * 3 + j
Print a(i, j );
next j
Print
next i
End Sub
程序運行后,單擊命令按鈕,窗體上顯示的是______
A) 1 2 3
2 4 6
3 6 9
B) 2 3 4
3 4 5
4 5 6
C) 1 4 7
2 5 8
3 6 9
D) 1 2 3
4 5 6
7 8 9
D
17.設有如下程序:
Option Base 0
Private Sub Form_Click()
Dim a
Dim i As Integer
a = Array(1,2,3,4,5,6,7,8,9)
For i = 0 To 3
Print a(5 – i);
Next
End Sub
程序運行后,單擊窗體,則在窗體上顯示的是______
A) 4 3 2 1 B) 5 4 3 2 C) 6 5 4 3 D) 7 6 5 4
C
18.執行以下Command1的Click事件過程在窗體上顯示_______。
Private Sub Command1_Click()
Dim a
a = Array(“a”,”b”,”c”,”d”,”e”,”f,”,”g”)
Print a(1); a(3); a(5)
End Sub
A) a b c B) b d f C) a c e D) 出錯
B
19、設有語句
Open"c:\Test.Dat"For Output As#1
則以下錯誤的敘述是(B)
A)該語句打開C盤根目錄下一個已存在的文件Test.Dat
B)該語句在C盤根目錄下建立一個名為Test.Dat的文件
C)該語句建立的文件的文件號為1
D)執行該語句后,就可以通過Print#語句向文件Test.Dat中寫入信息
20、 以下代碼完成對順序文件test1.txt追加打開的是(C)
A)Open test1.txt For Input As #1
B)Open test1.txt For Output As #1
C)Open test1.txt For Append As #1
D)Open test1.txt For Redom As #1
四、上機題
1.小王有存款A元,年利率為P,存儲時間為T年.請編寫一個程序計算本利合計。(A 、P、 T均使用Inputbox輸入)
2.求100以內的素數,素數是指一個數x除了1和它本身,不能被其他任何整數整除。要求每行輸出10個素數。
單擊窗體,運行結果如圖所示:
答案
在單擊窗體的事件過程中添加代碼,程序代碼如下:
Private Sub Form_click()
Const N = 100
Dim i, j, Line, a(N) As Integer
For i = 0 To N - l ' 置初值
a(i) = i
Next i
For i = 2 To Sqr(N)
For j = i + 1 To N
If a(i) 0 And a(j) 0 Then
If a(j) Mod a(i) = 0 Then a(j) = 0 ' 能整除就賦0
End If
Next j
Next i
Print "顯示出100以內的素數"
For i = 2 To N - 1
If a(i) 0 Then
Print a(i); Spc(1);
Line = Line + 1
End If
If Line 0 And Line Mod 10 = 0 Then Print ' 每行顯示10個數
Next i
End Sub
評分標準:
1、正確給數組賦值 (2分)
2、正確判斷素數 (3分)
3、正確輸出顯示結果 (2分)
4、文件存盤 (2分)
5、程序結構合理、清晰 (1分)