計算機等級考試筆試題

才智咖 人氣:5.68K

一.單選題(36分  每小題1分)

計算機等級考試筆試題

1.在VISUAL FOXPRO常用的基類中,執行時不可見的是(     )。

(A) 計時器  (B)複選框    (C) 列表框   (D) 選項按鈕組

2.設職工資料表文件已經開啟,其中有工資欄位,要把指標定位在第一個工資欄位的值大於2200元的記錄上,應使用命令(        )。

(A)LOCATE FOR 工資>2200  (B)SEEK FOR 工資>2200

(C)SEEK 工資>2200    (D)FIND 工資>2200

3. 在Visual FoxPro中,用zap命令對當前資料表的記錄作了刪除操作,則當前資料表的eof(),bof()的值為(       )。

(A)  .T.  .F.          (B)  .F.  .F.

(C)  .F.  .T.          (D)  .T.  .T.

4.設D1和D2為日期型資料,N為整數,不能進行的運算是(       )。

(A) D2-N    (B) D1+D2    (C) D1+N    (D) D1-D2

5. 在Visual FoxPro中建立查詢後,可以從表中提取符合指定條件的一組記錄,(    )。

(A)但不能修改記錄

(B)同時又能更新資料

(C)但不能設定輸出欄位

(D)同時可以修改資料,但不能將修改的內容寫回原表

6. 以下關於“檢視”的描述正確的是(      )。

(A)檢視就是一種查詢

(B)檢視儲存在資料庫中

(C)檢視只能從一個表派生出來

(D)檢視是一個預先定義好的SQL SELECT語句檔案

7. Visual FoxPro 不支援的資料型別有(        )。

(A)通用型      (B)貨幣型      (C)備註型      (D)變數型

8. 下列哪組語句可以將變數X、Y的值互換?(       )

(A)X=Y    (B)X=(X+Y)/2     (C)X=X+Y      (D)C=X

Y=X       Y=(X-Y)/2        Y=X-Y         X=Y

X=Y-X         Y=C

9. 參照完整性規則的更新規則中“限制”的含義是(        )。

(A)更新父表中連線欄位值時,用新的連線欄位自動修改子表中的所有相關記錄

(B)若子表中有與父表相關的記錄,則禁止修改父表中連線欄位值

(C)父表中的連線欄位值可以隨意更新,不會影響子表中的記錄

(D)父表中的連線欄位值在任何情況下都不允許更新

10. 設A,B,C為三角形的三條邊,且A,B,C均大於0。在以下構成三角形的條件中正確的是(         )。

(A) A+B>C,B+C>A,A+C>B           (B) A+B>C AND B+C>A AND A+C>B

(C) A+B>C AND (B+C>A OR A+C>B)  (D) A+B>C OR  (B+C>A AND A+C>B)

11. 如圖所示命令按鈕組

:,當選擇“暫停”時,命令按鈕組的值為

(       )。

(A)0         (B)1        (C)2          (D) 暫停

12.下列哪個表示式是非法的(       )。

(A) 8 < 4*3  (B) .T.= .F.     (C) $32 <> 32   (D) "1" > 0

13.資料庫表的欄位或記錄可以定義有效性規則,規則可以是(      )。

(A)邏輯表示式      (B)字元表示式

(C)數值表示式         (D)前3種都可能

14.表示式20+INT(RAND()*100)的取值範圍是(     )

(A)(0,0)       (B)(0,20)      (C)(20,120)      (D)(20,100)

15.表單Form1中有一標籤Label1,當如下程式碼執行後,Label1中顯示的內容為(      )。

X=-5

Y=IIF(X>0,"該數為正數",IIF(X=0,"該數為零","該數為負數"))

ion=Y

(A)0       (B)-5        (C)該數為負數        (D)該數為-5

16.輸入一個數X,判斷其為正整數的正確表示式為(        )。

(A) X>0 OR X=INT(X)           (B)X>0 AND X=INT(X)

(C) X>0 OR X/2=INT(X/2)        (D) X>0 AND X/2=INT(X/2)

17.資料表中有欄位∶姓名(C)、出生日期(D)、工資(N),設計一表單,表單中新增一個標籤label1,要在標籤label1中顯示錶當前記錄的姓名、出生日期和工資,可用的命令是(    )。

(A) ion=姓名+出生日期+工資

(B) ion=姓名+ DTOC(出生日期)+STR(工資,4,1)

(C) ion=VAL(姓名)+VAL(出生日期)+工資

(D)ion= 姓名+出生日期+STR(工資,4)

18. 資料庫表的主索引欄位(     )

(A)能出現重複值               (B)不能出現重複值或空值

(C) 能出現空值                (D)不能出現重複值,但能出現空值

