原題
高二年級VB期末試卷
一、單選題
1、可以在窗體上輸出數據的方法的是 ( )
A、Print B、Cls C、Show D、Hide
2、下列說法中錯誤的是( )
A、對象是具有某些特性的具體事物的抽象 B、在VB程序中,窗體(Form)不是對象
C、屬性是對象所具有的特征 D、事件是發生在對象上且能被對象識別的動作
3、數據:“abcde”是( )數據
A、整型 B、長整型 C、字符型 D、日期型
4、以下各項中,可以作為VB變量名的是( )
A、13 B、 Stu23 C、22ab D、cj98.3
5、以下各項中,不能作為VB變量名的是( )
A、A52B B、if C、Y_5 D、Pi
6、InputBox函數返回值的類型為( )
A、數值 B、字符串 C、變體 D、數值或字符串(視輸入的數據而定)
7、表達式5 <> 2 Or 6<7的值是( )
A、Ture B、False C、-1 D、1
8、數學式sin30°寫成VB表達式是( )
A、Sin30 B、Sin(30) C、Sin(30°) D、Sin(30*3.14/180)
9、決定控件上文字的字體、字形、大小、效果的屬性是( )
A、Text B、Caption C、Name D、Font
10、設a、b、c為整型變量,其值分別為1、2、3,以下語句的輸出結果是( )
Print a;b;c
A.1 2 3 B.2 3 1 C.3 2 1 D.2 3 2
11、Visual Basic程序中的注釋所使用的字符是( )
A、' B、: C、\ D、_
12、若要求從文本框中輸入密碼時在文本框中只顯示 * 號,則應在此文本框的屬性窗口中設置( )。
A、Text 屬性值為 * B、Caption 屬性值為 *
C、Password 屬性值為空 D、Passwordchar 屬性值為 *
13、表達式“XYZ” + “487”的值是( )
A、“XYZ487” B、“XYZ” C、“487” D、“487XYZ”
14、下面語句中,正確的是( )
A、If x<3*y And x>y Then y=x^3 B、If x<3*y And x>y Then y=3x
C、If x<3*y : x>3 Then y=x^3 C、If x<3*y : x>y Then y=x**3
15、下列程序段的執行結果為( )
X=2
Y=5
If X*Y<1 Then Y=Y-1 Else Y=-1
Print Y-X>0
A、Ture B、False C、-1 D、1
16、下列關於visual basic特點的描述,哪個是正確的( )
A、面向對象 B、可視化 C、事件驅動 D、以上都是
17、為了使標簽中的內容靠右顯示,應將alignment屬性設置為( )
A、0 B、1 C、2 D、3
二、填空題(2分×9,共18分)
1、布爾型數據只有________和________兩個值。
2、關系運算符有>、<、=、<>、________、________ 6種。
3、Visual Basic 的print方法具有 和 雙重功能。
4、________________函數顯示一個能接收用戶輸入數據的對話框,並返回用戶在對話框中輸入的消息。
5、_________方法可以清除Form或PictureBox中由Print方法在運行時所生成的文本或圖形。
6、設a=6,b=3,c=5,則表達式Not a>c An c=b OR b<a+c的值為 。
7、假定一個文本框的Name屬性為Text1,為了使該文本框獲得焦點,應執行的語句是 。
8、執行print 9.4\3.7,9.4 MOD3.7 后,輸出結果為 。
9、表達式Ucase(Mid(“abcdefgh”,3,4))的值是 。
三、把下列數學表達式改為VB表達式。(4分×3,共12分)
1、3(a-b)
2、1≤X≤5
3、
四、寫出下列表達式的值(4分×3,共12分)
1、Abs(-100)+Sqr(100)
2、Not 3<=4 And 4 < > 5
3、3 ^ 2 - 8 > Abs (99-100)
五、閱讀程序並填空(共24分)
1、閱讀以下程序段,寫出運行結果: (4分)
x = 1 :y=0
x = x + 1
y = y + 1
print “x=” & Str(x); “y=” & Str(y)
運行結果:________________
2、閱讀以下程序段,寫出運行結果: (4分)
x=5
y=-6
If x>0 Then x = y-3 Else y = x+3
Print x - y ; y – x
運行結果:________________
3、下列程序可以實現在窗體上由用戶任意輸入一個整數,程序可以判斷該數的奇偶。程序由一個文本框(Textbox)、兩個標簽(Label)、一個按鈕(Command)組成。要求:奇或偶的結果在Label2內顯示,請在空格處填入相應的語句,使之完成上述功能。 (6分)
Private Sub Form_Load ( )
Text1.Text = “”
Label1.Caption = “請輸入一個整數”
Label2.Caption = “”
Command1.Caption = “判定”
End Sub
Private Sub Command1_Click( )
Dim x As Integer
x = Val(Text1.text)
If Then
label2.caption="該數是偶數"
Else
_________ _______
End If
End Sub
4、閱讀下面程序,並寫出執行結果。(3分)
x=int(rnd+1) +2
if x^2>8 then y=x^2+1
if x^2=9 then y=x^2-2
if x^2<8 then y=x^3
print y
5、讀程序,寫結果。(4分)
private sub form_click( )
x=2
y=3
x=y
print”X=”;X,
print”y=”;y
x=x+1
print”X=”;X,
print”y=”;y
end sub
6、讀程序,寫結果。(3分)
private sub form_click( )
const pi as single=3.14
a%=7
if a mod 4 > pi then
print”努力”
else
print”學習”
end if
end sub
老師給的答案(加上我的菜雞解析)
一、單選題
1、可以在窗體上輸出數據的方法的是 ( A )(這個沒有什么要講的,就是print{打印})
A、Print B、Cls C、Show D、Hide
2、下列說法中錯誤的是( B )
A、對象是具有某些特性的具體事物的抽象
B、在VB程序中,窗體(Form)不是對象(窗體是對象,只不過是屬於容器類的對象)
C、屬性是對象所具有的特征
D、事件是發生在對象上且能被對象識別的動作
3、數據:“abcde”是( C )數據。(我們規定,一切字符帶雙引號的,統稱為"字符型數據")
A、整型 B、長整型 C、字符型 D、日期型
4、以下各項中,可以作為VB變量名的是( B )(這里需要用到變量名的規則:1.必須以字母開頭,變量名中不能有空格。2.不可以包含嵌入的句號或者類型聲明字符。3.不能和受到限制的關鍵字同名(例如End、Len、Sub等)
A、13 B、 Stu23 C、22ab D、cj98.3
5、以下各項中,不能作為VB變量名的是( B )(這里也需要用到變量名的規則:1.必須以字母開頭,變量名中不能有空格。2.不可以包含嵌入的句號或者類型聲明字符。3.不能和受到限制的關鍵字同名(例如End、Len、Sub,if等)
A、A52B B、if (這個if用通俗的話講,VB已經用做了判斷,所以不可以作為變量名,也就是“變量名不可與關鍵字同名!”) C、Y_5 D、Pi
6、InputBox函數返回值的類型為( B )(inputbox函數返回值類型為:字符串類型,沒有什么要講的,就死記就行!書上的內容)
A、數值 B、字符串 C、變體 D、數值或字符串(視輸入的數據而定)
7、表達式5 <> 2 Or 6<7的值是( A )(這里我們來講一下整體的意思《5不等於2或者6小於7》,這里考的知識點為:or(或者)的用法,or的意思為,如果有一個為真,那么也就代表這個表達式是真的!也就是說,5就算小於3(假),但6小於7(真),它的結果也是真的)
A、Ture B、False C、-1 D、1
8、數學式sin30°寫成VB表達式是( D )(這里需要用到數學中的三角函數:Sin(30 * 3.14 / 180)先把角度轉成弧度,弧度=角度*π/180,然后直接用sin函數就行了)
A、Sin30 B、Sin(30) C、Sin(30°) D、Sin(30*3.14/180)
9、決定控件上文字的字體、字形、大小、效果的屬性是( D )(首先我們用排除法,text屬性是文本,caption屬性是標題,name屬性為名字(這里要注意,name屬性是用來定義一個窗體或者控件的名字,例如{from1.name=我是名字},下面再次利用from的時候,就為{我是名字.屬性值}),font屬性為字體屬性,例如size(大小)等)
A、Text B、Caption C、Name D、Font
10、設a、b、c為整型變量,其值分別為1、2、3,以下語句的輸出結果是( A )(這里沒什么要講的,分號為緊接着輸出,逗號為分區輸入,也就是隔了一個TAB鍵的距離)
Print a;b;c
A.1 2 3 B.2 3 1 C.3 2 1 D.2 3 2
11、Visual Basic程序中的注釋所使用的字符是( A )(這里也沒有什么要講的,就給大家講一下另一種注釋吧《rem后面跟注釋內容。以Rem關鍵字開頭並且Rem關鍵字與注釋內容之間要加一個空格。注釋可以是單獨的一行也可以寫在其他語句行的后面。如果在其他語句行后使用Rem關鍵字則必須使用冒號(:)與語句隔開》)
A、' B、: C、\ D、_
12、若要求從文本框中輸入密碼時在文本框中只顯示 * 號,則應在此文本框的屬性窗口中設置( D )。(這里的話,看上面的解析,text和caption就可以排除了,Password是密碼,passwordchar是設置用於掩蓋的字符,例如*等)
A、Text 屬性值為 * B、Caption 屬性值為 *
C、Password 屬性值為空 D、Passwordchar 屬性值為 *
13、表達式“XYZ” + "487" 的值是( A )(這里的話,XYZ是一個字符串,而487也是字符(我們說過的,有雙引號的我們統稱為字符型數據),所以相加后為XYZ487,但是,不是數字的字符型數據是不可以和數值型運算的!例如"ABC"+123,但是如果雙引號里為123或是另一些數字,那么會將它們兩個的結果相加!)
A、“XYZ487” B、“XYZ” C、“487” D、“487XYZ”
14、下面語句中,正確的是( A )(這里我們可以看到,很明顯的語法錯誤,BCD,B的錯誤為:3x應該是3*x 而CD為:條件語句中不可以加冒號!)
A、If x<3*y And x>y Then y=x^3 B、If x<3*y And x>y Then y=3x
C、If x<3*y : x>3 Then y=x^3 C、If x<3*y : x>y Then y=x**3
15、下列程序段的執行結果為( B )(看下面吧~)
X=2 將2賦值給Y
Y=5 將5賦值給Y
If X*Y<1 Then Y=Y-1 Else Y=-1 如果X乘Y小於1,則將Y-1賦值給Y(但我們算出來后,2x5=10 它不小於1,所以就是else了)那么將-1賦值給Y
Print Y-X>0 那么由上面可以得到X=2 Y=-1 那么Y-X=-3,它不大於0,所以最后結果為false(假的)
A、Ture B、False C、-1 D、1
16、下列關於visual basic特點的描述,哪個是正確的( D )(書上的內容)
A、面向對象 B、可視化 C、事件驅動 D、以上都是
17、為了使標簽中的內容靠右顯示,應將alignment屬性設置為( B )(alignment默認為0(靠左)其次靠右為1 然后為2(居中)這里主要,alignment屬性沒有3!!!)
A、0 B、1 C、2 D、3
二、填空題(2分×9,共18分)
1、布爾型數據只有(true)和(false)兩個值。
2、關系運算符有>、<、=、<>、(>=)、(<=)6種。
3、Visual Basic 的print方法具有 (輸出)和(計算)雙重功能。
4、(inputbox())函數顯示一個能接收用戶輸入數據的對話框,並返回用戶在對話框中輸入的消息。
5、(cls)方法可以清除Form或PictureBox中由Print方法在運行時所生成的文本或圖形。
6、設a=6,b=3,c=5,則表達式Not a>c And c=b OR b<a+c的值為(true)。這里有個小技巧,我們看到or時就要想到(如果一方為真,那么結果也就為真)算or左右好算的,很明顯,b是小於a+c的,所以答案為true(真)
7、假定一個文本框的Name屬性為Text1,為了使該文本框獲得焦點,應執行的語句是 ( text1.setfocus) 。
8、執行print 9.4\3.7,9.4 MOD 3.7 后,輸出結果為 ( 2 1)。
9、表達式Ucase(Mid(“abcdefgh”,3,4))的值是(CDEF) 。
三、把下列數學表達式改為VB表達式。(4分×3,共12分)(這里沒什么要講的)
1、3(a-b)
3*(a-b)
2、1≤X≤5
x>=1 and x<=5 這個很簡單啊,你看上面那個式子,它x需要同時滿足兩種條件,我們應該立刻想到and(只有兩個全為真,結果才是真的!
3、
(x^3+y^3+z^3)/sqr(x+y+z)
四、寫出下列表達式的值(4分×3,共12分)*(這里也沒有什么要講的)
1、Abs(-100)+Sqr(100) (就是考了一個abs取絕對值和sqr開根號的函數)
110
2、Not 3<=4 And 4 < > 5
False
3、3 ^ 2 - 8 > Abs (99-100)
False
五、閱讀程序並填空(共24分)(這里的話,如果不會,那就是你函數那塊沒學好)
1、閱讀以下程序段,寫出運行結果: (4分)
x = 1 :y=0 這里我們簡單講一下吧,這個式子的含義是將1賦值給x,0賦值給y,也就是x=1,y=0
x = x + 1 然后將x+1賦值給x,也就是說,x=x+1=1+1=2,那么x=2,y=0
y = y + 1 將y+1賦值給y,也就是說,y=y+1=0+1=1,那么x=2,y=1
print “x=” & Str(x); “y=” & Str(y) 這里str將數值轉為字符,所以,最后答案為x=2,y=1
運行結果:x= 2 y= 1
2、閱讀以下程序段,寫出運行結果: (4分)
x=5 同理的我就不講了,直接看if那里
y=-6
If x>0 Then x = y-3 Else y = x+3 如果x>0則將y-3賦值給x(我們先看這個條件成立不成立,上面已經明確指出x=5,那么5>0這是真的)所以將y-3賦值給x,也就是x=y-3,接下來套公式得出x=y-3=-6-3=-9)那么我們整理一下(x=-9,y=-6)
Print x - y ; y – x 那么這個就簡單了吧?x-y=-9-(-6)=-9+6=-3-------------------y-x=-6-(-9)=-6+9=3
運行結果:-3 3
3、下列程序可以實現在窗體上由用戶任意輸入一個整數,程序可以判斷該數的奇偶。程序由一個文本框(Textbox)、兩個標簽(Label)、一個按鈕(Command)組成。要求:奇或偶的結果在Label2內顯示,請在空格處填入相應的語句,使之完成上述功能。 (6分)
這里可能很多人不明白為什么《x/2=int(x/2)》,首先我們假設x為3,那么x/2=3/2=1.5,int取整x/2為1,那么1.5能等於1嗎?肯定不能吧,所以這個結果也就為假的
Private Sub Form_Load ( ) Text1.Text = “” Label1.Caption = “請輸入一個整數” Label2.Caption = “” Command1.Caption = “判定” End Sub Private Sub Command1_Click( ) Dim x As Integer'定義一個整型 x = Val(Text1.text)'val函數代表將字符轉為數值,因為從文本框里過來的數據全為字符,這里要注意一下!! If x mod 2=0 '或x/2=int(x/2) Then 'mod是取余函數,int是取整函數,這里在將一種取整,fix函數,直接取整數部分,把小數部分刪掉 label2.caption="該數是偶數" Else label2.caption="該數是奇數" End If End Sub
4、閱讀下面程序,並寫出執行結果。(3分)
x=int(rnd+1) +2 '我是這么想的,因為這塊畢竟我也有點懵,所實話,首先看函數,rnd(隨機取一個0-1之間的數,但是它是區間,也就是不可以取0和1,那么我們可以想到0.1等等
'接下來我們假設rnd取0.1那么0.1+1=1.1,int取整后為1,1+2=3,也就是x=3
if x^2>8 then y=x^2+1 '如果x的平方大於8那么將x的平方+1賦值給y,我們先看條件成立不成立吧,首先我們知道x=3,那么x的平方=9,9肯定大於8呀,所以y就為x的平方+1也就是y=3x3+1 if x^2=9 then y=x^2-2 '但是這里,如果按y=9的話,這個也就滿足了,y=x*x-2=3x3-2=7,實在不懂,有會的的話,評論區告訴我,謝謝 if x^2<8 then y=x^3 print y
7
5、讀程序,寫結果。(4分)
private sub form_click( ) x=2 y=3 x=y '就是一個簡單的交換原理,將y賦值給x,也就是y=2,x=3了唄。 print”X=”;X x=3 print”y=”;y y=3 x=x+1 '上面的x=3,這里將x+1賦值給x,也就是x=3+1=4 print”X=”;X, x=4 print”y=”; y y=3 end sub
6、讀程序,寫結果。(3分)
private sub form_click( ) const pi as single=3.14 這里就是將pi定義為整型,然后為3.14 a%=7 '%就是個(integer % 短整型、long & 長整型,single ! 單精度浮點型 ,double # 雙精度浮點型 ,currency @ 貨幣型 ,string $ 字符型) if a mod 4 > pi then '如果a除以4的余數大於pi也就是3.14,那么輸出努力,我們先看a=7那么a除以4余數是不是為3呀?那么3大於3.14嗎?很明顯,不成立,所以就為else也就是“學習” print”努力” else print”學習” end if end sub
學習