2005年4月全國計算機等級考試二級Visual FoxPro筆試試含答案

字號:

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