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