- 相關(guān)推薦
Delphi程序員筆試真題
從小學(xué)、初中、高中到大學(xué)乃至工作,我們很多時候都會有考試,接觸到考試真題,考試真題是命題者根據(jù)一定的考核需要編寫出來的。你知道什么樣的考試真題才算得上好考試真題嗎?下面是小編收集整理的Delphi程序員筆試真題,歡迎大家分享。
Delphi程序員筆試真題 1
Delphi程序員筆試真題
一. 選擇題(共40道)
1. 用戶開發(fā)程序時需要經(jīng)常在窗體和編輯器窗口之間來回切換,可使用快捷鍵()。
A、 F12和F11
B、 F12和F13
C、 F12和Ctrl+F12
D、 F12和Alt+F12
E、F12和Shift+F12
2. 某函數(shù)如下:
Function check(n,k:Integer):Integer;
Var m:Integer;
Begin
Repeat
m:=n mod 10;
n:=n div 10;
K:=k-1
Until k=0;
Check:=m
End;
若調(diào)用語句y:=check(3725,3),運行后y值為:()
A、 7
B、 5
C、 2
D、 0
3. 以下那個組件不可以由用戶輸入編輯文本()
A、 TEdit
B、 TcomboBox
C、 TMaskEdit
D、 Tlabel
E、 TStringGrid
4. 一個對象類可以繼承和直接使用它的父類的所有成員,除了:()
A、 public域
B、 private域
C、 protected域和private域
D、 protected域和方法
E、 private域和方法
5. Delph沒有用到的文件類型有()。
A、.frm
B、.pas
C、.dfm
D、.dpr
E、.res
6. Query組件沒有Table組件那樣的( )屬性。
A、 DataSource
B、 TableName
C、 Filtered
D、 Database
E、 UpdateObject
7. 下面關(guān)于屬性的論述正確的是()。
A、 屬性能實現(xiàn)write方法
B、 屬性能實現(xiàn)read方法
C、 屬性可以只讀或只寫
D、 屬性可以公開或非公開
E、屬性不能直接存取
8. 調(diào)試程序時,需要執(zhí)行執(zhí)行點所在的源代碼行,并停留在下一個源代碼行。可通過()菜單項進(jìn)行。
A、 Run
B、 Step Over
C、 Trace Into
D、 Trace To Next Source Line
E、Run to Cursor
9. 設(shè)a是布爾變量,其它是整型變量,下面正確的賦值語句是( )
A、 x=y div 7
B、 x:=y:=z+1
C、 a:=x=y mod z
D、 x+y:=z
E、x+y=a
10. 表達(dá)式round(4.2) mod trunc(2.8)的值是( )
A、 0
B、 1
C、 2
D、 3
E、 4
11. 下列常量定義合法的是( )
A、 CONST width=7;
B、 CONST case=\7\;
C、 CONST 1A=7.9;
D、 CONST century=year div 100;
E、 CONST 5<>7;
12. 以下運算符中運算優(yōu)先級最高的是( )
A、 +
B、 OR
C、 >=
D、 DIV
E、 -
13. 已知a、b、c、d是同類型的簡單變量,而且已有互不相同的值,執(zhí)行下列語句:
b:=a; a:=c; d:=a; d:=b; 后,其值相等的變量是()
A、 a,c
B、 a,d
C、 c,b
D、 b,a
E、 無法確定
14. 已知有說明Var x:real;下列程序段中的錯誤為:( )
case x<=2.0 of
0:x:=0;
1:x:=1
end
A、 case表達(dá)式中有常數(shù)
B、 case常量和case表達(dá)式類型不一樣
C、 賦值語句兩邊類型不一致
D、 case表達(dá)式為關(guān)系表達(dá)式
E、 case語法不規(guī)范
15. 以下語句的循環(huán)執(zhí)行次數(shù)是( )
x:=37; y:=3
while y<=x do y:=y+y
A、 3
B、 4
C、 5
D、 6
E、 0
16. 程序 For I:=1 to 5 do
for j:=2 to I do
writeln(\*\);
輸出的\*\個數(shù)為( )
A、 5
B、 10
C、 15
D、 25
E、 30
17. 下列函數(shù)頭合法的是( )
A、 function total(x:real);
B、 procedure ab(a,b:real):real;
C、 procedure sum;
D、 function f(var f:real):integer;
E、 procedure FontListBoxKeyDown(Sender: TObject; var Key: Word;
Shift: TShiftState;);
18. 已知函數(shù)如下:
function f(n:integer):integer;
begin
if n=0 then f:=0
else if n>0 then f:=f(n-2)
else f:=f(n+3)
end;
則調(diào)用f(5)的值是( )
A、 0
B、 1
C、 -1
D、 -2
E、 2
19. 下列類型中合法的是( )
A、 TYPE a=10..10;
B、 TYPE b=10..5;
C、 TYPE c=0..SQRT(10);
D、 TYPE d=10.0..20.0;
E、 TYPE e=random(9)..1
20. 已知 Var a:array[\a\..\e\,1..4,boolean] of real;
則數(shù)組a中包含的元素的個數(shù)為()
A、 5
B、 20
C、 40
D、 11
E、 22
21. 已知 Var a:array[1..10] of integer;
k,I:integer;
程序段:
k:=1;
for I:=1 to 10 do
if a[i]>a[k] then
k:=I;
writeln(a[k]);
執(zhí)行后輸出的是( )
A、 數(shù)組中的平均值
B、 數(shù)組中的最大值
C、 數(shù)組中的最小值
D、 數(shù)組中的總和
E、 無法確定
22. 已知Var f:file of integer;則f所代表的文件是( )
A、 ASCII碼文件
B、 二進(jìn)制文件
C、 文本文件
D、 存放整數(shù)的文本文件
E、 HTML文件
23. 在VCL中( )是TDBListBox的父類
A、 TCustomListBox
B、 TListBox
C、 TDBDataset
D、 TDatabase
E、TDBEdit
24. 為讓控件顯示彈出式提示框文字,需用到控件的()屬性
A、 Handle
B、 Hint
C、 ShowHint
D、 Showing
E、Visible
25. 發(fā)生在鼠標(biāo)左鍵單擊控件時的事件是()
A、 OnMouseDown
B、 OnMouseUp
C、 OnClick
D、 OnDbClick
E、OnEnter
26. 下列值中不是FormStyle屬性的可能值的是( )
A、 fsNormal
B、 fsMIDChild
C、 fsMIDForm
D、 fsStayOnTop
E、fsDeskTop
27. 使用Delphi多線程的'優(yōu)點是( )
A、程序運行速度加快
B、不需要考慮同步訪問共享資源與內(nèi)存
C、程序編寫更簡單
D、可以在后臺運行線程
E、不會是Windows出錯
28. 有多種方法可以在OLE文檔接收器中放置對象,但不包括( )
A、使用特定的菜單命令嵌入對象
B、從剪貼板粘貼對象,來建立新嵌入對象
C、從剪貼板粘貼-鏈接對象,來建立新嵌入對象
D、由服務(wù)器生成的文件中建立新對象
E、通過ODBC接口,傳遞對象
29. 用于異常處理的關(guān)鍵字不包括( )
A、try
B、except
C、finally
D、raise
E、error
30. 以下說法不正確的是( )
A、VCL組件是Delphi最有效和最有用的組件
B、COM是OLE和ActiveX的基礎(chǔ)
C、COM對象可用于任何Windows編程環(huán)境
D、VCL組件是COM對象
E、典型的COM對象包含在擴展名為.DLL或.OCX的文件中
31. Delphi中取值范圍0到255的數(shù)據(jù)類型是()
A、ShortInt (-128~127)
B、Byte 0~255
C、SmallInt -32768~32767
D、Real
E、Word
32. 以下關(guān)于事件的說法不正確的是( )
A、不一定要響應(yīng)某個組件所定義的所有事件
B、多個組件可以共享同一個事件處理程序
C、根據(jù)需要可以響應(yīng)任何組件的事件
D、單擊Object Inspector中的事件處理程序名,Code Editor將自動進(jìn)入該事件的代碼段。
E、事件的Sender參數(shù)是用來決定哪個組件產(chǎn)生了此事件
二. 是非題(共20道)
1. 從主菜單上選擇Project|Syntax Check菜單選項,Delphi將編譯從上次編譯后有改動的任何單元,并報出遇到的錯誤。( )
2. Delphi的VCL對象有些是指針,從堆棧中分配空間,有些則不是。( )
3. 粘貼時,如果作為容器的組件已被選擇,剪貼板中的組件會當(dāng)作容器組件的子組件來粘貼( )
4. 在由Delphi 管理的窗體類聲明段中加進(jìn)任何代碼都會引起程序出錯。( )
5. Delphi 可以在一個報表中使用一個以上的明細(xì)區(qū)( )
6. Delphi 可以象其它開發(fā)工具一樣使用傳統(tǒng)的資源,比如菜單可以作為資源加載,以利于實現(xiàn)多國語言環(huán)境。( )
7. 創(chuàng)建組件時可以定義屬性的缺省值,但字符串屬性不能有缺省值。( )
8. 聲明一個常量后,在程序中則不可以改變這個常量的值。( )
9. 構(gòu)造子必須通過類的一個有效實例來激活。( )
10. 在設(shè)計階段Object Inspector顯示被選組件的所有屬性。( )
11. 在Delphi IDE中,按住Shift鍵,同時單擊Components Palette上的組件圖標(biāo),可以在窗體內(nèi)放置多個同類組件。( )
12. 為減少編程中的錯誤,用戶可以使用Delphi提供的系統(tǒng)函數(shù)IsValidIdent檢驗字符串是否合法。( )
13. 用戶如果不在一個完整的事件響應(yīng)過程添加任何代碼,當(dāng)保存或編譯該項目時,該過程將被自動清除。(1)
14. 使用Runtime Packages技術(shù)可以將原先獨立的可執(zhí)行文件分解為動態(tài)鏈接庫加上小的可執(zhí)行文件,這樣作的好處是所占磁盤空間比一個獨立的可執(zhí)行文件小。( )
15. Delphi和VB一樣不能產(chǎn)生真正的可執(zhí)行代碼(本機代碼),但是Delphi開發(fā)的程序比VB的運行速度快。( )
16. 大多數(shù)組件的屬性可以在運行時改變,而且,有些只能在運行時刻改變。()
17. 對于用戶的Delphi工程中創(chuàng)建的窗體及其組件的屬性都保存在一個獨立的描述文件,即擴展名為DSK的文件中。( )
18. Search菜單的Find Error命令是用來尋找運行時的錯誤,而不是尋找編譯錯誤。()
19. Enabled屬性不適用于非可視組件。( )
20. Delphi采用基于對象的引用模式,即類的每一個變量不保存對象的值,而保存一個引用或一個指針來說明對象存儲的內(nèi)存位置。( )
三. 改錯題(共4道)
1. 指出下列代碼錯誤并說明原因:
Var
I:Integer;(超出范圍)
L:Long;
Begin
L:=32768;
I:=L;
End.
2. 指出下列代碼錯誤并說明原因:
if n>37.5 then
AmountEarned:=(n-37.5)*HourlyRate*1.5+37.5*HourlyRate; (沒有定義n, AmountEarned, HourlyRate)
else
AmountEarned:= n*HourlyRate;
3. 指出下列代碼錯誤并說明原因:
while (total do statement1; 4. 指出下列代碼錯誤并說明原因: procedure Tform1.TestBtnClick(Sender:Tobject); var z,y,x:integer; begin x:=100; y:=0; try z:=x div y; except on EdivByZero do begin z:=-1; MessageDlg(\Z\+IntToStr(z),mtInformation,[mbOK],0); end End; 四. 問答題(共3道) 1. 在Delphi中,對話框與子窗口有什么不同? 答: 2. 使用私有域和方法的目的是什么? 答: 3 請敘述進(jìn)程與線程的區(qū)別和聯(lián)系? 答: 4 請說出ADOQuery. ExecSQL與ADOQuery.open的區(qū)別? 答:ExecSQL 用于執(zhí)行沒有返回數(shù)據(jù)機的SQL語句,如刪除指定的記錄,插入記錄數(shù)據(jù),修改記錄數(shù)據(jù)等操作 OPEN 用來打開數(shù)據(jù)集,其作用與將active屬性設(shè)置為true相同 五. 編程題(共3道) 1. 計算并輸出300至500以內(nèi)所有素數(shù)(即質(zhì)數(shù))中最大的前10個數(shù)之和k與300至500以內(nèi)所有素數(shù)的個數(shù)j,并將結(jié)果輸出到文件mydata.dat中。 2. 在Tform1.FormActive事件中編寫代碼,要求包括一個循環(huán),在屏幕上隨機的位置上用不同的顏色連續(xù)畫線。 3. 請你針對test_tab表利用delphi寫出完成對數(shù)據(jù)庫查詢,刪除,插入,修改程序(其中相應(yīng)字段有:name 類型char,age 類型char,birthday類型 datatime,條件參數(shù)可以自定義); 六. 設(shè)計題(共1道) 設(shè)計一個實用的Windows字體選擇列表窗口。要求: 1) 用戶可以在列表框中(TListBox)選擇字體 2) 用戶可以在微調(diào)框中(TSpinEdit)調(diào)整字體大小 3) 字體與大小以所見即所得的方式顯示出來 答案: 一、A A D B A B C C C A A D A B B B C? A A C B D A B C E D E E C? B D 二、 T T T F T F F F F F T F T F F T F T F F? 三、1、超出整數(shù)范圍 2、else 前面有分號 3、代碼運行沒有錯誤,但是邏輯上sum 4、不能觸發(fā)異常,因為Z的值沒有被引用。 四、1、delphi中對話框?qū)崿F(xiàn)的是WinAPI函數(shù)的封裝,程序編譯運行時,源代碼中占用資源很小,子窗體相對大一些,此外,子窗體是一個類,可以很方便的進(jìn)行繼承和重載。 2、不允許派生類和實例訪問,實現(xiàn)更好地封裝和保護自己的類,清楚地向用戶表明,他們無需關(guān)心這些與他們無關(guān)的項。 3、在支持線程的操作系統(tǒng)中,進(jìn)程是分配資源的最小單位,線程是獨立運行的最小單位。每個進(jìn)程至少有一個線程,我們稱之為主線程。一個進(jìn)程可以創(chuàng)建、擁有多個線程。 4、當(dāng)adoquery執(zhí)行的是select操作時,使用OPEN 用來打開數(shù)據(jù)集;當(dāng)adoquery執(zhí)行的是沒有返回數(shù)據(jù)集的SQL語句( ,,update,create table等)時,使用ExecSQL執(zhí)行。 F5可以設(shè)置斷點,F7是單步跟蹤,F8是單步跟蹤(不進(jìn)入子函數(shù)), SHIFT + F7 是用于跟蹤匯編代碼 SHIFT + F8 是運行到此函數(shù)或過程結(jié)束處. F4 是運行到光標(biāo)處. 然后可以選擇你喜歡的方法自由跟蹤. 你調(diào)試的時候在CPU窗口就會知道F7以及Shift+F7的差別了:) 1、下列設(shè)備中,既能向主機輸入數(shù)據(jù)又能接收主機輸出數(shù)據(jù)的設(shè)備是 A、CD—ROM B、顯示器 C、軟磁盤驅(qū)動器 D、光筆 2、在計算機領(lǐng)域中,通常用英文單詞"BYTE"來表示 A、字 B、字長 C、二進(jìn)制位 D、字節(jié) 3、某工廠的倉庫管理軟件屬于 A、應(yīng)用軟件 B、系統(tǒng)軟件 C、工具軟件 D、字處理軟件 4、微型計算機的主機包括 A、運算器和顯示器 B、CPU和內(nèi)存儲器 C、CPU和UPS D、UPS和內(nèi)存儲器 5、下面四條常用術(shù)語的敘述中,有錯誤的一條是 A、光標(biāo)是顯示屏上指示位置的標(biāo)志 B、匯編語言是一種面向機器的.低級程序設(shè)計語言,用匯編語言編寫的源程序計算機能直接執(zhí)行 C、總線是計算機系統(tǒng)中各部件之間傳輸信息的公共通路 D、讀寫磁頭是既能從磁表面存儲器讀出信息又能把信息寫入磁表面存儲器的裝置 參考答案:1—5 CDABB 6、下列字符中,其ASCII碼值最大的是 A、9 B、D C、a D、y 7、下列四個無字符十進(jìn)制整數(shù)中,能用八個二進(jìn)制位表示的是 A、257 B、201 C、313 D、296 8、計算機病毒是指 A、編制有錯誤的計算機程序 B、設(shè)計不完善的計算機程序 C、計算機的程序已被破壞 D、以危害系統(tǒng)為目的的特殊的計算機程序 9、在計算機應(yīng)用中,"計算機輔助設(shè)計"的英文縮寫為 A、CAD B、CAM C、CAE D、CAT 10、WINDOW98系統(tǒng)安裝并啟動后,由系統(tǒng)安排在桌面上的圖標(biāo)是 A、資源管理器 B、回收站 C、MICROSOFTWORD D、MICROSOFTFOXPRO 參考答案:6—10 DBDAB 1.下面是關(guān)于解釋程序和編譯程序的論述,其中正確的一條是 A.編譯程序和解釋程序均能產(chǎn)生目標(biāo)程序 B.編譯程序和解釋程序均不能產(chǎn)生目標(biāo)程序 C.編譯程序能產(chǎn)生目標(biāo)程序而解釋程序則不能 D.編譯程序不能產(chǎn)生目標(biāo)程序而解釋程序能 2.下面是與地址有關(guān)的四條論述,其中有錯的一條是 A.地址寄存器是用來存儲地址的寄存器 B.地址碼是指令中給出源操作數(shù)地址或運算結(jié)果的目的地址的有關(guān)信息部分 C.地址總線上既可傳送地址信息,也可傳送控制信息和其他信息 D.地址總線上除傳送地址信息外,不可以用于傳輸控制信息和其它信息 3.下列四個不同數(shù)制表示的數(shù)中,數(shù)值最大的'是 A.二進(jìn)制數(shù)11011101 B.八進(jìn)制數(shù)334 C.十進(jìn)制數(shù)219 D.十六進(jìn)制數(shù)DA 4.設(shè)WlndowS98桌面上已經(jīng)有某應(yīng)用程序的圖標(biāo),要運行該程序,可以 A.用鼠標(biāo)左鍵單擊該圖標(biāo) B.用鼠標(biāo)右鍵單擊該圖標(biāo) C.用鼠標(biāo)左鍵雙擊該圖標(biāo) D.用鼠標(biāo)右鍵雙擊該圖標(biāo) 5.Windows98中的"剪貼板"是 A.硬盤中的一塊區(qū)域 B.軟盤中的一塊區(qū)域 C.高速緩存中的一塊區(qū)域 D.內(nèi)存中的一塊區(qū)域 參考答案:1-5 CCACD 6.下面是關(guān)于Windows98文件名的敘述,錯誤的是 A.文件名中允許使用漢字 B.文件名中允許使用多個圓點分隔符 C.文件名中允許使用空格 D.文件名中允許使用豎線("|") 7.當(dāng)選定文件或文件夾后,不將文件或文件夾放到"回收站"中,而直接刪除的操作是 A.按Delete(Del.鍵 B.用鼠標(biāo)直接將文件或文件夾拖放到"回收站"中 C.按Shift+Delete(Del.鍵 D.用"我的電腦"或"資源管理器"窗口中"文件"菜單中的刪除命令 8.在Windows98中,不能進(jìn)行打開"資源管理器"窗口的操作是 A.用鼠標(biāo)右鍵單擊"開始"按鈕 B.用鼠標(biāo)左鍵單擊"任務(wù)欄"空白處 C.用鼠標(biāo)左鍵單擊"開始"菜單中"程序"下的"Windows資源管理器"項 D.用鼠標(biāo)右鍵單擊"我的電腦"圖標(biāo) 9.在使用Windows98的過程中,若出現(xiàn)鼠標(biāo)故障。在不能使用鼠標(biāo)的情況下,可以打開"開始"菜單的操作是 A.按Shift+Tab鍵 B.按Ctrl十Shift鍵 C.按Ctrl+Esc鍵 D.按空格鍵 10.在Windows98的"我的電腦"窗口中,若已選定了文件或文件夾,為了設(shè)置其屬性,可以打開屬性對話框的操作是 A.用鼠標(biāo)右鍵單擊"文件"菜單中的"屬性"命令 B.用鼠標(biāo)右鍵單擊該文件或文件夾名,然后從彈出的快捷菜單中選"屬性"項 C.用鼠標(biāo)右鍵單擊"任務(wù)欄"中的空白處,然后從彈出的快捷菜單中選擇"屬性"項 D.用鼠標(biāo)右鍵單擊"查看"菜單中"工具欄"下的"屬性"圖標(biāo) 參考答案:6-10 DCBCB 【Delphi程序員筆試真題】相關(guān)文章: Delphi程序員筆試題08-10 Delphi程序員筆試題目(選擇題)07-08 Delphi程序員判斷題筆試題目10-24 Delphi筆試(是非題)08-24 搜狐筆試真題編程筆試真題10-25 DELPHI筆試題06-22 麥當(dāng)勞筆試真題筆試智力題11-06 NVIDIA筆試真題06-26 微軟筆試真題07-04 Delphi程序員筆試真題 2
Delphi程序員筆試真題 3