1.下列數(shù)據(jù)結(jié)構(gòu)中,屬于非線性結(jié)構(gòu)的是( )。
A.循環(huán)隊列
B.帶鏈隊列
C.二叉樹
D.帶鏈棧
2.下列數(shù)據(jù)結(jié)構(gòu)中,能夠按照“先進后出”原則存取數(shù)據(jù)的是( )。
A.循環(huán)隊列
B.棧
C.隊列
D.二叉樹
3.對于循環(huán)隊列,下列敘述中正確的是( )。
A.隊頭指針是固定不變的
B.隊頭指針一定大于隊尾指針
C.隊頭指針一定小于隊尾指針
D.隊頭指針可以大于隊尾指針,也可以小于隊尾指針
4.算法的空間復(fù)雜度是指( )。
A.算法在執(zhí)行過程中所需要的計算機存儲空間
B.算法所處理的數(shù)據(jù)量
C.算法程序中的語句或指令條數(shù)
D.算法在執(zhí)行過程中所需要的臨時工作單元數(shù)
5.軟件設(shè)計中劃分模塊的一個準則是( )。
A.低內(nèi)聚低耦合
B.高內(nèi)聚低耦合
C.低內(nèi)聚高耦合
D.高內(nèi)聚高耦合
6.下列選項中不屬于結(jié)構(gòu)化程序設(shè)計原則的是( )。
A.可封裝
B.自頂向下
C.模塊化
D.逐步求精
8.數(shù)據(jù)庫管理系統(tǒng)是( )。
A.操作系統(tǒng)的一部分
8.在操作系統(tǒng)支持下的系統(tǒng)軟件
C.一種編譯系統(tǒng)
D.一種操作系統(tǒng)
9.在E—R圖中,用來表示實體聯(lián)系的圖形是( )。
A.橢圓形
B.矩形
C.菱形
D.三角形
13.下面有關(guān)標準模塊的敘述中,錯誤的是( )。
A.標準模塊不完全由代碼組成,還可以有窗體
B.標準模塊中的Private過程不能被工程中的其他模塊調(diào)用
C.標準模塊的文件擴展名為.bas
D.標準模塊中的全局變量可以被工作中任何模塊引用
14.下面控件中,沒有Caption屬性的是( )。
A.復(fù)選框
B.單選按鈕
C.組合框
D.框架
15.用來設(shè)置文字字體是否斜體的屬性是( )。
A.FontUnderline
B.FontBold
C.FontSlope
D.FontItalic
16.若看到程序中確以下事件過程,則可以肯定的是,當程序運行時( )。
Private Sub Click—MouseDown(Button As Integer,Shift As Integer,X As Single,Y
As Single)
Print"VB Program"
End Sub
A.用鼠標左鍵單擊名稱為“Command1”的命令按鈕時,執(zhí)行此過程
B.用鼠標左鍵單擊名稱為“MouseDown”的命令按鈕時,執(zhí)行此過程
C.用鼠標右鍵單擊名稱為“MouseDown”的命令按鈕時,執(zhí)行此過程
D.用鼠標左鍵或右鍵單擊名稱為“Click”的命令按鈕時,執(zhí)行此過程
17.可以產(chǎn)生30-50(含30和50)之間的隨機整數(shù)的表達式是( )。
A.Int(Rnd*21+30)
B.Int(Rnd*20+30)
C.Int(Rnd*50—Rnd*30)D.Int(RND*30+50)
18.在程序運行時,下面的敘述中正確的是( )。
A.用鼠標右鍵單擊窗體中任何無控件部分,會執(zhí)行窗體的Form—Load事件過程
B.用鼠標左鍵單擊窗體的標題欄,會執(zhí)行窗體的Form—Click事件過程
C.只裝入而不顯示窗體,也會執(zhí)行窗體的Form—Load事件過程
D.裝入窗體后,每次顯示該窗體時,都會執(zhí)行窗體的Form—Click事件過程
19.窗體上有名稱為Command1的命令按鈕和名稱為Textl的文本框
Private Sub Command1 Click()
Text1.Text="程序設(shè)計"
Text1.SeFocus
End Sub
Private Sub Text1 GotFocus()
Text1.Text="等級考試"
End Sub
運行以下程序,單擊命令按鈕后( )。
A.文本框中顯示的是"程序設(shè)計",且焦點在文本框中
B.文本框中顯示的是"等級考試",且焦點在文本框中
C.文本框中顯示的是"程序設(shè)計",且焦點在命令按鈕上
D.文本框中顯示的是"等級考試",且焦點在命令按鈕上
20.窗體上有名稱為Option1的單選按鈕,且程序中有語句:
If()ption1.Value—True Then
下面語句中與該語句不等價的是( )。
A.If Option1.Value Then
B.If Option1一True Then
C.If Value=True Then
D.If Option1 Then
21設(shè)窗體上有1個水平滾動條,已經(jīng)通過屬性窗V1把它的Max屬性設(shè)置為1,Min屬
性設(shè)置為100。下面敘述中正確的是( )。
A.程序運行時,若使?jié)L動塊向左移動,滾動條的Value屬性值就增加
B.程序運行時,若使?jié)L動塊向左移動,滾動條的Value屬性值就減少
C.由于滾動條的Max屬性值小于Min屬性值,程序會出錯
D.由于滾動條的Max屬性值小于Min屬性值,程序運行時滾動條的長度會縮為一點,滾動塊無法移動
22.有如下過程代碼:
Sub var_dim()
static numa As Integer
Dim numb As Integer
numa=numa+2.
numb=numb+1
print numa;mub
End Sub
連續(xù)3次調(diào)劇var_dim過程,第3次調(diào)用時的輸出是( )。
A.2 1
B.2 3
C.6 1
D.6 3
23.在窗體上畫1個命令按鈕,并編寫如下事件過程:
private Sub Command1_Click()
For i=5 To 1 Step-0.8
Print Int(i);
Next i
End Sub
運行程序,單擊命令按鈕,窗體上顯示的內(nèi)容為( )。
A.5 4 3 2 1 1
B.5 4 3 2 1
C.4 3 2 1 1
D.4 4 3 2 1 1
24.在窗體上畫1個命令按鈕,并編寫如下事件過程:
Private Sub Command1 Click()
Dim a(3,3)
For m=1 To 3
For n=1 To 3
If n=m or n=4—m Then
a(m.n)=m+n
Else
a(m,n)=0
End If
Print a(m,n);
Next n
Next m
End Sub
運行程序,單擊命令按鈕,窗體上顯示的內(nèi)容為( )。
A.2 0 0
0 4 0
0 0 6
B.2 0 4
0 4 0
4 0 6
C.2 3 0
3 4 0
0 0 6
D.2 0 0
0 4 5
0 5 6
25.設(shè)有以下函數(shù)過程:
Function fun(a As Integer,b As Integer)
Dim c As Integer
If a c=a:a=b:b=C
End IF
c=0
Do
c=c+a
Loop Until c Mod b=0
fun=c
End Function
若調(diào)用函數(shù)fun時的實際參數(shù)都是自然數(shù),則函數(shù)返回的是( )。
A.a、b的大公約數(shù)
B.a、b的小公倍數(shù)
C.a除以b的余數(shù)
D.a除以b的商的整數(shù)部分
26.窗體上有1個名稱為Text1的文本框;1個名稱為Timer1的計時器控件,其Interval 屬性值為5000,Enabled屬性值是True。Timer1的事件過程如下:
Private Sub Timer1 Timer()
Static flag As Integer
If Flag=0 Then Flag=1
Flag=-flag
If flag=1 Then
Text1.ForeColor=&HFF& &HFF&為紅色
Else
Text1.ForeColor=&HCOO& &HCOO&為綠色
End If
End Sub
以下敘述中正確的是( )。
A.每次執(zhí)行此事件過程時,flag的初始值均為0
B.flag的值只可能取0或1
C.程序執(zhí)行后,文本框中的文字每5秒改變顏色
D.程序有邏輯錯誤,Else分支總也不能被執(zhí)行
27.為計算1+2+22+23+24+…+210的值,并把結(jié)果顯示在文本框Text1中,若編寫如下事件過程:
Private Sub Command1 Click()
Dim a%,s%,k%
s=1
a=2
For k=2 To 10
a=a*2
s2 s+a
Next k
Text1.Text=s
End Sub
執(zhí)行此事件過程后發(fā)現(xiàn)結(jié)果是錯誤的,為能夠得到正確結(jié)果,應(yīng)做的修改是( )。
A.把s=1改為s=0
B.把For k=2 T0 10改為For k=1 T0 10
C.交換語句s=s+a和a=a*2的順序
D.同時進行B、C兩種修改
28.標準模塊中有如下程序代碼:
Public x As Integer,y As Integer
Sub var pub()
x=10:y=20
End Sub
在窗體上有1個命令按鈕,并有如事件過程:
Private Sub Command1 Click()
Dim x As Integer
Call var pub
x=x+100
y=y+100
Print x;y
End Sub
運行程序后單擊命令按鈕,窗體上顯示的是( )。
A.100 100
B.100 120
C.110 100
D.110 120
29.設(shè)a、b都是自然數(shù),為求a除以b的余數(shù),某人編寫了以下函數(shù):
Eunction fun(a As Integer,b As Integer)
While a>b
a=a—b
Wend
fun=a
End Function
在調(diào)試時發(fā)現(xiàn)函數(shù)是錯誤的。為使函數(shù)能產(chǎn)生正確的返回值,應(yīng)做的修改是( )。
A.把a=a-b改為a=b-a
B.把a=a-b改為a=a\b
C.把While a>b改為While a%b
D.把While a>b改為While a>=b
30.下列關(guān)于通甩對話框CommonDialogl的敘述中,錯誤的是( )。
A.只要在“打開”對話框中選擇了文件,并單擊“打開”按鈕,就可以將選中的文件打開
B.使用(’ommoDialog1.ShowColor方法,可以顯示“顏色”對話框
C.CancelError屬性用于控制用戶單擊“取消”按鈕關(guān)閉對話框時,是否顯示出錯警告
D.在顯示“字體”對話框前,必須先設(shè)置CommonDialog1的Flags屬性,否則會出錯
31.在利用菜單編輯設(shè)計菜單時,為了把組合鍵"Alt+X"設(shè)置為”退出(X)”菜單項的訪問鍵,可以將該菜單項的標題設(shè)置為( )。
A.退出(X&) B.退出(&X)
C.退出(X#)D.退出(#X)
32.在窗體上畫l個命令按鈕和l個文本框,其名稱為Command1和Text1,再編寫如下程序:
Dim ss As String
Private Sub Text1 KeyPress(KeyAscii As Integer)
If Chr(KeyAscii)<>""Then ss=ss+Chr(KeyAscii)
End Sub
Private Sub Command1 Click()
Dim m As String,i As Integer
For i=Len(ss)To 1 Step-1
m=m+Mid(SS,i,1)
Next
Text1.Text=UCase(m)
End Sub
程序運行后,在文本框中輸入“Number 100”,并單擊命令按鈕,則文本框中顯示的就是( )。
A.NUMtBER l00
B.REBMUN
C.REBM UN l00
D.001 REBMUN
36.現(xiàn)有以下程序:
Private Sub Command1 Click()
c1=0
c2=0
For i=1 To 100
If i Mod 3=0 Then
c1=c1+1
Else If i Mod 7=0 Then
c2=c2+1
End If
Next i
Print c1+c2
End Sub
此程序運行后輸出的是在1~100范圍內(nèi)( )。
A.同時能被3和7整除的整數(shù)個數(shù)
B.能被3或7整除的整數(shù)個數(shù)(同時被3和7整除的數(shù)只記)
C.能被3整除,而不能被7整除的整數(shù)個數(shù)
D.能被7整除,而不能被3整除的整數(shù)個數(shù)
38.窗體上有一個名稱為Command1的命令按鈕,并有如下程序:
Private Sub Command1 Click()
x=15
Do While x>0
x=x-3
x=IIf(Int(x/5)=x/5,x+2,x)
Loop
Print x
End Sub
程序運行后,單擊命令按鈕Command1,輸出結(jié)果為( )。
A.0 B.-l
C.-2 D.-_3
39.以下關(guān)于通用對話框的敘述中,錯誤的是( )。
A.若沒有指定InitDir屬性值,則起始目錄為當前目錄
B.用一個通用對話框控件可以建立幾種不同的對話框
C.File Title屬性指明了文件對話框中所選擇的文件名
D.文件對話框用屬性FiherIndex指定默認過濾器,它是一個從0開始的整數(shù)
40.窗體上有一個名稱為Command1的命令按鈕,并有如下程序:
Private Sub Command1Click()
Dim m As Integer,n As Integer
m=InputBox("輸入第一個數(shù)")
nzInputBox("輸入第二個數(shù)")
Do While m<>n
Do While m>n
m= m-n
Loop
Do While n>m
n=n-m
Loop
Loop
Print m
End Sub
該程序的功能是( )。
A.求數(shù)值m和n的大公約數(shù)
B.求數(shù)值m和n的小公倍數(shù)
C.求數(shù)值m和n中的較大數(shù)
D.求數(shù)值m和n中的較小數(shù)
一、選擇題
1.A!窘馕觥織J窍薅ㄔ谝欢诉M行插入刪除的先入后出的線性表數(shù)據(jù)結(jié)構(gòu),棧頂元素后被插入到棧中,但是先被刪除;而棧底元素先被插入,后被刪除。
2.D!窘馕觥烤性表的特點是:在數(shù)據(jù)元素的非空有限集合中,①存在的一個被稱為“第一個”的數(shù)據(jù)元素,②存在一個被稱為“后一個”的數(shù)據(jù)元素,③除第一個以外,集合中的每個數(shù)據(jù)元素均只有一個后繼,④除后一個以外,集合中的每個數(shù)據(jù)元素均只有一個后繼。因此,雙向表是非線性結(jié)構(gòu)。
3.D!窘馕觥繉τ谌我庖豢枚鏄銽,如果葉子節(jié)點數(shù)為n0,度為2的結(jié)點數(shù)為n2,2-者之間的關(guān)系是n0=n2+1,該題中度為2的結(jié)點數(shù)為0,且只有一個葉子節(jié)點,因此,樹中度為1的結(jié)點有6個,很容易想到樹的高度為7。
4.D!窘馕觥啃枨蠓治鲭A段只能.產(chǎn)生需求分析規(guī)格說明書,A測試說明書是軟件測試階段生成的,B軟件詳細設(shè)計說明書是設(shè)計階段生產(chǎn),C用戶手冊是軟件發(fā)布時隨軟件一同交付給用戶的。
5.B。【解析】結(jié)構(gòu)化程序設(shè)計的三種結(jié)構(gòu)是順序、分支和循環(huán),不包括90t0跳轉(zhuǎn),它只是分支結(jié)構(gòu)的一種,也是一個關(guān)鍵字。
6.A!窘馕觥寇浖到y(tǒng)的總體結(jié)構(gòu)圖是軟件架構(gòu)設(shè)計的依據(jù),它并不能支持軟件的詳細設(shè)計。
7.C!窘馕觥繑(shù)據(jù)庫操縱語言專門負責查詢、增加、刪除等數(shù)據(jù)操作。
8.D!窘馕觥恳粋教師可以上多門課程,一門課程也可以由多個教師教授,這是典型的多對多的E—R 關(guān)系。
9.C。【解析】s中的關(guān)系全部出現(xiàn)在R中,只有做除法操作才會出現(xiàn)關(guān)系T。
10.B。【解析】A是有符號數(shù),C是浮點數(shù),D是結(jié)合,并不是類的實例化對象,只有B完全符合。
11.A!窘馕觥抗こ藤Y源管理器窗口列出了所有的模塊名稱,包括窗體等模塊。
12.A。【解析】應(yīng)用程序運行起來后,首先應(yīng)該加載所有的控件,所以已經(jīng)運行的事件是load事件。
13.C。【解析】不把lable屬性里的BackStyle設(shè)置為0即可。Caption是設(shè)置顯示文字的,Alignment設(shè)置對齊模式,AutoSize是自動設(shè)置大小。
14.B。【解析】VB中Rnd函數(shù)返回小于1但是大于等于0的值,因此如果要產(chǎn)生[20,30]之間的數(shù)值,則應(yīng)該選擇B。
15.C!窘馕觥扛鶕(jù)表達式,則滾動條處于中間位置,Value值表示滾動條當前所處位置在Max和Min值之間。
16.B。【解析】先要知道當前選中項的索引Cb1.ListIndex,而組合框的List屬性是存放組合框中所有項的一維字符型數(shù)組,輸出選中的列表項使用Print函數(shù)。
17.D!窘馕觥靠梢援嫷絻蓚Panel中,就可以保證在程序運行時每組有一個單選按鈕被選中,必須實現(xiàn)兩細單選按鈕的分組才能達到要求。
18.B。【解析】當直線控件在窗體呈現(xiàn)垂直時,它的x1和X2屬性應(yīng)該相同,因為坐標是從左上角開始算起的。橫向為X軸,縱向為Y軸。
19.A!窘馕觥坎捎昧瞬糠执_認結(jié)果法,即先計算And操作符的前部分。3>2*b為False,a=c為False,所以And的前部分是False,因此整個表達式的結(jié)果也是False。
20.B!窘馕觥看绑w單擊事件為Form—Click事件。
21.D。【解析】默認情況下,Dim a(5,-2 To 2)聲明了二維數(shù)組,第一維是6,第二維是5,所以有30個元素。
22.B!窘馕觥繛榱吮WCX能訪問數(shù)組a中的元素,則需要把x定義為變體型,這樣不論數(shù)組a中存儲何種類型數(shù)據(jù),x都能訪問到。
23.A。【解析】函數(shù)調(diào)用時,必須保證實參類型和形參類型一致,只有A符合,B項第一個參數(shù)是整型,C項不符合函數(shù)調(diào)用的方式,D項是數(shù)組的一個元素。
24.D!窘馕觥縑B中允許多種方式來讀取順序文件中的數(shù)據(jù),其中包括Input#語句,Line Input#語句,Input函數(shù),InputB函數(shù),但是不包括Read函數(shù)。
25.D。【解析】指定的步長為-1,但k指定從1到5,所以該for循環(huán)不會執(zhí)行,a的值為10,k的值為1。
26.C!窘馕觥慨斴斎-5時,Is<0,所以直接執(zhí)行20-X,即20-(-5)=25。
27.C!窘馕觥吭擃}由外層的for循環(huán)和內(nèi)層的do loop循環(huán)構(gòu)成,外層循環(huán)5次,只要內(nèi)層中滿足y>5 或x<-1就不用計算次數(shù),一步步計算應(yīng)該不難。
28.B!窘馕觥吭擃}首先計算出arr(7-i),得出arr(7),arr(6),arr(5)這三個數(shù)是數(shù)組中的第8,7,6個元素,VB數(shù)組下表從0開始,所以輸出應(yīng)該為7,6,5。
29.A。【解析】根據(jù)for循環(huán)先計算出數(shù)組a的值以及k的當前值是1,則a(k-a(k))=a(7-a(7))= a(7-6)=a(1)=18。
30.A!窘馕觥縈od運算是求余數(shù)的運算.被2除的余數(shù)只能是0或者1,X值就表示有多少個1相加,即在10個隨機數(shù)中有多少個奇數(shù)。
31.D。【解析】Timer的Interval屬性單位是毫秒,給Left加10表示向右移動。
32.C!窘馕觥縇ist1列表框先將選中的ch字符刪除,然后再將其插入到后,ListBox在增加項的時候是加在列表后面的。
33.D!窘馕觥縑B中函數(shù)傳遞參數(shù)有ByVal和ByRef兩種方式,ByVal是復(fù)制參數(shù),而不能改變該參數(shù)的值,而ByRef是傳遞該參數(shù)的指針。函數(shù)中a參數(shù)是傳值調(diào)用,因此調(diào)用完函數(shù)后a的值不會改變,而b 默認為傳址調(diào)用。
34.D!窘馕觥縑B中文件操作有Input方式和Output方式,Input是從硬盤上把文件內(nèi)容讀入到內(nèi)存,Output是將數(shù)據(jù)輸出到文件。
35.B。【解析】該題對輸入到組合框的編輯區(qū)內(nèi)的字符串先進行檢查如果不是A到Z或者a到z之間,則顯示添加失敗,接著再檢查組合框中是否已經(jīng)含有該字符串,如果含有,顯示“添加項目失敗”。
36.B!窘馕觥勘绢}考查的是過程的調(diào)用,根據(jù)題干在定義中不許定義一個a數(shù)組,其中a數(shù)組不能定長,所以答案為B。
37.C!窘馕觥恳邮战M合框的數(shù)據(jù),所使用的Text屬性得到。
38.C。【解析]Mid()函數(shù)是只在指定的文本中指定的位置取得指定個數(shù)的字符。在題干中a是在原有數(shù)據(jù)之前輸入的,所以指定的字符串為aDataBase,所以后取得的字符串為aData。
39.A!窘馕觥勘绢}考查For Each循環(huán),其中a必須是變體型變量,而在Next后可以跟變量a也可以不跟,F(xiàn)or話句是不需要指明終值的,在題中的Sum沒有賦值,在VB中可以看成是變體型變量初值為空或者0,arr是一個變體型的變量,不能使用Dim arr(10)進行聲明,所以答案為A。
40.D!窘馕觥扛鶕(jù)題干分析程序,循環(huán)l和循環(huán)2都是沒有錯誤的,在后輸出時,循環(huán)2的功能是刪除一個數(shù)細中的元素,所以后只有9個,所以答案為D。