【精品推荐】Delphi程序员面试笔试题目【含答案】

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

【精品推荐】:Delphi程序员面试笔试题目【含答案】一.选择题(共40道)1.用户开发程序时需要经常在窗体和编辑器窗口之间来回切换,可使用快捷键(A)。A、F12和F11B、F12和F13C、F12和Ctrl+F12D、F12和Alt+F12E、F12和Shift+F122.某函数如下:Functioncheck(n,k:Integer):Integer;Varm:Integer;BeginRepeatm:=nmod10;n:=ndiv10;K:=k-1Untilk=0;Check:=mEnd;若调用语句y:=check(3725,3),运行后y值为:(A)A、7B、5C、2D、03.以下那个组件不可以由用户输入编辑文本(D)A、TEditB、TcomboBoxC、TMaskEditD、TlabelE、TStringGrid4.一个对象类可以继承和直接使用它的父类的所有成员,除了:(B)A、public域B、private域C、protected域和private域D、protected域和方法E、private域和方法5.Delph没有用到的文件类型有(A)。A、.frmB、.pasC、.dfmD、.dprE、.res6.Query组件没有Table组件那样的(B)属性。A、DataSourceB、TableNameC、FilteredD、DatabaseE、UpdateObject7.下面关于属性的论述正确的是(C)。A、属性能实现write方法B、属性能实现read方法C、属性可以只读或只写D、属性可以公开或非公开E、属性不能直接存取8.调试程序时,需要执行执行点所在的源代码行,并停留在下一个源代码行。可通过(B)菜单项进行。A、RunB、StepOverC、TraceIntoD、TraceToNextSourceLineE、RuntoCursor9.设a是布尔变量,其它是整型变量,下面正确的赋值语句是(C)A、x=ydiv7B、x:=y:=z+1C、a:=x=ymodzD、x+y:=zE、x+y=a10.表达式round(4.2)modtrunc(2.8)的值是(A)A、0B、1C、2D、3E、411.下列常量定义合法的是(A)A、CONSTwidth=7;B、CONSTcase=\'7\';C、CONST1A=7.9;D、CONSTcentury=yeardiv100;E、CONST57;12.以下运算符中运算优先级最高的是(D)A、+B、ORC、=D、DIVE、-13.已知a、b、c、d是同类型的简单变量,而且已有互不相同的值,执行下列语句:b:=a;a:=c;d:=a;d:=b;后,其值相等的变量是(A)A、a,cB、a,dC、c,bD、b,aE、无法确定14.已知有说明Varx:real;下列程序段中的错误为:(B)casex=2.0of0:x:=0;1:x:=1endA、case表达式中有常数B、case常量和case表达式类型不一样C、赋值语句两边类型不一致D、case表达式为关系表达式E、case语法不规范15.以下语句的循环执行次数是(B)x:=37;y:=3whiley=xdoy:=y+yA、3B、4C、5D、6E、016.程序ForI:=1to5doforj:=2toIdowriteln(\'*\');输出的\'*\'个数为(B)A、5B、10C、15D、25E、3017.下列函数头合法的是(C)A、functiontotal(x:real);B、procedureab(a,b:real):real;C、proceduresum;D、functionf(varf:real):integer;E、procedureFontListBoxKeyDown(Sender:TObject;varKey:Word;Shift:TShiftState;);18.已知函数如下:functionf(n:integer):integer;beginifn=0thenf:=0elseifn0thenf:=f(n-2)elsef:=f(n+3)end;则调用f(5)的值是(A)A、0B、1C、-1D、-2E、219.下列类型中合法的是(A)A、TYPEa=10..10;B、TYPEb=10..5;C、TYPEc=0..SQRT(10);D、TYPEd=10.0..20.0;E、TYPEe=random(9)..120.已知Vara:array[\'a\'..\'e\',1..4,boolean]ofreal;则数组a中包含的元素的个数为(C)A、5B、20C、40D、11E、2221.已知Vara:array[1..10]ofinteger;k,I:integer;程序段:k:=1;forI:=1to10doifa[i]a[k]thenk:=I;writeln(a[k]);执行后输出的是(B)A、数组中的平均值B、数组中的最大值C、数组中的最小值D、数组中的总和E、无法确定22.已知Varf:fileofinteger;则f所代表的文件是(D)A、ASCII码文件B、二进制文件C、文本文件D、存放整数的文本文件E、HTML文件23.在VCL中(A)是TDBListBox的父类A、TCustomListBoxB、TListBoxC、TDBDatasetD、TDatabaseE、TDBEdit24.为让控件显示弹出式提示框文字,需用到控件的(B)属性A、HandleB、HintC、ShowHintD、ShowingE、Visible25.发生在鼠标左键单击控件时的事件是(C)A、OnMouseDownB、OnMouseUpC、OnClickD、OnDbClickE、OnEnter26.下列值中不是FormStyle属性的可能值的是(E)A、fsNormalB、fsMIDChildC、fsMIDFormD、fsStayOnTopE、fsDeskTop27.使用Delphi多线程的优点是(D)A、程序运行速度加快B、不需要考虑同步访问共享资源与内存C、程序编写更简单D、可以在后台运行线程E、不会是Windows出错28.有多种方法可以在OLE文档接收器中放置对象,但不包括(E)A、使用特定的菜单命令嵌入对象B、从剪贴板粘贴对象,来建立新嵌入对象C、从剪贴板粘贴-链接对象,来建立新嵌入对象D、由服务器生成的文件中建立新对象。E、通过ODBC接口,传递对象29.用于异常处理的关键字不包括(E)A、tryB、exceptC、finallyD、raiseE、error30.以下说法不正确的是(C)A、VCL组件是Delphi最有效和最有用的组件B、COM是OLE和ActiveX的基础C、COM对象可用于任何Windows编程环境D、VCL组件是COM对象E、典型的COM对象包含在扩展名为.DLL或.OCX的文件中31.Delphi中取值范围0到255的数据类型是(B)A、ShortInt(-128~127)B、Byte0~255C、SmallInt-32768~32767D、RealE、Word32.以下关于事件的说法不正确的是(C)A、不一定要响应某个组件所定义的所有事件B、多个组件可以共享同一个事件处理程序C、根据需要可以响应任何组件的事件D、单击ObjectInspector中的事件处理程序名,CodeEditor将自动进入该事件的代码段。E、事件的Sender参数是用来决定哪个组件产生了此事件二.是非题(共20道)1.从主菜单上选择Project|SyntaxCheck菜单选项,Delphi将编译从上次编译后有改动的任何单元,并报出遇到的错误。(T)2.Delphi的VCL对象有些是指针,从堆栈中分配空间,有些则不是。(T)3.粘贴时,如果作为容器的组件已被选择,剪贴板中的组件会当作容器组件的子组件来粘贴(T)4.在由Delphi管理的窗体类声明段中加进任何代码都会引起程序出错。(F)5.Delphi可以在一个报表中使用一个以上的明细区(T)6.Delphi可以象其它开发工具一样使用传统的资源,比如菜单可以作为资源加载,以利于实现多国语言环境。(F)7.创建组件时可以定义属性的缺省值,但字符串属性不能有缺省值。(F)8.声明一个常量后,在程序中则不可以改变这个常量的值。(F)9.构造子必须通过类的一个有效实例来激活。(F)10.在设计阶段ObjectInspector显示被选组件的所有属性。(F)11.在DelphiIDE中,按住Shift键,同时单击ComponentsPalette上的组件图标,可以在窗体内放置多个同类组件。(T)12.为减少编程中的错误,用户可以使用Delphi提供的系统函数IsValidIdent检验字符串是否合法。(F)13.用户如果不在一个完整的事件响应过程添加任何代码,当保存或编译该项目时,该过程将被自动清除。(T)14.使用RuntimePackages技术可以将原先独立的可执行文件分解为动态链接库加上小的可执行文件,这样作的好处是所占磁盘空间比一个独立的可执行文件小。(F)15.Delphi和VB一样不能产生真正的可执行代码(本机代码),但是Delphi开发的程序比VB的运行速度快。(F)16.大多数组件的属性可以在运行时改变,而且,有些只能在运行时刻改变。(T)17.对于用户的Delphi工程中创建的窗体及其组件的属性都保存在一个独立的描述文件,即扩展名为DSK的文件中。(F)18.Search菜单的FindError命令是用来寻找运行时的错误,而不是寻找编译错误。(T)19.Enabled属性不适用于非可视组件。(F)20.Delphi采用基于对象的引用模式,即类的每一个变量不保存对象的值,而保存一个引用或一个指针来说明对象存储的内存位置。(F)三.改错题(共4道)1.指出下列代码错误并说明原因:VarI:Integer;(超出范围)L:Long;BeginL:=32768;I:=L;End.2.指出下列代码错误并说明原因:ifn37.5thenAmountEarned:=(n-37.5)*HourlyRate*1.5+37.5*HourlyRate;(else前面有分号)elseAmountEarned:=n*HourlyRate;3.指出下列代码错误并说明原因:while(totalmax)and(sum=max)and(sumtotal)dostatement1;代码运行没有错误,但是逻辑上sumtotalmax,所以sum=max不需要等于4.指出下列代码错误并说明原因:procedureTform1.TestBtnClick(Sender:Tobject);varz,y,x:integer;beginx:=100;y:=0;tryz:=xdivy;exceptonEdivByZerodobeginz:=-1;MessageDlg(\'Z\'+IntToStr(z),mtInformation,[mbOK],0);endEnd;不能触发异常,因为Z的值没有被引用四.问答题(共3道)1.在Delphi中,对话框与子窗口有什么不同?答:delphi中对话框实现的是WinAPI函数的封装,程序编译运行时,源代码中占用资源很小,子窗体相对大一些,此外,子窗体是一个类,可以很方便的进行继承和重载。2.使用私有域和方法的目的是什么?答:不允许派生类和实例访问,实现更好地封装和保护自己的类,清楚地向用户表明,他们无需关心这些与他们无关的项。3请叙述进程与线程的区别和联系?答:在支持线程的操作系统中,进程是分配资源的最小单位,线程是独立运行的最小单位。每个进程至少有一个线程,我们称之为主线程。一个进程可以创建、拥有多个线程。4请说出ADOQuery.ExecSQL与ADOQuery.open的区别?答:当adoquery执行的是select操作时,使用OPEN用来打开数据集;当adoquery执行的是没有返回数据集的SQL语句(insert,delete

1 / 8
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功