(1) 在深度為5的滿二叉樹中,葉子結(jié)點(diǎn)的個(gè)數(shù)為
A) 32
B) 31
C) 16
D) 15
答案:B
(2) 若某二叉樹的前序遍歷訪問順序是abdgcefh,中序遍歷訪問順序是dgbaechf,則其后序遍歷的結(jié)點(diǎn)訪問順序是
A) bdgcefha
B) gdbecfha
C) bdgaechf
D) gdbehfca
答案:D
(3) 一些重要的程序語(yǔ)言(如C語(yǔ)言和Pascal語(yǔ)言) 允許過程的遞歸調(diào)用。而實(shí)現(xiàn)遞歸調(diào)用中的存儲(chǔ)分配通常用
A) 棧
B) 堆
C) 數(shù)組
D) 鏈表
答案:A
(4) 軟件工程的理論和技術(shù)性研究的內(nèi)容主要包括軟件開發(fā)技術(shù)和
A) 消除軟件危機(jī)
B) 軟件工程管理
C) 程序設(shè)計(jì)自動(dòng)化
D) 實(shí)現(xiàn)軟件可重用
答案:B
(5) 開發(fā)軟件時(shí)對(duì)提高開發(fā)人員工作效率至關(guān)重要的是
A) 操作系統(tǒng)的資源管理功能
B) 先進(jìn)的軟件開發(fā)工具和環(huán)境
C) 程序人員的數(shù)量
D) 計(jì)算機(jī)的并行處理能力
答案:B
(6) 在軟件測(cè)試設(shè)計(jì)中,軟件測(cè)試的主要目的是
A) 實(shí)驗(yàn)性運(yùn)行軟件
B) 證明軟件正確
C) 找出軟件中全部錯(cuò)誤
D) 發(fā)現(xiàn)軟件錯(cuò)誤而執(zhí)行程序
答案:D
(7) 數(shù)據(jù)處理的最小單位是
A) 數(shù)據(jù)
B) 數(shù)據(jù)元素
C) 數(shù)據(jù)項(xiàng)
D) 數(shù)據(jù)結(jié)構(gòu)
答案:C
(8) 索引屬于
A) 模式
B) 內(nèi)模式
C) 外模式
D) 概念模式
答案:B
(9) 下述關(guān)于數(shù)據(jù)庫(kù)系統(tǒng)的敘述中正確的是
A) 數(shù)據(jù)庫(kù)系統(tǒng)減少了數(shù)據(jù)冗余
B) 數(shù)據(jù)庫(kù)系統(tǒng)避免了一切冗余
C) 數(shù)據(jù)庫(kù)系統(tǒng)中數(shù)據(jù)的一致性是指數(shù)據(jù)類型一致
D) 數(shù)據(jù)庫(kù)系統(tǒng)比文件系統(tǒng)能管理更多的數(shù)據(jù)
答案:A
(10) 數(shù)據(jù)庫(kù)系統(tǒng)的核心是
A) 數(shù)據(jù)庫(kù)
B) 數(shù)據(jù)庫(kù)管理系統(tǒng)
C) 模擬模型
D) 軟件工程
答案:B
(11) 下列說法錯(cuò)誤的是
A) 窗體文件的擴(kuò)展名為.frm
B) 一個(gè)窗體對(duì)應(yīng)一個(gè)窗體文件
C) Visual Basic中的一個(gè)工程只包含一個(gè)窗體
D) Visual Basic中一個(gè)工程最多可以包含255個(gè)窗體
答案:C
(12) 下列四組控件屬性中,屬性值的類型不相同的一組是
A) Label控件的Enabled屬性與TextBox控件的Enabled屬性
B) OptionButton控件的Value屬性與CheckBox控件的Value屬性
C) Command控件的Default屬性與Command控件的Cancel屬性
D) Command控件的Visible屬性與Form控件的Visible屬性
答案:B
(13) 下列方法中不能退出Visual Basic的是
A) 按Alt+Q組合鍵
B) 按下Alt+F組合鍵,然后按Esc鍵
C) 打開"文件"菜單,執(zhí)行"退出"命令
D) 按F10鍵,然后按F鍵,再按X鍵
答案:D
(14) 任何控件都有的屬性是
A) BackColor
B) Caption
C) Name
D) BorderStyle
答案:C
(15) 可以實(shí)現(xiàn)從鍵盤輸入一個(gè)作為雙精度變量a的值的語(yǔ)句是
A) a=InputBox()
B) a=InputBox("請(qǐng)輸入一個(gè)值")
C) a=Val(InputBox("請(qǐng)輸入一個(gè)值") )
D) a=Val(InputBox() )
答案:C
(16) 下列符號(hào)常量的聲明中,不合法的是
A) Const a As Single=1.1
B) Const a="OK"
C) Const a As Double=Sin(1)
D) Const a As Integer="12"
答案:C
(17) 在Visual Basic中,要強(qiáng)制用戶對(duì)所用的變量進(jìn)行顯式聲明,這可以在哪里設(shè)置?
A) "屬性"對(duì)話框
B) "程序代碼"窗口
C) "選項(xiàng)"對(duì)話框
D) 對(duì)象瀏覽器
答案:C
(18) 下列語(yǔ)句中,獲得列表框List1中項(xiàng)目個(gè)數(shù)的語(yǔ)句是
A) x=List1.ListCount
B) x=ListCount
C) x=List1.ListIndex
D) x=ListIndex
答案:A
(19) 要獲得當(dāng)前驅(qū)動(dòng)器應(yīng)使用驅(qū)動(dòng)器列表框的屬性是
A) Path
B) Drive
C) Dir
D) Pattern
答案:B
(20) 如果將文本框的MaxLength屬性設(shè)置為0,則文本框中的字符不能超過
A) 8K
B) 16K
C) 32K
D) 64K
答案:C
(21) 當(dāng)在滾動(dòng)條內(nèi)拖動(dòng)滾動(dòng)塊時(shí)觸發(fā)
A) KeyUp事件
B) KeyPress事件
C) Scroll事件
D) Change事件
答案:C
(22) 設(shè)有聲明語(yǔ)句
Dim b(-1 To 10, 2 To 9, 20) As Integer
則數(shù)組b中全部元素的個(gè)數(shù)
A) 2310
B) 2016
C) 1500
D) 1658
答案:B
(23) 設(shè)在窗體上有個(gè)文本框,然后編寫如下的事件過程:
Private Sub Text1_KeyDown(KeyCode As Integer, Shift As Integer)
Const Alt=4
Const Key_F2=&H71
altdown%=(Shift And Alt) > 0
f2down%=(KeyCode=Key_F2)
If altdown% And f2down% Then
Text1.Text="BBBBB"
End If
End Sub
上述程序運(yùn)行后,如果按 【Shift+F2】 ,則在文本框中顯示得是
A) Alt+F2
B) BBBBB
C) 隨機(jī)出幾個(gè)數(shù)
D) 文本框平均內(nèi)容無變化
答案:D
(24) 設(shè)已經(jīng)在"菜單編輯器"中設(shè)計(jì)了窗體的快捷菜單,其菜單為Bs,取消其"可見"屬性,運(yùn)行時(shí),在以下事件過程中,可以使快捷菜單響應(yīng)鼠標(biāo)右鍵菜單的是
A) Private Sub Form_MouseDown(Button As Integer, Shift As Integer, _
X As Single, Y As Single)
If Button=2 Then PopupMenu Bs, 2
End Sub
B) Private Sub Form_MouseDown(Button As Integer, Shift As Integer, _
X As Single, Y As Single)
PopupMenu Bs
End Sub
C) Private Sub Form_MouseDown(Button As Integer, Shift As Integer, _
X As Single, Y As Single)
PopupMenu Bs,0
End Sub
D) Private Sub Form_MouseDown(Button As Integer, Shift As Integer, _
X As Single, Y As Single)
If (Button=vbLeftButton) Or (Button=vbRightButton) Then PopupMenu Bs
End Sub
答案:A
(25) 下列程序的功能是調(diào)用字體對(duì)話框來設(shè)置文本框字體,單擊按鈕彈出對(duì)話框后,按Cancel鍵退出對(duì)話框,則
Private Sub Command1_Click()
CommonDialog1.CancelError=True
CommonDialog1.Flags=cdlCFEffects Or cdlDFBoth
CommonDialog1.Action=4
CommonDialog1.ShowFont
Text1.Font.Name=CommonDialog1.FontName
Text1.Font.Size=CommonDialog1.FontSize
Text1.Font.Bold=CommonDialog1.FontBold
Text1.Font.Italic=CommonDialog1.FontItalic
Text1.Font.Underline=CommonDialog1.FontUnderline
Text1.FontStrikethru=CommonDialog1.FontStrikethru
Text1.ForeColor=CommonDialog1.Color
End Sub
A) Text1的字體不發(fā)生變化
B) Text1的字體發(fā)生變化
C) Text1的字體和顏色發(fā)生變化
D) 程序出錯(cuò)!
答案:D
(26) 要將名為MyForm的窗體顯示出來,正確的使用方法是
A) MyForm.Show
B) Show.MyForm
C) MyForm Load
D) MyForm Show
答案:A
(27) 下列程序段的執(zhí)行結(jié)果為
a=5
For k=1 To 0
a=a + k
Next k
Print k; a
A) -1 6
B) -1 16
C) 1 5
D) 11 21
答案:C
(28) 下列程序段的執(zhí)行結(jié)果為
a=3
b=1
For I=1 To 3
f=a + b
a=b
b=f
Print f
Next I
A) 4 3 6
B) 4 5 9
C) 6 3 4
D) 7 2 8
答案:B
(29) 下列程序段的執(zhí)行結(jié)果為
I=9
x=5
Do
I=I + 1
x=x + 2
Loop Until I >=7
Print "I="; I
Print "x="; x
A) I=4x=5
B) I=7x=15
C) I=6x=8
D) I=10x=7
答案:D
(30) 以下程序段運(yùn)行時(shí)從鍵盤上輸入字符"-",則輸出結(jié)果為
op$=InputBox("op=")
If op$="+" Then a=a + 2
If op$="-" Then a=a - 2
Print a
A) 2
B) -2
C) 0
D) +2
答案:B
(31) 以下程序段的輸出結(jié)果為
Dim l, a(10) , p(3)
k=5
For i=0 To 10
a(i) =i
Next i
For i=0 To 2
p(i) =a(i (i + 1) )
Next i
For i=0 To 2
k=k + p(i) 2
Next i
Print k
A) 20
B) 21
C) 56
D) 32
答案:B
(32) 下列程序的執(zhí)行結(jié)果為
Private Sub Command1_Click()
Dim x As Integer, y As Integer
x=12: y=20
Call Value(x, y)
Print x; y
End Sub
Private Sub Value(ByVal m As Integer, ByVal n As Integer)
m=m * 2: n=n - 5
Print m; n
End Sub
A) 20 12
20 15
B) 12 20
12 25
C) 24 15
12 20
D) 24 12
12 15
答案:C
(33) 在窗體上畫一個(gè)命令按鈕,然后編寫下列程序
Private Sub Command3_Click()
Tcl 2
Tcl 3
Tcl 4
End Sub
Sub Tcl(a As Integer)
Static x As Integer
x=x + a
Print x;
End Sub
程序運(yùn)行后,單擊命令按鈕,輸出結(jié)果為
A) 2 3 4
B) 2 5 9
C) 3 5 4
D) 2 4 3
答案:B
(34) 下面程序段,運(yùn)行后的結(jié)果是Private Sub Command1_Click()
Dim b%(1 To 4) , i%, t#
For i=1 To 4
b(i) =i
Next i
t=Tof(b() )
Print "t="; t,
End Sub
Function Tof(a() As Integer)
Dim t#, i%
t=1
For i=2 To UBound(A)
t=t * a(i)
Next i
Tof=t
End Function
A) t=18
B) t=24
C) t=30
D) t=32
答案:B
(35) 單擊按鈕時(shí),以下程序運(yùn)行后的輸出結(jié)果是
Private Sub Command1_Click()
Dim x As Integer, y As Integer, z As Integer
x=1: y=2: z=3
Call God(x, x, z)
Print x; x; z
Call God(x, y, y)
Print x; y; y
End Sub
Private Sub God(x As Integer, y As Integer, z As Integer)
x=3 * z + 1
y=2 * z
z=x + y
End Sub
A) 6 6 12
7 11 11
B) 8 5 10
5 11 11
C) 9 6 12
9 10 15
D) 8 10 10
5 9 10
答案:A
填空題:
(1) 在樹結(jié)構(gòu)中,樹根結(jié)點(diǎn)沒有 【1】 。
答案:前件
解析: 在樹結(jié)構(gòu)中,每一個(gè)結(jié)點(diǎn)只有一個(gè)前件,稱為父結(jié)點(diǎn),沒有前件的結(jié)點(diǎn)只有一個(gè),稱為樹的根結(jié)點(diǎn);每一個(gè)結(jié)點(diǎn)可以有多個(gè)后件,它們都稱為該結(jié)點(diǎn)的子結(jié)點(diǎn)。沒有后件的結(jié)點(diǎn)稱為葉子結(jié)點(diǎn)。
(2) Jackson結(jié)構(gòu)化程序設(shè)計(jì)方法是英國(guó)的M.Jackson提出的,它是一種面向 【2】 的設(shè)計(jì)方法。
答案:數(shù)據(jù)結(jié)構(gòu)
解析: 結(jié)構(gòu)化分析方法主要包括:面向數(shù)據(jù)流的結(jié)構(gòu)化分析方法(SA-Structured analysis),面向數(shù)據(jù)結(jié)構(gòu)的Jackson方法(JSD-Jackson system development method) 和面向數(shù)據(jù)結(jié)構(gòu)的結(jié)構(gòu)化數(shù)據(jù)系統(tǒng)開發(fā)方法(DSSD-Data structured system development method)。
(3) 面向?qū)ο蟮哪P椭?,最基本的概念是?duì)象和 【3】 。
答案:類
解析: 面向?qū)ο竽P椭?,最基本的概念是?duì)象和類。對(duì)象是現(xiàn)實(shí)世界中實(shí)體的模型化;將屬性集和方法集相同的所有對(duì)象組合在一起,可以構(gòu)成一個(gè)類。
(4) 軟件設(shè)計(jì)模塊化的目的是 【4】 。
答案:降低復(fù)雜性
解析: 模塊化是指解決一個(gè)復(fù)雜問題時(shí)自頂向下逐層把軟件系統(tǒng)劃分成若干模塊的過程,由此分解來降低復(fù)雜性。
(5) 數(shù)據(jù)模型按不同應(yīng)用層次分成3種類型,它們是概念數(shù)據(jù)模型、 【5】 和物理數(shù)據(jù)模型。
答案:邏輯數(shù)據(jù)模型
解析:數(shù)據(jù)模型按不同層次分成概念數(shù)據(jù)模型、邏輯數(shù)據(jù)模型和物理數(shù)據(jù)模型三類。
(6) 在Visual Basic的立即窗口內(nèi)輸入以下語(yǔ)句
X=65
?Chr$(X)
在窗口中顯示的結(jié)果是 【6】 。
答案:A
解析: Chr$()是求ASCII字符的函數(shù),格式是Chr$(表達(dá)式),其中"表達(dá)式"應(yīng)該是合法的ASCII碼值,Chr$()函數(shù)把"表達(dá)式"的值轉(zhuǎn)換為相應(yīng)的ASCII字符。本題中X=65對(duì)應(yīng)的ASCII碼是字符A,所以顯示的結(jié)果應(yīng)該是A。
(7) 下列程序是判斷一個(gè)整數(shù)(>=3) 是否為素?cái)?shù),請(qǐng)補(bǔ)充完整。
Dim n As Integer
n=InputBox("請(qǐng)輸入一個(gè)整數(shù)(>=3) ")
k=Int(Sqr(n) )
i=2
swit=0
While i <=k And swit=0
If n Mod i=0 Then
【7】
Else
【8】
End If
Wend
If swit=0 Then
Print n; "是一個(gè)素?cái)?shù)。"
Else
Print n; "不是一個(gè)素?cái)?shù)。"
End If
答案:swit=0
swit=1
解析:素?cái)?shù)是只能被1和本身整除的正整數(shù),在本題的程序中,swit是一個(gè)標(biāo)志變量,如果"swit=0",則表示n不能被整除;如果能被一個(gè)整數(shù)整除,則swit變?yōu)?;
While循環(huán)執(zhí)行的條件有兩個(gè),一個(gè)是"I<=k",另一個(gè)是"swit=0",必須兩個(gè)條件同時(shí)成立才執(zhí)行循環(huán),當(dāng)I>k時(shí),顯然不必再檢查n是否能被I整除;而如果"swit=1",則表示n已被整除,肯定不是素?cái)?shù),也不必檢查了。
只有"I<=k"和"swit=0"兩者同時(shí)成立時(shí)才需要檢查"n是否為素?cái)?shù)",循環(huán)只有一個(gè)判斷操作,即判斷n能否被I整除,如果不能,則I=I+1。以便為下一次判斷作準(zhǔn)備。
(8) 下面程序是用來打印九九乘法表的,請(qǐng)補(bǔ)充完整。
Dim i As Integer, j As Integer, Str1$
Str1=""
For i=1 To 9
For j=1 To 9
If 【9】 Then
Str1=Str1 + Str$(j) + "×" + Str$(i) + "=" + Str$(Val(i j) )
Else
Str1=Str1 & Chr(13)
【10】
End If
Next j
Next i
Print Str1
答案:j<=i
j>i
解析: (1) Exit語(yǔ)句總是出現(xiàn)在If語(yǔ)句或Select Case語(yǔ)句內(nèi)部,而If語(yǔ)句或Select Case語(yǔ)句在循環(huán)內(nèi)嵌套,用Exit語(yǔ)句中斷循環(huán)。函數(shù)首先定義了兩個(gè)Integer型變量i、j,并將空格賦給Str1;第一個(gè)For循環(huán)的變量I從1到9步長(zhǎng)為1,第二個(gè)循環(huán)的變量i也是從1到9步長(zhǎng)為1,循環(huán)體為選擇結(jié)構(gòu),它是用來輸出i*j的值,所以j的值應(yīng)該小于此時(shí)i的值,那么If的判斷語(yǔ)句為j<=i,當(dāng)滿足條件時(shí)執(zhí)行Then后面的語(yǔ)句,即輸出i*j的值,如果不滿足執(zhí)行Else后面的語(yǔ)句,并跳出內(nèi)循環(huán)。
(9) 在窗體上有一個(gè)命令按鈕,然后編寫如下程序:
Function Trans(ByVal num As Long) As Long
Dim k As Long
k=1
Do While num
k=k * (num Mod 10)
num=num \ 10
Loop
Trans=k
Print Trans
End Function
Private Sub Command1_Click()
Dim m As Long
Dim s As Long
m=InputBox("請(qǐng)輸入一個(gè)數(shù)")
s=Trans(m)
End Sub
程序運(yùn)行時(shí),單擊命令按鈕,在輸入對(duì)話框中輸入"789",輸出結(jié)果為 【11】 ,在輸入
對(duì)話框中輸入"987"輸出 【12】 ,在輸入對(duì)話框中輸入"879",輸出結(jié)果為 【13】 。
答案:504
504
解析: 關(guān)鍵字ByVal用來實(shí)現(xiàn)傳值,也就是說在定義通用過程時(shí),如果形參前面有關(guān)鍵字Byval,則該參數(shù)用傳值方式傳遞,否則用傳址方式傳遞;在Sub過程中,先將輸入的"456"賦給變量m,m作為參數(shù),調(diào)用Trans過程;在Trans過程中以num作為Do While的循環(huán)條件;在循環(huán)體中,調(diào)用Mod函數(shù),將num的個(gè)位數(shù)字與k相乘,然后賦給k,第一次循環(huán)時(shí),num的值是789,所以k的值為9,執(zhí)行num = num \ 10后,num的值為78,循環(huán)三次后,num變?yōu)?,退出循環(huán),k值等于9×8×7=504,并將k的值作為返回值;當(dāng)輸入"987"或"879"時(shí)執(zhí)行相同的操作,結(jié)果都為504??梢钥闯?,此程序可用于求一個(gè)數(shù)值各位上數(shù)值的乘積。
(10) 下面程序的功能是產(chǎn)生10個(gè)小于100(不含100) 的隨機(jī)正整數(shù),并統(tǒng)計(jì)其中5的倍數(shù)所占比例,但程序不完整,請(qǐng)補(bǔ)充完整。
Sub PR()
Randomize
Dim a(10)
For j=1 To 10
a(i) =Int( 【14】 )
If 【15】 Then k=k + 1
Print a(j)
Next j
Print
Print k / 10
End Sub
答案:(99 * Rnd)+ 1
a(j) Mod 5 = 0
解析: 小于100的隨機(jī)正整數(shù)用(99 * Rnd)+ 1來表示;求倍數(shù)用取模來表示,即a(j) Mod 5 = 0,用k作計(jì)數(shù)器,累計(jì)計(jì)算能被5整除的數(shù)的個(gè)數(shù)。
A) 32
B) 31
C) 16
D) 15
答案:B
(2) 若某二叉樹的前序遍歷訪問順序是abdgcefh,中序遍歷訪問順序是dgbaechf,則其后序遍歷的結(jié)點(diǎn)訪問順序是
A) bdgcefha
B) gdbecfha
C) bdgaechf
D) gdbehfca
答案:D
(3) 一些重要的程序語(yǔ)言(如C語(yǔ)言和Pascal語(yǔ)言) 允許過程的遞歸調(diào)用。而實(shí)現(xiàn)遞歸調(diào)用中的存儲(chǔ)分配通常用
A) 棧
B) 堆
C) 數(shù)組
D) 鏈表
答案:A
(4) 軟件工程的理論和技術(shù)性研究的內(nèi)容主要包括軟件開發(fā)技術(shù)和
A) 消除軟件危機(jī)
B) 軟件工程管理
C) 程序設(shè)計(jì)自動(dòng)化
D) 實(shí)現(xiàn)軟件可重用
答案:B
(5) 開發(fā)軟件時(shí)對(duì)提高開發(fā)人員工作效率至關(guān)重要的是
A) 操作系統(tǒng)的資源管理功能
B) 先進(jìn)的軟件開發(fā)工具和環(huán)境
C) 程序人員的數(shù)量
D) 計(jì)算機(jī)的并行處理能力
答案:B
(6) 在軟件測(cè)試設(shè)計(jì)中,軟件測(cè)試的主要目的是
A) 實(shí)驗(yàn)性運(yùn)行軟件
B) 證明軟件正確
C) 找出軟件中全部錯(cuò)誤
D) 發(fā)現(xiàn)軟件錯(cuò)誤而執(zhí)行程序
答案:D
(7) 數(shù)據(jù)處理的最小單位是
A) 數(shù)據(jù)
B) 數(shù)據(jù)元素
C) 數(shù)據(jù)項(xiàng)
D) 數(shù)據(jù)結(jié)構(gòu)
答案:C
(8) 索引屬于
A) 模式
B) 內(nèi)模式
C) 外模式
D) 概念模式
答案:B
(9) 下述關(guān)于數(shù)據(jù)庫(kù)系統(tǒng)的敘述中正確的是
A) 數(shù)據(jù)庫(kù)系統(tǒng)減少了數(shù)據(jù)冗余
B) 數(shù)據(jù)庫(kù)系統(tǒng)避免了一切冗余
C) 數(shù)據(jù)庫(kù)系統(tǒng)中數(shù)據(jù)的一致性是指數(shù)據(jù)類型一致
D) 數(shù)據(jù)庫(kù)系統(tǒng)比文件系統(tǒng)能管理更多的數(shù)據(jù)
答案:A
(10) 數(shù)據(jù)庫(kù)系統(tǒng)的核心是
A) 數(shù)據(jù)庫(kù)
B) 數(shù)據(jù)庫(kù)管理系統(tǒng)
C) 模擬模型
D) 軟件工程
答案:B
(11) 下列說法錯(cuò)誤的是
A) 窗體文件的擴(kuò)展名為.frm
B) 一個(gè)窗體對(duì)應(yīng)一個(gè)窗體文件
C) Visual Basic中的一個(gè)工程只包含一個(gè)窗體
D) Visual Basic中一個(gè)工程最多可以包含255個(gè)窗體
答案:C
(12) 下列四組控件屬性中,屬性值的類型不相同的一組是
A) Label控件的Enabled屬性與TextBox控件的Enabled屬性
B) OptionButton控件的Value屬性與CheckBox控件的Value屬性
C) Command控件的Default屬性與Command控件的Cancel屬性
D) Command控件的Visible屬性與Form控件的Visible屬性
答案:B
(13) 下列方法中不能退出Visual Basic的是
A) 按Alt+Q組合鍵
B) 按下Alt+F組合鍵,然后按Esc鍵
C) 打開"文件"菜單,執(zhí)行"退出"命令
D) 按F10鍵,然后按F鍵,再按X鍵
答案:D
(14) 任何控件都有的屬性是
A) BackColor
B) Caption
C) Name
D) BorderStyle
答案:C
(15) 可以實(shí)現(xiàn)從鍵盤輸入一個(gè)作為雙精度變量a的值的語(yǔ)句是
A) a=InputBox()
B) a=InputBox("請(qǐng)輸入一個(gè)值")
C) a=Val(InputBox("請(qǐng)輸入一個(gè)值") )
D) a=Val(InputBox() )
答案:C
(16) 下列符號(hào)常量的聲明中,不合法的是
A) Const a As Single=1.1
B) Const a="OK"
C) Const a As Double=Sin(1)
D) Const a As Integer="12"
答案:C
(17) 在Visual Basic中,要強(qiáng)制用戶對(duì)所用的變量進(jìn)行顯式聲明,這可以在哪里設(shè)置?
A) "屬性"對(duì)話框
B) "程序代碼"窗口
C) "選項(xiàng)"對(duì)話框
D) 對(duì)象瀏覽器
答案:C
(18) 下列語(yǔ)句中,獲得列表框List1中項(xiàng)目個(gè)數(shù)的語(yǔ)句是
A) x=List1.ListCount
B) x=ListCount
C) x=List1.ListIndex
D) x=ListIndex
答案:A
(19) 要獲得當(dāng)前驅(qū)動(dòng)器應(yīng)使用驅(qū)動(dòng)器列表框的屬性是
A) Path
B) Drive
C) Dir
D) Pattern
答案:B
(20) 如果將文本框的MaxLength屬性設(shè)置為0,則文本框中的字符不能超過
A) 8K
B) 16K
C) 32K
D) 64K
答案:C
(21) 當(dāng)在滾動(dòng)條內(nèi)拖動(dòng)滾動(dòng)塊時(shí)觸發(fā)
A) KeyUp事件
B) KeyPress事件
C) Scroll事件
D) Change事件
答案:C
(22) 設(shè)有聲明語(yǔ)句
Dim b(-1 To 10, 2 To 9, 20) As Integer
則數(shù)組b中全部元素的個(gè)數(shù)
A) 2310
B) 2016
C) 1500
D) 1658
答案:B
(23) 設(shè)在窗體上有個(gè)文本框,然后編寫如下的事件過程:
Private Sub Text1_KeyDown(KeyCode As Integer, Shift As Integer)
Const Alt=4
Const Key_F2=&H71
altdown%=(Shift And Alt) > 0
f2down%=(KeyCode=Key_F2)
If altdown% And f2down% Then
Text1.Text="BBBBB"
End If
End Sub
上述程序運(yùn)行后,如果按 【Shift+F2】 ,則在文本框中顯示得是
A) Alt+F2
B) BBBBB
C) 隨機(jī)出幾個(gè)數(shù)
D) 文本框平均內(nèi)容無變化
答案:D
(24) 設(shè)已經(jīng)在"菜單編輯器"中設(shè)計(jì)了窗體的快捷菜單,其菜單為Bs,取消其"可見"屬性,運(yùn)行時(shí),在以下事件過程中,可以使快捷菜單響應(yīng)鼠標(biāo)右鍵菜單的是
A) Private Sub Form_MouseDown(Button As Integer, Shift As Integer, _
X As Single, Y As Single)
If Button=2 Then PopupMenu Bs, 2
End Sub
B) Private Sub Form_MouseDown(Button As Integer, Shift As Integer, _
X As Single, Y As Single)
PopupMenu Bs
End Sub
C) Private Sub Form_MouseDown(Button As Integer, Shift As Integer, _
X As Single, Y As Single)
PopupMenu Bs,0
End Sub
D) Private Sub Form_MouseDown(Button As Integer, Shift As Integer, _
X As Single, Y As Single)
If (Button=vbLeftButton) Or (Button=vbRightButton) Then PopupMenu Bs
End Sub
答案:A
(25) 下列程序的功能是調(diào)用字體對(duì)話框來設(shè)置文本框字體,單擊按鈕彈出對(duì)話框后,按Cancel鍵退出對(duì)話框,則
Private Sub Command1_Click()
CommonDialog1.CancelError=True
CommonDialog1.Flags=cdlCFEffects Or cdlDFBoth
CommonDialog1.Action=4
CommonDialog1.ShowFont
Text1.Font.Name=CommonDialog1.FontName
Text1.Font.Size=CommonDialog1.FontSize
Text1.Font.Bold=CommonDialog1.FontBold
Text1.Font.Italic=CommonDialog1.FontItalic
Text1.Font.Underline=CommonDialog1.FontUnderline
Text1.FontStrikethru=CommonDialog1.FontStrikethru
Text1.ForeColor=CommonDialog1.Color
End Sub
A) Text1的字體不發(fā)生變化
B) Text1的字體發(fā)生變化
C) Text1的字體和顏色發(fā)生變化
D) 程序出錯(cuò)!
答案:D
(26) 要將名為MyForm的窗體顯示出來,正確的使用方法是
A) MyForm.Show
B) Show.MyForm
C) MyForm Load
D) MyForm Show
答案:A
(27) 下列程序段的執(zhí)行結(jié)果為
a=5
For k=1 To 0
a=a + k
Next k
Print k; a
A) -1 6
B) -1 16
C) 1 5
D) 11 21
答案:C
(28) 下列程序段的執(zhí)行結(jié)果為
a=3
b=1
For I=1 To 3
f=a + b
a=b
b=f
Print f
Next I
A) 4 3 6
B) 4 5 9
C) 6 3 4
D) 7 2 8
答案:B
(29) 下列程序段的執(zhí)行結(jié)果為
I=9
x=5
Do
I=I + 1
x=x + 2
Loop Until I >=7
Print "I="; I
Print "x="; x
A) I=4x=5
B) I=7x=15
C) I=6x=8
D) I=10x=7
答案:D
(30) 以下程序段運(yùn)行時(shí)從鍵盤上輸入字符"-",則輸出結(jié)果為
op$=InputBox("op=")
If op$="+" Then a=a + 2
If op$="-" Then a=a - 2
Print a
A) 2
B) -2
C) 0
D) +2
答案:B
(31) 以下程序段的輸出結(jié)果為
Dim l, a(10) , p(3)
k=5
For i=0 To 10
a(i) =i
Next i
For i=0 To 2
p(i) =a(i (i + 1) )
Next i
For i=0 To 2
k=k + p(i) 2
Next i
Print k
A) 20
B) 21
C) 56
D) 32
答案:B
(32) 下列程序的執(zhí)行結(jié)果為
Private Sub Command1_Click()
Dim x As Integer, y As Integer
x=12: y=20
Call Value(x, y)
Print x; y
End Sub
Private Sub Value(ByVal m As Integer, ByVal n As Integer)
m=m * 2: n=n - 5
Print m; n
End Sub
A) 20 12
20 15
B) 12 20
12 25
C) 24 15
12 20
D) 24 12
12 15
答案:C
(33) 在窗體上畫一個(gè)命令按鈕,然后編寫下列程序
Private Sub Command3_Click()
Tcl 2
Tcl 3
Tcl 4
End Sub
Sub Tcl(a As Integer)
Static x As Integer
x=x + a
Print x;
End Sub
程序運(yùn)行后,單擊命令按鈕,輸出結(jié)果為
A) 2 3 4
B) 2 5 9
C) 3 5 4
D) 2 4 3
答案:B
(34) 下面程序段,運(yùn)行后的結(jié)果是Private Sub Command1_Click()
Dim b%(1 To 4) , i%, t#
For i=1 To 4
b(i) =i
Next i
t=Tof(b() )
Print "t="; t,
End Sub
Function Tof(a() As Integer)
Dim t#, i%
t=1
For i=2 To UBound(A)
t=t * a(i)
Next i
Tof=t
End Function
A) t=18
B) t=24
C) t=30
D) t=32
答案:B
(35) 單擊按鈕時(shí),以下程序運(yùn)行后的輸出結(jié)果是
Private Sub Command1_Click()
Dim x As Integer, y As Integer, z As Integer
x=1: y=2: z=3
Call God(x, x, z)
Print x; x; z
Call God(x, y, y)
Print x; y; y
End Sub
Private Sub God(x As Integer, y As Integer, z As Integer)
x=3 * z + 1
y=2 * z
z=x + y
End Sub
A) 6 6 12
7 11 11
B) 8 5 10
5 11 11
C) 9 6 12
9 10 15
D) 8 10 10
5 9 10
答案:A
填空題:
(1) 在樹結(jié)構(gòu)中,樹根結(jié)點(diǎn)沒有 【1】 。
答案:前件
解析: 在樹結(jié)構(gòu)中,每一個(gè)結(jié)點(diǎn)只有一個(gè)前件,稱為父結(jié)點(diǎn),沒有前件的結(jié)點(diǎn)只有一個(gè),稱為樹的根結(jié)點(diǎn);每一個(gè)結(jié)點(diǎn)可以有多個(gè)后件,它們都稱為該結(jié)點(diǎn)的子結(jié)點(diǎn)。沒有后件的結(jié)點(diǎn)稱為葉子結(jié)點(diǎn)。
(2) Jackson結(jié)構(gòu)化程序設(shè)計(jì)方法是英國(guó)的M.Jackson提出的,它是一種面向 【2】 的設(shè)計(jì)方法。
答案:數(shù)據(jù)結(jié)構(gòu)
解析: 結(jié)構(gòu)化分析方法主要包括:面向數(shù)據(jù)流的結(jié)構(gòu)化分析方法(SA-Structured analysis),面向數(shù)據(jù)結(jié)構(gòu)的Jackson方法(JSD-Jackson system development method) 和面向數(shù)據(jù)結(jié)構(gòu)的結(jié)構(gòu)化數(shù)據(jù)系統(tǒng)開發(fā)方法(DSSD-Data structured system development method)。
(3) 面向?qū)ο蟮哪P椭?,最基本的概念是?duì)象和 【3】 。
答案:類
解析: 面向?qū)ο竽P椭?,最基本的概念是?duì)象和類。對(duì)象是現(xiàn)實(shí)世界中實(shí)體的模型化;將屬性集和方法集相同的所有對(duì)象組合在一起,可以構(gòu)成一個(gè)類。
(4) 軟件設(shè)計(jì)模塊化的目的是 【4】 。
答案:降低復(fù)雜性
解析: 模塊化是指解決一個(gè)復(fù)雜問題時(shí)自頂向下逐層把軟件系統(tǒng)劃分成若干模塊的過程,由此分解來降低復(fù)雜性。
(5) 數(shù)據(jù)模型按不同應(yīng)用層次分成3種類型,它們是概念數(shù)據(jù)模型、 【5】 和物理數(shù)據(jù)模型。
答案:邏輯數(shù)據(jù)模型
解析:數(shù)據(jù)模型按不同層次分成概念數(shù)據(jù)模型、邏輯數(shù)據(jù)模型和物理數(shù)據(jù)模型三類。
(6) 在Visual Basic的立即窗口內(nèi)輸入以下語(yǔ)句
X=65
?Chr$(X)
在窗口中顯示的結(jié)果是 【6】 。
答案:A
解析: Chr$()是求ASCII字符的函數(shù),格式是Chr$(表達(dá)式),其中"表達(dá)式"應(yīng)該是合法的ASCII碼值,Chr$()函數(shù)把"表達(dá)式"的值轉(zhuǎn)換為相應(yīng)的ASCII字符。本題中X=65對(duì)應(yīng)的ASCII碼是字符A,所以顯示的結(jié)果應(yīng)該是A。
(7) 下列程序是判斷一個(gè)整數(shù)(>=3) 是否為素?cái)?shù),請(qǐng)補(bǔ)充完整。
Dim n As Integer
n=InputBox("請(qǐng)輸入一個(gè)整數(shù)(>=3) ")
k=Int(Sqr(n) )
i=2
swit=0
While i <=k And swit=0
If n Mod i=0 Then
【7】
Else
【8】
End If
Wend
If swit=0 Then
Print n; "是一個(gè)素?cái)?shù)。"
Else
Print n; "不是一個(gè)素?cái)?shù)。"
End If
答案:swit=0
swit=1
解析:素?cái)?shù)是只能被1和本身整除的正整數(shù),在本題的程序中,swit是一個(gè)標(biāo)志變量,如果"swit=0",則表示n不能被整除;如果能被一個(gè)整數(shù)整除,則swit變?yōu)?;
While循環(huán)執(zhí)行的條件有兩個(gè),一個(gè)是"I<=k",另一個(gè)是"swit=0",必須兩個(gè)條件同時(shí)成立才執(zhí)行循環(huán),當(dāng)I>k時(shí),顯然不必再檢查n是否能被I整除;而如果"swit=1",則表示n已被整除,肯定不是素?cái)?shù),也不必檢查了。
只有"I<=k"和"swit=0"兩者同時(shí)成立時(shí)才需要檢查"n是否為素?cái)?shù)",循環(huán)只有一個(gè)判斷操作,即判斷n能否被I整除,如果不能,則I=I+1。以便為下一次判斷作準(zhǔn)備。
(8) 下面程序是用來打印九九乘法表的,請(qǐng)補(bǔ)充完整。
Dim i As Integer, j As Integer, Str1$
Str1=""
For i=1 To 9
For j=1 To 9
If 【9】 Then
Str1=Str1 + Str$(j) + "×" + Str$(i) + "=" + Str$(Val(i j) )
Else
Str1=Str1 & Chr(13)
【10】
End If
Next j
Next i
Print Str1
答案:j<=i
j>i
解析: (1) Exit語(yǔ)句總是出現(xiàn)在If語(yǔ)句或Select Case語(yǔ)句內(nèi)部,而If語(yǔ)句或Select Case語(yǔ)句在循環(huán)內(nèi)嵌套,用Exit語(yǔ)句中斷循環(huán)。函數(shù)首先定義了兩個(gè)Integer型變量i、j,并將空格賦給Str1;第一個(gè)For循環(huán)的變量I從1到9步長(zhǎng)為1,第二個(gè)循環(huán)的變量i也是從1到9步長(zhǎng)為1,循環(huán)體為選擇結(jié)構(gòu),它是用來輸出i*j的值,所以j的值應(yīng)該小于此時(shí)i的值,那么If的判斷語(yǔ)句為j<=i,當(dāng)滿足條件時(shí)執(zhí)行Then后面的語(yǔ)句,即輸出i*j的值,如果不滿足執(zhí)行Else后面的語(yǔ)句,并跳出內(nèi)循環(huán)。
(9) 在窗體上有一個(gè)命令按鈕,然后編寫如下程序:
Function Trans(ByVal num As Long) As Long
Dim k As Long
k=1
Do While num
k=k * (num Mod 10)
num=num \ 10
Loop
Trans=k
Print Trans
End Function
Private Sub Command1_Click()
Dim m As Long
Dim s As Long
m=InputBox("請(qǐng)輸入一個(gè)數(shù)")
s=Trans(m)
End Sub
程序運(yùn)行時(shí),單擊命令按鈕,在輸入對(duì)話框中輸入"789",輸出結(jié)果為 【11】 ,在輸入
對(duì)話框中輸入"987"輸出 【12】 ,在輸入對(duì)話框中輸入"879",輸出結(jié)果為 【13】 。
答案:504
504
解析: 關(guān)鍵字ByVal用來實(shí)現(xiàn)傳值,也就是說在定義通用過程時(shí),如果形參前面有關(guān)鍵字Byval,則該參數(shù)用傳值方式傳遞,否則用傳址方式傳遞;在Sub過程中,先將輸入的"456"賦給變量m,m作為參數(shù),調(diào)用Trans過程;在Trans過程中以num作為Do While的循環(huán)條件;在循環(huán)體中,調(diào)用Mod函數(shù),將num的個(gè)位數(shù)字與k相乘,然后賦給k,第一次循環(huán)時(shí),num的值是789,所以k的值為9,執(zhí)行num = num \ 10后,num的值為78,循環(huán)三次后,num變?yōu)?,退出循環(huán),k值等于9×8×7=504,并將k的值作為返回值;當(dāng)輸入"987"或"879"時(shí)執(zhí)行相同的操作,結(jié)果都為504??梢钥闯?,此程序可用于求一個(gè)數(shù)值各位上數(shù)值的乘積。
(10) 下面程序的功能是產(chǎn)生10個(gè)小于100(不含100) 的隨機(jī)正整數(shù),并統(tǒng)計(jì)其中5的倍數(shù)所占比例,但程序不完整,請(qǐng)補(bǔ)充完整。
Sub PR()
Randomize
Dim a(10)
For j=1 To 10
a(i) =Int( 【14】 )
If 【15】 Then k=k + 1
Print a(j)
Next j
Print k / 10
End Sub
答案:(99 * Rnd)+ 1
a(j) Mod 5 = 0
解析: 小于100的隨機(jī)正整數(shù)用(99 * Rnd)+ 1來表示;求倍數(shù)用取模來表示,即a(j) Mod 5 = 0,用k作計(jì)數(shù)器,累計(jì)計(jì)算能被5整除的數(shù)的個(gè)數(shù)。