19. 能夠將表單的活動物件重新整理的方法是(      )

(A) Hide     (B) Refresh     (C) Release    (D) SetFocus

20. Visual FoxPro的命令視窗中,使用SET RELATION命令可以建立兩個表之間的關係,這種關係是

(       )。

(A)永久性關係  (B)索引關係     (C)臨時性關係 (D)都不是

21. 副檔名為SCX的檔案是(    )

(A)表單檔案      (B) 資料表文件     (C) 資料庫檔案    (D) 專案檔案

22. 使用DIMENSION命令定義陣列後,各陣列元素在沒賦值之前資料型別是(     )

(A)字元型  (B)數值型  (C)邏輯型  (D)未定義

23. 有以下命令序列:

X=64-28

Y=X=36

則變數Y的值為(      )

(A)36          (B) 23        (C)  .T.           (D)  .F.

24. TIMER控制元件中用來設定計時器間隔時間長短的屬性是(       )。

(A) TIMER    (B) CLICK   (C) INTERVAL    (D) SETFOCUS

25.對於表單上的某文字框控制元件來說,下列事件中一定會發生的事件是(     )。

(A)Init     (B)Click      (C)GotFocus       (D)Valid

26.表單Form1中有一標籤Label1,當如下程式碼執行後,Label1中顯示的內容為(       )。

k1="*"

k2="/"

a=15

b=7

c=3

ion=str(a&k1.b&k2.c)

(A)15           (B)35          (C)2.84        (D)15*7/37

27~36題用vfp-sql實現,基於如下資料表:

圖書(書號,書名,作者,出版社,定價)

圖書銷售記錄(書號,售書日期,數量,售價,付款方式)

其中:定價、售價、數量是數值型,售書日期是日期型,其他是字元型。

27. 查詢圖書表中書名包含“計算機”的所有圖書資訊,正確的SQL語句是(    )。

(A) SELECT  ALL  FROM 圖書 WHERE  書名="計算機"

(B) SELECT  所有資訊 FROM 圖書 WHERE  書名="計算機"

(C) SELECT  ALL  FROM 圖書 WHERE 書名 not  like "計算機"

(D) SELECT  *  FROM 圖書 WHERE  書名 like "%計算機%" 28. 查詢圖書定價在80~150(含)範圍內的圖書名、出版社、定價,正確的SQL語句是(   )。

(A) SELECT * FROM 圖書 WHERE 80<定價 or定價<150< p="">

(B) SELECT * FROM 圖書 WHERE 80≤定價≤150

(C) SELECT 圖書名,出版社,定價 FROM 圖書 WHERE  between 80 and 150

(D) SELECT 圖書名,出版社,定價 FROM 圖書 WHERE  not between 80 and 150

29. 查詢2012年9月圖書銷售資訊(書名、數量和售書日期),正確的SQL語句是(

(A)SELECT 圖書.書名,數量,售書日期 FROM圖書,圖書銷售記錄WHERE;

圖書.書號=圖書銷售記錄.書號 AND售書日期=ctod("2012-9-*")

(B)SELECT 圖書.書名,數量,售書日期 FROM圖書,圖書銷售記錄;

WHERE 圖書.書號=圖書銷售記錄.書號 AND;

YEAR(售書日期)=2012  AND  MONTH(售書日期)=9

(C)SELECT 圖書.書名,數量,售書日期 FROM圖書,圖書銷售記錄;

WHERE 圖書.書號=圖書銷售記錄.書號 AND;

YEAR(售書日期)=2012  OR  MONTH(售書日期)=9

(D)SELECT 圖書.書名,數量,售書日期 FROM圖書,圖書銷售記錄WHERE;

圖書.書號=圖書銷售記錄.書號 AND售書日期=2012-9

30. 查詢“人民文學出版社”圖書的銷售數量,正確的SQL語句是(    )。

(A)SELECT 出版社,sum(數量)  FROM圖書,圖書銷售記錄;

WHERE 圖書.書號=圖書銷售記錄.書號 AND;

出版社="人民文學出版社"

(B)SELECT 出版社,sum(數量)  FROM圖書,圖書銷售記錄;

WHERE 出版社="人民文學出版社"

(C)SELECT 出版社,count(數量)  FROM圖書,圖書銷售記錄;

WHERE 圖書.書號=圖書銷售記錄.書號 AND;

出版社="人民文學出版社"

(D)SELECT 出版社,count(數量)  FROM圖書,圖書銷售記錄;

WHERE 出版社="人民文學出版社"

31. 查詢不同“付款方式”圖書的銷售總量(含數量與售價),正確的SQL語句是(

(A)SELECT付款方式,AVG(數量),SUM(售價)  FROM圖書銷售記錄 GROUP BY 付款方式

(B)SELECT付款方式,SUM(數量),SUM(售價)  FROM圖書銷售記錄 GROUP BY 付款方式

(C)SELECT付款方式,SUM(數量),AVG(售價)  FROM圖書銷售記錄 GROUP BY 付款方式

(D)SELECT付款方式,CNT(數量),CNT(售價)  FROM圖書銷售記錄 GROUP BY 付款方式

3 )。  )。

