某網(wǎng)友: (附試題及答案)
全國(guó)計(jì)算機(jī)等級(jí)考試二級(jí)筆試試卷
Visual FoxPro數(shù)據(jù)庫(kù)程序設(shè)計(jì)
(考試時(shí)間90分鐘,滿分100分)
一、選擇題((1)~(35)每小題2分,共70分)
下列各題A)、B)、C)、D)四個(gè)選項(xiàng)中,只有一個(gè)選項(xiàng)是正確的,請(qǐng)將正確選項(xiàng)涂寫在答題卡相應(yīng)位置上,答在試卷上不得分。
(1)數(shù)據(jù)的存儲(chǔ)結(jié)構(gòu)是指
A) 存儲(chǔ)在外存中的數(shù)據(jù)B) 數(shù)據(jù)所占的存儲(chǔ)空間量
C) 數(shù)據(jù)在計(jì)算機(jī)中的順序存儲(chǔ)方式D) 數(shù)據(jù)的邏輯結(jié)構(gòu)在計(jì)算機(jī)中的表示
(2)下列關(guān)于棧的描述中錯(cuò)誤的是
A)棧是先進(jìn)后出的線性表B) 棧只能順序存儲(chǔ)
C) 棧具有記憶作用D) 對(duì)棧的插入與刪除*作中,不需要改變棧底指針
(3)對(duì)于長(zhǎng)度為n的線性表,在最壞情況下,下列各排序法所對(duì)應(yīng)的比較次數(shù)中正確的是
A) 冒泡排序?yàn)閚/2B) 冒泡排序?yàn)閚
C) 快速排序?yàn)閚D) 快速排序?yàn)閚(n-1)/2
(4)對(duì)于長(zhǎng)度為n的線性表進(jìn)行順序查找,在最壞情況下所需要的比較次數(shù)為
A) log2nB) n/2C) nD) n+1
(5)下列對(duì)于線性鏈表的描述中正確的是
A)存儲(chǔ)空間不一定是連續(xù),且各元素的存儲(chǔ)順序是任意的
B)存儲(chǔ)空間不一定是連續(xù),且前件元素一定存儲(chǔ)在后件元素的前面
C)存儲(chǔ)空間必須連續(xù),且前件元素一定存儲(chǔ)在后件元素的前面
D)存儲(chǔ)空間必須連續(xù),且各元素的存儲(chǔ)順序是任意的
(6)下列對(duì)于軟件測(cè)試的描述中正確的是
A)軟件測(cè)試的目的是證明程序是否正確
B)軟件測(cè)試的目的是使程序運(yùn)行結(jié)果正確
C)軟件測(cè)試的目的是盡可能多地發(fā)現(xiàn)程序中的錯(cuò)誤
D)軟件測(cè)試的目的是使程序符合結(jié)構(gòu)化原則
(7)為了使模塊盡可能獨(dú)立,要求
A)模塊的內(nèi)聚程度要盡量高,且各模塊間的耦合程度要盡量強(qiáng)
B)模塊的內(nèi)聚程度要盡量高,且各模塊間的耦合程度要盡量弱
C)模塊的內(nèi)聚程度要盡量低,且各模塊間的耦合程度要盡量弱
D)模塊的內(nèi)聚程度要盡量低,且各模塊間的耦合程度要盡量強(qiáng)
(8)下列描述中正確的是
A) 程序就是軟件
B) 軟件開發(fā)不受計(jì)算機(jī)系統(tǒng)的限制
C) 軟件既是邏輯實(shí)體,又是物理實(shí)體
D) 軟件是程序、數(shù)據(jù)與相關(guān)文檔的集合
(9)數(shù)據(jù)獨(dú)立性是數(shù)據(jù)庫(kù)技術(shù)的重要特點(diǎn)之一。所謂數(shù)據(jù)獨(dú)立性是指
A) 數(shù)據(jù)與程序獨(dú)立存放
B) 不同的數(shù)據(jù)被存放在不同的文件中
C) 不同的數(shù)據(jù)只能被對(duì)應(yīng)的應(yīng)用程序所使用
D) 以上三種說法都不對(duì)
(10) 用樹形結(jié)構(gòu)表示實(shí)體之間聯(lián)系的模型是
A) 關(guān)系模型B) 網(wǎng)狀模型C) 層次模型D) 以上三個(gè)都是
(11) 在創(chuàng)建數(shù)據(jù)庫(kù)表結(jié)構(gòu)時(shí),為該表指定了主索引,這屬于數(shù)據(jù)完整性中的
A) 參照完整性B) 實(shí)體完整性C) 域完整性D) 用戶定義完整性
(12) 在創(chuàng)建數(shù)據(jù)庫(kù)表結(jié)構(gòu)時(shí),為該表中一些字段建立普通索引,其目的是
A) 改變表中記錄的物理順序B) 為了對(duì)表進(jìn)行實(shí)體完整性約束
C) 加快數(shù)據(jù)庫(kù)表的更新速度D) 加快數(shù)據(jù)庫(kù)表的查詢速度
(13) 數(shù)據(jù)庫(kù)系統(tǒng)中對(duì)數(shù)據(jù)庫(kù)進(jìn)行管理的核心軟件是
A) DBMSB) DBC) OSD) DBS
(14) 設(shè)有兩個(gè)數(shù)據(jù)庫(kù)表,父表和子表之間是一對(duì)多的聯(lián)系,為控制子表和父表的關(guān)聯(lián),可以設(shè)置“參照完整性規(guī)則”,為此要求這兩個(gè)表
A)在父表連接字段上建立普通索引,在子表連接字段上建立主索引
B)在父表連接字段上建立主索引,在子表連接字段上建立普通索引
C)在父表連接字段上不需要建立任何索引,在子表連接字段上建立普通索引
D)在父表和子表的連接字段上都要建立主索引
(15) 關(guān)系運(yùn)算中的選擇運(yùn)算是
A)從關(guān)系中找出滿足給定條件的元組的*作
B)從關(guān)系中選擇若干個(gè)屬性組成新的關(guān)系的*作
C)從關(guān)系中選擇滿足給定條件的屬性的*作
D)A和B都對(duì)
(16) 在指定字段或表達(dá)式中不允許出現(xiàn)重復(fù)值的索引是
A) 惟一索引B) 惟一索引和候選索引
C) 惟一索引和主索引D) 主索引和候選索引
(17) 在Visual FoxPro中,以下關(guān)于刪除記錄的描述,正確的是
A)SQL的DELETE命令在刪除數(shù)據(jù)庫(kù)表中的記錄之前,不需要用USE命令打開表
B)SQL的DELETE命令和傳統(tǒng)Visual FoxPro的DELETE命令在刪除數(shù)據(jù)庫(kù)表中的記錄之前,都需要用USE命令打開表
C)SQL的DELETE命令可以物理地刪除數(shù)據(jù)庫(kù)表中的記錄,而傳統(tǒng)Visual FoxPro的DELETE命令只能邏輯刪除數(shù)據(jù)庫(kù)表中的記錄
D)傳統(tǒng)Visual FoxPro的DELETE命令在刪除數(shù)據(jù)庫(kù)表中的記錄之前不需要用USE命令打開表
(18) 在Visual FoxPro中,如果希望跳出SCAN……ENDSCAN循環(huán)體、執(zhí)行ENDSCAN后面的語句,應(yīng)使用
A) LOOP語句B) EXIT語句C) BREAK語句D)RETURN語句
(19) 打開數(shù)據(jù)庫(kù)abc的正確命令是
A)OPEN DATABASE abcB)USE abc
C)USE DATABASE abcC)OPEN abc
(20) 在Visual FoxPro中,下列關(guān)于表的敘述正確的是
A)在數(shù)據(jù)庫(kù)表和自由表中,都能給字段定義有效性規(guī)則和默認(rèn)值
B)在自由表中,能給字段定義有效性規(guī)則和默認(rèn)值
C)在數(shù)據(jù)庫(kù)表中,能給字段定義有效性規(guī)則和默認(rèn)值
D)在數(shù)據(jù)庫(kù)表和自由表中,都不能給字段定義有效性規(guī)則和默認(rèn)值
(21) Visual FoxPro的“參照完整性”中“插入規(guī)則”包括的選擇是
A) 級(jí)聯(lián)和忽略B) 級(jí)聯(lián)和刪除C)級(jí)聯(lián)和限制D) 限制和忽略
(22) 在Visual FoxPro中,關(guān)于查詢和視圖的正確描述是
A)查詢是一個(gè)預(yù)先定義好的SQL SELECT語句文件
B)視圖是一個(gè)預(yù)先定義好的SQL SELECT語句文件
C)查詢和視圖是同一種文件,只是名稱不同
D)查詢和視圖都是一個(gè)存儲(chǔ)數(shù)據(jù)的表
(23) 在Visual FoxPro中,以下關(guān)于視圖描述中錯(cuò)誤的是
A) 通過視圖可以對(duì)表進(jìn)行查詢B) 通過視圖可以對(duì)表進(jìn)行更新
C)視圖是一個(gè)虛表D) 視圖就是一種查詢
(24) 使用SQL語句將學(xué)生表S中年齡(AGE)大于30歲的記錄刪除,正確的命令是
A) DELETE FOR AGE>30B) DELETE FROM S WHERE AGE>30
C) DELETE S FOR AGE>30D) DELETE S WHERE AGE>30
(25) 在Visual FoxPro中,使用LOCATE FOR <expL>命令按條件查找記錄,當(dāng)查找到滿足條件的第一條記錄后,如果還需要查找下一條滿足條件的記錄,應(yīng)使用
A)再次使用LOCATE FOR <expL>命令
B)SKIP命令
C)CONTINUE命令
D)GO命令
(26) 在Visual FoxPro中,刪除數(shù)據(jù)庫(kù)表S的SQL命令是
A) DROP TABLE SB) DELETE TABLE S
C) DELETE TABLE S.DBFD) ERASE TABLE S
(27) 下列表達(dá)式中,表達(dá)式返回結(jié)果為.F.的是
A) AT(“A”,”BCD”)B) “[信息]”$“管理信息系統(tǒng)”
C) ISNULL(.NULL.)D) SUBSTR(“計(jì)算機(jī)技術(shù)”,3,2)
(28) 使用SQL語句向?qū)W生表S(SNO,SN,AGE,SEX)中添加一條新記錄,字段學(xué)號(hào)(SNO)、姓名(SN)、性別(SEX)、年齡(AGE)的值分別為0401、王芳、女、18,正確的命令是
A)APPEND INTO S (SNO,SN,SXE,AGE) valueS (‘0401’,’王芳’,’女’,18)
B)APPEND S valueS (‘0401’,’王芳’,’女’,18)
C)INSERT INTO S (SNO,SN,SEX,AGE) valueS (‘0401’,’王芳’,’女’,18)
D)INSERT S valueS (‘0401’,’王芳’,18,’女’)
(29) 假設(shè)某個(gè)表單中有一個(gè)命令按鈕cmdClose,為了實(shí)現(xiàn)當(dāng)用戶單擊此按鈕時(shí)能夠關(guān)閉該表單的功能,應(yīng)在該按鈕的Click事件中寫入語句
A) ThisForm.CloseB) ThisForm.Erase
C) ThisForm.ReleaseD) ThisForm.Return
(30) 在SQL的SELECT查詢結(jié)果中,消除重復(fù)記錄的方法是
A) 通過指定主關(guān)系鍵B) 通過指定惟一索引
C) 使用DISTINCTD)使用HAVING子句
(31) 在Visual FoxPro中,以下有關(guān)SQL的SELECT語句的敘述中,錯(cuò)誤的是
A)SELECT子句中可以包含表中的列和表達(dá)式
B)SELECT子句中可以使用別名
C)SELECT子句規(guī)定了結(jié)果集中的列順序
D)SELECT子句中列的順序應(yīng)該與表中列的順序一致
(32) 下列關(guān)于SQL中HAVING子句的描述,錯(cuò)誤的是
A)HAVING子句必須與GROUP BY子句同時(shí)使用
B)HAVING子句與GROUP BY子句無關(guān)
C)使用WHERE子句的同時(shí)可以使用HAVING子句
D)使用HAVING子句的作用是限定分組的條件
(33) 在Visual FoxPro中,如果在表之間的聯(lián)系中設(shè)置了參照完整性規(guī)則,并在刪除規(guī)則中選擇“限制”,則當(dāng)刪除父表中的記錄時(shí),系統(tǒng)反應(yīng)是
A) 不做參照完整性檢查B) 不準(zhǔn)刪除父表中的記錄
C) 自動(dòng)刪除子表中所有相關(guān)的記錄D) 若子表中有相關(guān)記錄,則禁止刪除父表中記錄
第(34)——(35)題使用如下三個(gè)數(shù)據(jù)庫(kù)表
學(xué)生表:S(學(xué)號(hào),姓名,性別,出生日期,院系)
課程表:C(課程號(hào),課程名,學(xué)時(shí))
選課成績(jī)表:SC(學(xué)號(hào),課程號(hào),成績(jī))
在上述表中,出生日期數(shù)據(jù)類型為日期型,學(xué)時(shí)和成績(jī)?yōu)閿?shù)值型,其他均為字符型。
(34) 用SQL命令查詢選修的每門課程的成績(jī)都高于或等于85分的學(xué)生的學(xué)號(hào)和姓名,正確的命令是
A)SELECT 學(xué)號(hào),姓名 FROM S WHERE NOT EXISTS;
(SELECT * FROM SC WHERE SC.學(xué)號(hào)=S.學(xué)號(hào) AND 成績(jī)<85)
B)SELECT 學(xué)號(hào),姓名 FROM S WHERE NOT EXISTS;
(SELECT * FROM SC WHERE SC.學(xué)號(hào)=S.學(xué)號(hào) AND 成績(jī)>=85)
C)SELECT 學(xué)號(hào),姓名 FROM S,SC;
WHERE S.學(xué)號(hào)=SC.學(xué)號(hào) AND 成績(jī)>=85
D)SELECT 學(xué)號(hào),姓名 FROM S,SC;
WHERE S.學(xué)號(hào)=SC.學(xué)號(hào) AND ALL 成績(jī)>=85
(35) 用SQL語言檢索選修課程在5門以上(含5門)的學(xué)生的學(xué)號(hào)、姓名和平均成績(jī),并按平均成績(jī)降序排序,正確的命令是
A)SELECT S.學(xué)號(hào),姓名,平均成績(jī) FROM S,SC;
WHERE S.學(xué)號(hào)=SC.學(xué)號(hào);
GROUP BY S.學(xué)號(hào) HAVING COUNT(*)>=5 ORDER BY 平均成績(jī) DESC
B)SELECT 學(xué)號(hào),姓名,AVG(成績(jī)) FROM S,SC;
WHERE S.學(xué)號(hào)=SC.學(xué)號(hào)AND COUNT(*)>=5;
GROUP BY 學(xué)號(hào) ORDER BY 3 DESC
C)SELECT S.學(xué)號(hào),姓名,AVG(成績(jī)) 平均成績(jī) FROM S,SC;
WHERE S.學(xué)號(hào)=SC.學(xué)號(hào)AND COUNT(*)>=5;
GROUP BY S.學(xué)號(hào) ORDER BY 平均成績(jī) DESC
D)SELECT S.學(xué)號(hào),姓名,AVG(成績(jī)) 平均成績(jī) FROM S,SC;
WHERE S.學(xué)號(hào)=SC.學(xué)號(hào);
GROUP BY S.學(xué)號(hào) HAVING COUNT(*)>=5 ORDER BY 3 DESC
二、填空題(每空2分,共30分)
請(qǐng)將每一個(gè)空的正確答案寫在答題卡【1】~【15】序號(hào)的橫線上,答在試卷上不得分。注意:以命令關(guān)鍵字填空的必須拼寫完整。
(1) 某二叉樹中度為2的結(jié)點(diǎn)有18個(gè),則該二叉樹中有 【1】 個(gè)葉子結(jié)點(diǎn)。
(2) 在面向?qū)ο蠓椒ㄖ,類的?shí)例稱為 【2】 。
(3) 診斷和改正程序中錯(cuò)誤的工作通常稱為 【3】 。
(4) 在關(guān)系數(shù)據(jù)庫(kù)中,把數(shù)據(jù)表示成二維表,每一個(gè)二維表稱為 【4】 。
(5) 問題處理方案的正確而完整的描述稱為 【5】 。
(6) 在奧運(yùn)會(huì)游泳比賽中,一個(gè)游泳運(yùn)動(dòng)員可以參加多項(xiàng)比賽,一個(gè)游泳比賽項(xiàng)目可以有多個(gè)運(yùn)動(dòng)員參加,游泳運(yùn)動(dòng)員與游泳比賽項(xiàng)目?jī)蓚(gè)實(shí)體之間的聯(lián)系是 【6】 聯(lián)系。
(7) 執(zhí)行命令A(yù)=2005/4/2之后,內(nèi)存變量A的數(shù)據(jù)類型是 【7】 型。
(8) 如下程序顯示的結(jié)果是 【8】 。
s=1
i=0
do while i<8
s=s+i
i=i+2
enddo
?s
(9) 在Visual FoxPro中,可以在表設(shè)計(jì)器中為字段設(shè)置默認(rèn)值的表是 【9】 表。
(10) Visual FoxPro中數(shù)據(jù)庫(kù)文件的擴(kuò)展名(后綴)是 【10】 。
(11)——(13)題使用如下三個(gè)數(shù)據(jù)庫(kù)表:
金牌榜.DBF國(guó)家代碼 C(3),金牌數(shù) I,銀牌數(shù) I,銅牌數(shù) I
獲獎(jiǎng)牌情況.DBF國(guó)家代碼 C(3),運(yùn)動(dòng)員名稱 C(20),項(xiàng)目名稱 C(3),名次 I
國(guó)家.DBF國(guó)家代碼 C(3),國(guó)家名稱 C(20)
“金牌榜”表中一個(gè)國(guó)家一條記錄;“獲獎(jiǎng)牌情況”表中每個(gè)項(xiàng)目中的各個(gè)名次都有一條記錄,名次只取前3名,例如:
國(guó)家代碼運(yùn)動(dòng)員名稱項(xiàng)目名稱名次
001劉翔男子110米欄1
001李小鵬男子雙杠3
002費(fèi)爾普斯游泳男子200米自由泳3
002費(fèi)爾普斯游泳男子400米個(gè)人混合泳1
001郭晶晶女子三米板跳板1
001李婷/孫甜甜網(wǎng)球女子雙打1
(11) 為表“金牌榜”增加一個(gè)字段“獎(jiǎng)牌總數(shù)”,同時(shí)為該字段設(shè)置有效性規(guī)則:獎(jiǎng)牌總數(shù)>=0,應(yīng)使用SQL語句
ALTER TABLE 金牌榜 【11】 獎(jiǎng)牌總數(shù)I 【12】 獎(jiǎng)牌總數(shù)>=0
(12) 使用“獲獎(jiǎng)牌情況”和“國(guó)家”兩個(gè)表查詢“中國(guó)”所獲金牌(名次為1)的數(shù)量,應(yīng)使用SQL語句
SELECT COUNT(*) FROM 國(guó)家 INNER JOIN 獲獎(jiǎng)牌情況;
【13】 國(guó)家.國(guó)家代碼=獲獎(jiǎng)牌情況.國(guó)家代碼;
WHERE 國(guó)家.國(guó)家名稱=“中國(guó)” AND 名次=1
(13) 將金牌榜.DBF中的新增加的字段獎(jiǎng)牌總數(shù)設(shè)置為金牌數(shù)、銀牌數(shù)、銅牌數(shù)三項(xiàng)的和,應(yīng)使用SQL語句
【11】 金牌榜 【10】 獎(jiǎng)牌總數(shù)=金牌數(shù)+銀牌數(shù)+銅牌數(shù)
參考答案:
(1)D(2)B(3)D(4)C(5)A
(6)C(7)B(8)D(9)D(10)C
(11)B(12)D(13)A(14)B(15)A
(16)D(17)A(18)B(19)A(20)C
(21)D(22)A(23)D(24)B(25)C
(26)A(27)B(28)C(29)C(30)C
(31)D(32)B(33)D(34)A(35)D
【1】19
【2】對(duì)象
【3】程序調(diào)試
【4】關(guān)系
【5】算法
【6】多對(duì)多
【7】數(shù)值
【8】13
【9】數(shù)據(jù)庫(kù)表
【10】.DBC
【11】ADD
【12】CHECK
【13】ON
【14】UPDATE
【15】SET