2011年3月全國計算機等級考試二級筆試試卷
Access程序設計
(考試時間90分鐘,滿分100分)
一、選擇題(每小題2分,共70分)
下列各題A)、B)、C)、D)四個選項中,只有一個選項是正確的。請將正確選項填涂在答題卡相應位置上,答在試卷上不得分。
(1)下列關于棧敘述正確的是 A)棧頂元素最先能被刪除 B)棧頂元素最后才能被刪除 C)棧底元素永遠不能被刪除 D)以上三種說法都不對
(2)下列敘述中正確的是 A)有一個以上根結點的數據結構不一定是非線性結構 B)只有一個根結點的數據結構不一定是線性結構 C)循環鏈表是非線性結構 D)雙向鏈表是非線性結構
(3)某二叉樹共有7個結點,其中葉子結點只有1個,則該二叉樹的深度為(假設根結點在第1層) A)3 B)4 C)6 D)7
(4)在軟件開發中,需求分析階段產生的主要文檔是 A)軟件集成測試計劃 B)軟件詳細設計說明書 C) 用戶手冊 D)軟件需求規格說明書
(5)結構化程序所要求的基本結構不包括 A)順序結構 B)GOTO跳轉 C)選擇(分支)結構 D)重復(循環)結構
(6)下面描述中錯誤的是 A)系統總體結構圖支持軟件系統的詳細設計 B)軟件設計是將軟件需求轉換為軟件表示的過程 C)數據結構與數據庫設計是軟件設計的任務之一 D)PAD圖是軟件詳細設計的表示工具
(7)負責數據庫中查詢操作的數據庫語言是 A)數據定義語言 B)數據管理語言 C)數據操縱語言 D)數據控制語言
(8)一個教師可講授多門課程,一門課程可由多個教師講授。則實體教師和課程間的聯系是 A)1:1聯系 B)1:m聯系 C) m:1聯系 D) m:n聯系
(9)有三個關系R、S和T如下:
R |
|
|
|
S |
|
|
T |
A |
B |
C |
|
A |
B |
|
C |
a |
1 |
2 |
|
c |
3 |
|
1 |
b |
2 |
1 |
|
|
|
|
|
c |
3 |
1 |
|
|
|
|
|
則由關系R和S得到關系T的操作是 A)自然連接 B)交 C)除 D)并
(10)定義無符號整數類為UInt,下面可以作為類UInt實例化值的是 A)-369 B)369 C)0.369 D)整數集合{1,2,3,4,5}
(11)在學生表中要查找所有年齡大于30歲姓王的男同學,應該采用的關系運算是 A)選擇 B)投影 C)聯接 D)自然聯接
(12)下列可以建立索引的數據類型是 A)文本 B)超級鏈接 C)備注 D)OLE對象
(13)下列關于字段屬性的敘述中,正確的是 A)可對任意類型的字段設置“默認值”屬性 B)定義字段默認值的含義是該字段值不允許為空 C)只有“文本”型數據能夠使用“輸入掩碼向導”D)“有效性規則”屬性只允許定義一個條件表達式
(14)查詢“書名”字段中包含“等級考試”字樣的記錄,應該使用的條件是 A)Like "等級考試" B)Like "*等級考試。 C)Like "等級考試*" D)Like "*等級考試*"
(15)在Access中對表進行“篩選”操作的結果是 A)從數據中挑選出滿足條件的記錄 B)從數據中挑選出滿足條件的記錄并生成一個新表 C)從數據中挑選出滿足條件的記錄并輸出到一個報表中 D)從數據中挑選出滿足條件的記錄并顯示在一個窗體中
(16)在學生表中使用“照片”字段存放相片,當使用向導為該表創建窗體時,照片字段使用的默認控件是 A)圖形 B)圖像 C)綁定對象框 D)未綁定對象框
(17)下列表達式計算結果為日期類型的是 A)#2012-1-23#-#2011-2-3# B)year(#2011-2-3#) C)DateValue("2011-2-3") D)Len("2011-2-3")
(18)若要將“產品”表中所有供貨商是“ABC”的產品單價下調50,則正確的SQL語句是 A)UPDATE 產品 SET 單價=50 WHERE 供貨商="ABC" B)UPDATE 產品 SET 單價=單價-50 WHERE 供貨商="ABC" C)UPDATE FROM 產品 SET單價=50 WHERE 供貨商="ABC" D)UPDATE FROM 產品 SET單價=單價-50 WHERE 供貨商="ABC"
(19)若查詢的設計如下,則查詢的功能是
A)設計尚未完成,無法進行統計 B)統計班級信息僅含Null(空)值的記錄個數 C)統計班級信息不包括Null(空)值的記錄個數 D)統計班級信息包括Null(空)值全部記錄個數
(20)在教師信息輸入窗體中,為職稱字段提供“教授”、“副教授”、“講師”等選項供用戶直接選擇,應使用的控件是 A)標簽 B)復選框 C)文本框 D)組合框
(21)在報表中要顯示格式為“共N頁,第N頁”的頁碼,正確的頁碼格式設置是 A)="共"+Pages+"頁,第"+Page+"頁" B)="共"+[Pages]+"頁,第"++"頁"
C)="共"&Pages&"頁,第"&Page&"頁" D)="共"&[Pages]&"頁,第"&&"頁"
(22)某窗體上有一個命令按鈕,要求單擊該按鈕后調用宏打開應用程序Word,則設計該宏時應選擇的宏命令是 A)RunApp B)RunCode C)RunMacro D)RunCommand
(23)下列表達式中,能正確表示條件“x和y都是奇數”的是 A)x Mod 2=0 And y Mod 2=0 B)x Mod 2=0 Or y Mod 2=0 C)x Mod 2=1 And y Mod 2=1 D)x Mod 2=1 Or y Mod 2=1
(24)若在窗體設計過程中,命令按鈕Command0的事件屬性設置如下圖所示,則含義是
A)只能為"進入"事件和"單擊"事件編寫事件過程 B)不能為"進入"事件和"單擊"事件編寫事件過程 C)“進入”事件和“單擊”事件執行的是同一事件過程 D)已經為“進入”事件和“單擊”事件編寫了事件過程
(25)若窗體Frm1中有一個命令按鈕Cmd1,則窗體和命令按鈕的Click事件過程名分別為 A)Form_Click() Command1_Click() B)Frm1_Click() Command1_Click() C)Form_Click() Cmd1_Click() D) Frm1_Click() Cmd1_Click()
(26)在VBA中,能自動檢查出來的錯誤是 A)語法錯誤 B)邏輯錯誤 C)運行錯誤 D)注釋錯誤
(27)下列給出的選項中,非法的變量名是 A)Sum B)Integer_2 C)Rem D)Form1
(28)如果在被調用的過程中改變了形參變量的值;但又不影響實參變量本身,這種參數傳遞方式稱為 A)按值傳遞 B)按地址傳遞 C)ByRef傳遞 D)按形參傳遞
(29)表達式“B=INT(A+0.5)”的功能是 A)將變量A保留小數點后1位 B)將變量A四舍五入取整 C)將變量A保留小數點后5位 D)舍去變量A的小數部分
(30)VBA語句“Dim NewArray(10) as Integer”的含義是 A)定義10個整型數構成的數組NewArray B)定義11個整型數構成的數組NewArray C)定義1個值為整型數的變量NewArray(10) D)定義1個值為10的變量NewArray
(31)運行下列程序段,結果是 For m=10 to 1 step 0 k=k+3 Next m A)形成死循環 B)循環體不執行即結束循環C)出現語法錯誤 D)循環體執行一次后結束循環
(32)運行下列程序,結果是 Private Sub Command32_Click() f0=1:f1=1:k=1 Do While k<=5 f=f0+f1 f0=f1 f1=f k=k+1 Loop MsgBox "f="&f End Sub A)f=5 B)f=7 C)f=8 D)f=13
(33)有如下事件程序,運行該程序后輸出結果是 Private Sub Command33_Click() Dim x As Integer,y As Integer x=1:y=0 Do Until y<=25 y=y+x*x x=x+1 Loop MsgBox "x="&x&",y="&y End Sub A)x=1,y=0 B) x=4,y=25 C)x=5,y=30 D)輸出其他結果
(34)下列程序的功能是計算sum=1+(1+3)+(1+3+5)+……+(1+3+5+……+39) Private Sub Command34_Click() t=0 m=1 sum=0 Do t=t+m sum=sum+t m=______ Loop While m<=39 MsgBox "Sum="&sum End Sub 為保證程序正確完成上述功能,空白處應填入的語句是 A)m+1 B)m+2 C)t+1 D)t+2
(35)下列程序的功能是返回當前窗體的記錄集 Sub GetRecNum() Dim rs As Object Set rs=______ MsgBox rs.RecordCount End Sub 為保證程序輸出記錄集(窗體記錄源)的記錄數,空白處應填入的語句是 A)Recordset B)Me.Recordset C)RecordSource D)Me.RecordSource
二、填空題(每空2分,共30分)
請將每一個空的正確答案寫在答題卡【1】~【15】序號的橫線上,答在試卷上不得分。
(1)有序線性表能進行二分查找的前提是該線性表必須是 【1】 存儲的。 (2)一棵二叉樹的中序遍歷結果為DBEAFC,前序遍歷結果為ABDECF則后序遍歷結果為 【2】 。 (3)對軟件設計的最小單位(模塊或程序單元)進行的測試通常稱為 【3】 測試。 (4)實體完整性約束要求關系數據庫中元組的 【4】 屬性值不能為空。 (5)在關系A(S,SN,D)和關系B(D,CN, NM)中,A的主關鍵字是S,B的主關鍵字是D,則稱 【5】 是關系A的外碼。
(6)在Access查詢的條件表達式中要表示任意單個字符,應使用通配符 【6】 。
(7)在SELECT語句中,HAVING子句必須與 【7】 子句一起使用。
(8)若要在宏中打開某個數據表,應使用的宏命令是 【8】 。
(9)在VBA中要將數值表達式的值轉換為字符串,應使用函數 【9】 。
(10)運行下列程序,輸入如下兩行: Hi, I am here. 彈出的窗體中的顯示結果是 【10】 。 Private Sub Command11_Click() Dim abc As String, sum As string sum="" Do abc=InputBox("輸入abc") If Right(abc,1)="." Then Exit Do sum=sum+abc Loop MsgBox sum End Sub
(11)運行下列程序,窗體中的顯示結果是:x= 【11】 。 Option Compare Database Dim x As Integer
Private Sub Form_Load() x=3 End Sub
Private Sub Command11_Click() Static a As Integer Dim b As Integer b=x^2 fun1 x,b fun1 x,b MsgBox "x="&x End Sub
Sub fun1(ByRef y As Integer,ByVal z As Integer) y=y+z z=y-z End Sub
(12)“秒表”窗體中有兩個按鈕(“開始/停止”按鈕bOK,“暫停/繼續”按鈕bPus);一個顯示計時的標簽1Num;窗體的“計時器間隔”設為100計時精度為0.1秒。 要求:打開窗體如圖1所示;第一次單擊“開始婷止”按鈕,從0開始滾動顯示計時(見圖2);10秒時單擊“暫停/繼續”按鈕,顯示暫停(見圖3),但計時還在繼續;若20秒后再次單擊“暫停/繼續”按鈕,計時會從30秒開始繼續滾動顯示;第二次單擊“開始/停止”按鈕,計時停止,顯示最終時間(見圖4)。若再次單擊“開始/停止”按鈕可重新從0開始計時。
相關的事件程序如下。請在空白處填入適當的語句,使程序可以完成指定的功能。 Option Compare Database Dim flag,pause As Boolean
Private Sub bOK Click() flag= 【12】 Me!bOK.Enabled=True Me!bPus.Enabled=flag End Sub
Private Sub bPus_Click() pause=Not pause Me!bOK.Enabled=Not Me!bOK.Enabled End Sub
Private Sub Form Open(Cancel As Integer) flag=False pause=False Me!bOK.Enabled=True Me!bPus.Enabled=False End Sub
Private Sub Form Timer() Static count As Single If flag=True Then If pause=False Then Me!1Num.Caption=Round(count,1) End If count= 【13】 Else count=0 End If End Sub
(13)數據庫中有“學生成績表”,包括“姓名”、“平時成績”、“考試成績”和“期末總評”等字段,F要根據“平時成績”和“考試成績”對學生進行“期末總評”。規定: “平時成績”加“考試成績”大于等于85分,則期末總評為“優”,“平時成績”加“考試成績”小于60分,則期末總評為“不及格”,其他情況期末總評為“合格”。 下面的程序按照上述要求計算每名學生的期末總評。請在空白處填入適當的語句,使程序可以完成指定的功能。 Private Sub Command0_Click() Dim db As DAO.Database Dim rs As DAO.Recordset Dim pscj,kscj,qmzp As DAO.Field
Dim count As Integer
Set db=CurrentDb() Set rs=db.OpenRecordset("學生成績表") Set pscj=rs.Fields("平時成績") Set kscj=rs.Fields("考試成績") Set qmzp=rs.Fields("期末總評")
count=0 Do While Not rs.EOF 【14】 If pscj+kscj>=85 Then qmzp="優" ElseIf pscj+kscj<60 Then qmzp="不及格" Else qmzp="合格" End If rs.Update count=count+1 【15】 Loop rs.Close db.Close Set rs=Nothing Set db=Nothing MsgBox "學生人數:"&count End Sub
|