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