32. 查詢單筆圖書售價最高的前10名的圖書名、定價、售價,正確的SQL語句是(   )。

(A)SELECT 書名,定價,售價 FROM  圖書INNER JOIN 圖書銷售記錄 ;

ON  圖書.書號=圖書銷售記錄.書號 ORDER BY 售價

(B)SELECT TOP 10 書名,定價,售價 FROM  圖書INNER JOIN 圖書銷售記錄 ;

ON  圖書.書號=圖書銷售記錄.書號  ORDER BY 售價

(C)SELECT 書名,定價,售價 FROM  圖書INNER JOIN 圖書銷售記錄 ;

ON  圖書.書號=圖書銷售記錄.書號 ORDER BY 售價 DESC

(D)SELECT TOP 10 書名,定價,售價 FROM  圖書INNER JOIN 圖書銷售記錄 ;

ON  圖書.書號=圖書銷售記錄.書號 ORDER BY 售價 DESC

33. 刪除圖書定價低於30(不含)的銷售記錄,正確的SQL語句是(    )。

(A)DELETE FROM 圖書銷售記錄 WHERE 書號 IN ;

(SELECT 書號  FROM 圖書 WHERE 定價<30)< p="">

(B)DELETE FROM 圖書銷售記錄 WHERE 書號= ;

(SELECT 書號 FROM 圖書 WHERE 定價<30)< p="">

(C)DROP FROM 圖書銷售記錄 WHERE 書號 IN ;

(SELECT 書號 FROM 圖書 WHERE 定價<30)< p="">

(D)DROP FROM 圖書銷售記錄 WHERE 書號= ;

(SELECT 書號 FROM 圖書 WHERE 定價<30)< p="">

34. 將作者為“金庸”的圖書定價提高15%,正確的SQL語句是(    )。

(A)UPDATE 圖書 SET 定價=定價*(1+15%)  WHERE 作者 like "金庸"

(B)UPDATE 圖書 SET 定價=定價*1.15  WHERE 作者 like "金庸"

(C)UPDATE 圖書 SET 定價=定價*1.15  WHERE 作者$"金庸"

(D)UPDATE 圖書 SET 定價=定價*(1+15%)  WHERE 作者==金庸

