2005年4月全國計(jì)算機(jī)等級(jí)考試二級(jí)Visual FoxPro筆試試含答案

字號(hào):

一、選擇題((1)~(35)每小題2分,共70分)
    下列各題A)、B)、C)、D)四個(gè)選項(xiàng)中,只有一個(gè)選項(xià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)對棧的插入與刪除操作中,不需要改變棧底指針
    (3)對于長度為n的線性表,在壞情況下,下列各排序法所對應(yīng)的比較次數(shù)中正確的是______。
    A)冒泡排序?yàn)閚/2 B)冒泡排序?yàn)閚
    C)快速排序?yàn)閚 D)快速排序?yàn)閚(n-1)/2
    (4)對長度為n的線性表進(jìn)行順序查找,在壞情況下所需要的比較次數(shù)為______。
    A)log2n B)n/2 C)n D)n+1
    (5)下列對于線性鏈表的描述中正確的是______。
    A)存儲(chǔ)空間不一定是連續(xù),且各元素的存儲(chǔ)順序是任意的
    B)存儲(chǔ)空間不一定是連續(xù),且前件元素一定存儲(chǔ)在后件元素的前面
    C)存儲(chǔ)空間必須連續(xù),且前件元素一定存儲(chǔ)在后件元素的前面
    D)存儲(chǔ)空間必須連續(xù),且各元素的存儲(chǔ)順序是任意的
    (6)下列對于軟件測試的描述中正確的是______。
    A)軟件測試的目的是證明程序是否正確
    B)軟件測試的目的是使程序運(yùn)行結(jié)果正確
    C)軟件測試的目的是盡可能多地發(fā)現(xiàn)程序中的錯(cuò)誤
    D)軟件測試的目的是使程序符合結(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ù)庫技術(shù)的重要特點(diǎn)之一。所謂數(shù)據(jù)獨(dú)立性是指______。
    A)數(shù)據(jù)與程序獨(dú)立存放
    B)不同的數(shù)據(jù)被存放在不同的文件中
    C)不同的數(shù)據(jù)只能被對應(yīng)的應(yīng)用程序所使用
    D)以上三種說法都不對
    (10)用樹形結(jié)構(gòu)表示實(shí)體之間聯(lián)系的模型是______。
    A)關(guān)系模型 B)網(wǎng)狀模型 C)層次模型 D)以上三個(gè)都是
    (11)在創(chuàng)建數(shù)據(jù)庫表結(jié)構(gòu)時(shí),給該表指定了主索引,這屬于數(shù)據(jù)完整性中的______。
    A)參照完整性 B)實(shí)體完整性 C)域完整性 D)用戶定義完整性
    (12)在創(chuàng)建數(shù)據(jù)庫表結(jié)構(gòu)時(shí),為該表中一些字段建立普通索引,其目的是______。
    A)改變表中記錄的物理順序 B)為了對表進(jìn)行實(shí)體完整性約束
    C)加快數(shù)據(jù)庫表的更新速度 D)加快數(shù)據(jù)庫表的查詢速度
    (13)數(shù)據(jù)庫系統(tǒng)中對數(shù)據(jù)庫進(jìn)行管理的核心軟件是______。
    A)DBMS B)DB C)OS D)DBS
    (14)設(shè)有兩個(gè)數(shù)據(jù)庫表,父表和子表之間是一對多的聯(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都對
    (16)在指定字段或表達(dá)式中不允許出現(xiàn)重復(fù)值的索引是______。
    A)惟一索引 B)惟一索引和候選索引
    C)惟一索引和主索引 D)主索引和候選索引
    (17)在Visual FoxPro中,以下關(guān)于刪除記錄的描述,正確的是______。
    A)SQL的DELETE命令在刪除數(shù)據(jù)庫表中的記錄之前,不需要用USE命令打開表
    B)SQL的DELETE命令和傳統(tǒng)Visual FoxPro的DELETE命令在刪除數(shù)據(jù)庫表中的記錄之前,都需要用USE命令打開表
    C)SQL的DELETE命令可以物理地刪除數(shù)據(jù)庫表中的記錄,而傳統(tǒng)Visual FoxPro的DELETE命令只能邏輯刪除數(shù)據(jù)庫表中的記錄
    D)傳統(tǒng)Visual FoxPro的DELETE命令在刪除數(shù)據(jù)庫表中的記錄之前不需要用USE命令打開表
    (18)在Visual FoxPro中,如果希望跳出SCAN … ENDSCAN循環(huán)體、執(zhí)行ENDSCAN后面的語句,應(yīng)使用______。
    A)LOOP語句 B)EXIT語句
    C)BREAK語句 D)RETURN語句
    (19)打開數(shù)據(jù)庫abc的正確命令是______。
    A)OPEN DATABASE abc B)USE abc
    C)USE DATABASE abc D)OPEN abc
    (20)在Visual FoxPro中,下列關(guān)于表的敘述正確的是______。
    A)在數(shù)據(jù)庫表和自由表中,都能給字段定義有效性規(guī)則和默認(rèn)值
    B)在自由表中,能給表中的字段定義有效性規(guī)則和默認(rèn)值
    C)在數(shù)據(jù)庫表中,能給表中的字段定義有效性規(guī)則和默認(rèn)值
    D)在數(shù)據(jù)庫表和自由表中,都不能給字段定義有效性規(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)通過視圖可以對表進(jìn)行查詢 B)通過視圖可以對表進(jìn)行更新
    C)視圖是一個(gè)虛表 D)視圖就是一種查詢
    (24)使用SQL語句將學(xué)生表S中年齡(AGE)大于30歲的記錄刪除,正確的命令是______。
    A)DELETE FOR AGE>30 B)DELETE FROM S WHERE AGE>30
    C)DELETE S FOR AGE>30 D)DELETE S WHERE AGE>30
    (25)在Visual FoxPro中,使用LOCATE FOR 命令按條件查找記錄,當(dāng)查找到滿足條件的第一條記錄后,如果還需要查找下一條滿足條件的記錄,應(yīng)使用______。
    A)再次使用LOCATE FOR 命令
    B)SKIP命令
    C)CONTINUE命令
    D)GO命令
    (26)在Visual FoxPro中,刪除數(shù)據(jù)庫表S的SQL命令是______。
    A)DROP TABLE S
    B)DELETE TABLE S
    C)DELETE TABLE S.DBF
    D)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,SEX,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.Close B)ThisForm.Erase
    C)ThisForm.Release D)ThisForm.Return
    (30)在SQL的SELECT查詢結(jié)果中,消除重復(fù)記錄的方法是______。
    A)通過指定主關(guān)系鍵 B)通過指定惟一索引
    C)用DISTINCT子句 D)使用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)題使用如下3個(gè)數(shù)據(jù)庫表:
    學(xué)生表:S(學(xué)號(hào),姓名,性別,出生日期,院系)
    課程表:C(課程號(hào),課程名,學(xué)時(shí))
    選課成績表:SC(學(xué)號(hào),課程號(hào),成績)
    在上述表中,出生日期數(shù)據(jù)類型為日期型,學(xué)時(shí)和成績?yōu)閿?shù)值型,其他均為字符型。
    (34)用SQL命令查詢選修的每門課程的成績都高于或等于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 成績<85)
    B)SELECT 學(xué)號(hào),姓名 FROM S WHERE NOT EXISTS;
    (SELECT * FROM SC WHERE SC.學(xué)號(hào)=S.學(xué)號(hào) AND 成績>=85)
    C)SELECT 學(xué)號(hào),姓名 FROM S,SC;
    WHERE S.學(xué)號(hào)=SC.學(xué)號(hào) AND 成績>=85
    D)SELECT 學(xué)號(hào),姓名 FROM S,SC;
    WHERE S.學(xué)號(hào)=SC.學(xué)號(hào) AND ALL 成績>=85
    (35)用SQL語言檢索選修課程在5門以上(含5門)的學(xué)生的學(xué)號(hào)、姓名和平均成績,并按平均成績降序排序,正確的命令是______。
    A)SELECT S.學(xué)號(hào),姓名,平均成績 FROM S,SC;
    WHERE S.學(xué)號(hào)=SC.學(xué)號(hào);
    GROUP BY S.學(xué)號(hào) HAVING COUNT(*)>=5 ORDER BY 平均成績 DESC
    B)SELECT 學(xué)號(hào),姓名,AVG(成績) 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(成績) 平均成績 FROM S,SC;
    WHERE S.學(xué)號(hào)=SC.學(xué)號(hào)AND COUNT(*)>=5;
    GROUP BY S.學(xué)號(hào) ORDER BY 平均成績 DESC
    D)SELECT S.學(xué)號(hào),姓名,AVG(成績) 平均成績 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分)
    請將每空的正確答案寫在答題卡【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ù)庫中,把數(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)目兩個(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ù)庫文件的擴(kuò)展名(后綴)是 【10】 。
    (11)—(13)題使用如下三個(gè)數(shù)據(jù)庫表:
    金牌榜.DBF 國家代碼 C(3),金牌數(shù) I,銀牌數(shù) I,銅牌數(shù) I
    獲獎(jiǎng)牌情況.DBF 國家代碼 C(3),運(yùn)動(dòng)員名稱C(20),項(xiàng)目名稱 C(30),名次 I
    國家.DBF 國家代碼 C(3),國家名稱 C(20)
    “金牌榜”表中一個(gè)國家一條記錄:“獲獎(jiǎng)牌情況”表中每個(gè)項(xiàng)目中的各個(gè)名次都有一條記錄,名次只取前3名,例如:
    國家代碼 運(yùn)動(dòng)員名稱 項(xiàng)目名稱 名次
    001 劉翔 男子110米欄 1
    001 李小鵬 男子雙杠 3
    002 菲爾普斯 游泳男子200米自由泳 3
    002 菲爾普斯 游泳男子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)牌情況”和“國家”兩個(gè)表查詢“中國”所獲金牌(名次為1)的數(shù)量,應(yīng)使用SQL語句
    SELECT COUNT(*) FROM 國家 INNER JOIN 獲獎(jiǎng)牌情況;
     【13】 國家.國家代碼 = 獲獎(jiǎng)牌情況.國家代碼;
    WHERE 國家.國家名稱 ="中國" AND 名次=1
    (13)將金牌榜.DBF中的新增加的字段獎(jiǎng)牌總數(shù)設(shè)置為金牌數(shù)、銀牌數(shù)、銅牌數(shù)三項(xiàng)的和,應(yīng)使用SQL語句
     【14】 金牌榜 【15】 獎(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】對象
     【3】程序調(diào)試
     【4】關(guān)系
     【5】算法
     【6】多對多
     【7】數(shù)值
     【8】13
     【9】數(shù)據(jù)庫表
     【10】.DBC
     【11】ADD
     【12】CHECK
     【13】ON
     【14】UPDATE
     【15】SET