35. 將圖書中欄位“出版社”的`型別和長度修改為C/40,正確的SQL語句是(      )

(A) RENAME 出版社 C(40) FOR 圖書

(B) ALTER 圖書 RENAME 出版社 C 40

(C) ALTER TABLE 圖書 ALTER 出版社 C(40)

(D) ALTER TABLE圖書CHANG 出版社C(40)

36. 在圖書中新增一個欄位“版次/C/30”,正確的SQL語句是(     )

(A) INSERT LIST 圖書 ADD 版次 C(30)

(B) INSERT TABLE 圖書 ADD 版次 C(30)

(C) ALTER LIST 圖書 ADD 版次 C(30)

(D) ALTER TABLE 圖書 ADD 版次 C(30)

二、判斷題(對打√,錯打Χ;每小題1分,共10分)

陣列必須先定義後使用,允許定義三維陣列。(       )

2.定義VFP全域性變數ss(如:PUBLIC ss),則ss的初值是.f.。(       )

3.主索引只能在資料庫表中指定,而候選索引在資料庫表和自由表中都可使用。(       )

4.使用者可以自己新建事件和方法。(       )

5.巨集替換函式&後的變數可以是任意型別的變數。(      )

6.列表框的AddListItem(4,2,3)方法表示把在列表框的第4行第2列顯示3這個數字。(

7.命令copy stru to 既能複製表文件的結構又能複製表文件的記錄。(       )

8.表示式ROUND(155.125,-2)+MOD(35,-4)的結果是199。(       )

9.在預設狀態下,關係表示式"An"<"apple"的結果為.T.。(       )

10.對某個關係進行投影或聯接運算後,運算的結果還是二維表。(       )

4 )

三、填空題(20分,每空2分)

1.如圖1所示,表單執行後,在文字框中輸入考號,單擊查詢按鈕,如果成績表中有此人,則顯示此人的聽力和口語成績。如果成績表中無此人,則顯示“查無此人”。請填空。

圖1

“查詢”按鈕的Click事件程式碼如下:

use yy

kh=_______①______

locate for 考號

=alltrim(kh)

if  __②__

ion=str(聽力,3)

ion=str(口語,3)

else

ion=_______③______

ion=""

endif

use

2.設計如圖所示的表單,表單由編輯框和命令按鈕組成。表單執行後,單擊“顯示”按鈕,可以在編輯框中輸出3~100之間的所有素數。“顯示”按鈕的“Click”事件程式碼如下,請填空。

Y=0

FOR m=3 TO 100

FOR n= 2 To  m-1

IF MOD(m,n)=0

_______④________

ENDIF

ENDFOR

IF n>m-1

y=y+1

e= e+_______⑤______

IF ______⑥_____

e= e +CHR(13)

ENDIF

ENDIF

ENDFOR

5

3、有一教師管理資料庫中有3個表:其表名和結構分別如下:

基本情況(工號C(6),姓名 C(8),性別 C(8),出生年月(D), 工資 N(5))

授課情況(工號C(6),班級編號 C(8),課程名稱C(20))

查詢授課班級在3個以上的教師姓名和班級數,並按班級數降序排列:

SELECT 姓名,COUNT(*) AS班級數 FROM 基本情況,授課情況 ;

WHERE基本情況.工號=授課情況.工號;

GROUP BY 授課情況.工號HAVING   ______ ⑦_____ ;

ORDER BY   _______ ⑧______

4.有3個數據表:讀者(讀者編號/C,讀者姓名/C);圖書(書號/C,書名/C);借閱(書號/C,讀者編號/C,借閱日期/D), 建立如圖所示表單, 將組合框與讀者表的讀者編號欄位繫結,表單執行時,在組合框combo1中選擇讀者編號則在標籤中label3中輸出讀者姓名,在列表框中輸出該讀者借閱的圖書的書名和借閱日期。

組合框“combo1”的“interactivechange”事件程式碼:

r

bh=alltrim(e)

select 讀者姓名 from 讀者 where 讀者編號=bh into _______⑨________

ion=aa(1)

sele 書名,借閱日期 from 圖書 a,借閱 b ;

where a.書號=b.書號 and 讀者編號=bh into dbf xx

use xx

tem("書名 借閱日期")

scan

tem(書名+____⑩________)

endscan

③表單“form1”的“unload”事件程式碼:

close all

四、讀程式寫出執行結果(24分)

1. 設計如圖5所示表單,表單執行後,單擊命令按鈕“Command1”,標籤Label1將顯示什麼?

Command1控制元件的Click事件程式碼:

I=3

DO WHILE I<6< p="">

J=2

DO WHILE J<=i-1< p="">

IF INT(I/J)=I/J

EXIT

ENDIF

J=J+1

ENDDO

I=I+1

ENDDO

X="i="+ALLTRIM(STR(I))+" "+"j="+alltrim(str(J))

ion=X

2.某表單程式設計介面如圖3所示,文字框text1和text2初值為0。當在文字框text1,text2中輸入3和2 後,按“計算”按鈕,問文字框text3~6中顯示的內容分別是什麼?

圖3

“計算”按鈕單擊事件程式碼如下:

x=e

y=e

for n=3 to 6

a=+str(n,1)+e=x+y

&a

z=x+y

x=y

y=z

endfor

7

3.有一個數據表,其檔名為,其資料如表1所示。

表1 學生表

Command1,請寫出Label1中顯示的內容(假定系統當前的日期為2012年9月17日)。在Command1的Click事件中有如下程式碼:

select zg

x=""

ion=x

scan

if year(生日)>1980

exit

endif

if 職稱="工程師"

x=x+姓名+str(year(date())-year(生日),6)

endif

skip

endscan

ion=x

4. 設計如圖所示表單,執行表單後,在文字框text1和text2中都輸入1,單擊“command1”按鈕,文字框text3~6中分別會顯示什麼?

8

Form1的load事件程式碼:public x,y

Command1的click事件程式碼:

x=e   local y

y=e   2()

1() e=x

e=x e=y

e=y    y="5"

自定義方法程式st1:  自定義方法程式st2:

private x x="釣魚島"

x=5 y=x+"是中國的領土"

五.表單程式設計(10分)

“角谷猜想”的內容是:輸入一個自然數,若為偶數除以2,若為奇數乘3加1,得到一個新數後繼續以以上法則演算,經過若干次迴圈,該數一定會變為1。編寫如圖(a)所示的表單程式驗證“角谷猜想”,文字框text1的初值為0,表單執行後,在文字框text1中輸入一個自然數(正整數),在編輯框中輸出演算過程,同時統計迴圈次數,在文字框text2中輸出。如圖(b)所示。請編寫文字框text1的valid事件程式碼。