DELPHI笔试题1
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
则调用 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; 则数组 a 中包含的元素的个数为() 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]); 执行后输出的是( ) A、 数组中的平均值 B、 数组中的最大值 C、 数组中的最小值 D、 数组中的总和 E、 无法确定 22. 已知 Var f:file of integer;则 f 所代表的文件是( ) A、 ASCII 码文件 B、 二进制文件 C、 文本文件 D、 存放整数的文本文件 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. 发生在鼠标左键单击控件时的事件是() A、 OnMouseDown B、 OnMouseUp C、 OnClick D、 OnDbClick 26. 下列值中不是 FormStyle 属性的可能值的是( ) A、 fsNormal B、 fsMIDChild C、 fsMIDForm D、 fsStayOnTop E、fsDeskTop 27. 使用 Delphi 多线程的优点是( ) A、程序运行速度加快 B、不需要考虑同步访问共享资源与内存 C、程序编写更简单
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 表达式中有常数 B、 case 常量和 case 表达式类型不一样 C、 赋值语句两边类型不一致 D、 case 表达式为关系表达式 E、 case 语法不规范 15. 以下语句的循环执行次数是( ) 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(\'*\'); 输出的\'*\'个数为( ) A、 5 B、 10 C、 15 D、 25 E、 30 17. 下列函数头合法的是( ) 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. 已知函数如下: 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;
Delphi 程序员笔试题目 [qutingid 发表于 2007-1-15 15:21:00] 一. 选择题(共 40 道) 1. 用户开发程序时需要经常在窗体和编辑器窗口之间来回切换,可使用快捷键()。 A、 F12 和 F11 B、 F12 和 F13 C、 F12 和 Ctrl+F12 D、 F12 和 Alt+F12 E、F12 和 Shift+F12 2. 某函数如下: 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; 若调用语句 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. 下面关于属性的论述正确的是()。 A、 属性能实现 write 方法 B、 属性能实现 read 方法 C、 属性可以只读或只写 D、 属性可以公开或非公开 E、属性不能直接存取 8. 调试程序时,需要执行执行点所在的源代码行,并停留在下一个源代码行。可通过()菜单项进行。 A、 Run B、 Step Over C、 Trace Into D、 Trace To Next Source Line E、Run to Cursor 9. 设 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. 表达式 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. 以下运算符中运算优先级最高的是( ) A、 + B、 OR C、 >= D、 DIV E、 13. 已知 a、b、c、d 是同类型的简单变量,而且已有互不相同的值,执行下列语句: b:=a; a:=c; d:=a; d:=b; 后,其值相等的变量是()
E、OnEnter
D、可以在后台运行线程 E、不会是 Windows 出错 28. 有多种方法可以在 OLE 文档接收器中放置对象,但不包括( ) A、使用特定的菜单命令嵌入对象 B、从剪贴板粘贴对象,来建立新嵌入对象 C、从剪贴板粘贴-链接对象,来建立新嵌入对象 D、由服务器生成的文件中建立新对象。 E、通过 ODBC 接口,传递对象 29. 用于异常处理的关键字不包括( ) A、try B、except C、finally D、raise E、error 30. 以下说法不正确的是( ) A、VCL 组件是 Delphi 最有效和最有用的组件 B、COM 是 OLE 和 ActiveX 的基础 C、COM 对象可用于任何 Windows 编程环境 D、VCL 组件是 COM 对象 E、典型的 COM 对象包含在扩展名为.DLL 或.OCX 的文件中 31. Delphi 中取值范围 0 到 255 的数据类型是() A、ShortInt (-128~127) B、Byte 0~255 C、SmallInt -32768~32767 D、Real E、Word 32. 以下关于事件的说法不正确的是( ) A、不一定要响应某个组件所定义的所有事件 B、多个组件可以共享同一个事件处理程序 C、根据需要可以响应任何组件的事件 D、单击 Object Inspector 中的事件处理程序名,Code Editor 将自动进入该事件的代码段。 E、事件的 Sender 参数是用来决定哪个组件产生了此事件 二. 是非题(共 20 道) 1. 从主菜单上选择 Project|Syntax Check 菜单选项,Delphi 将编译从上次编译后有改动的任何单元,并报出遇到的错 误。( ) 2. Delphi 的 VCL 对象有些是指针,从堆栈中分配空间,有些则不是。( ) 3. 粘贴时,如果作为容器的组件已被选择,剪贴板中的组件会当作容器组件的子组件来粘贴( ) 4. 在由 Delphi 管理的窗体类声明段中加进任何代码都会引起程序出错。( ) 5. Delphi 可以在一个报表中使用一个以上的明细区( ) 6. Delphi 可以象其它开发工具一样使用传统的资源,比如菜单可以作为资源加载,以利于实现多国语言环境。( ) 7. 创建组件时可以定义属性的缺省值,但字符串属性不能有缺省值。( ) 8. 声明一个常量后,在程序中则不可以改变这个常量的值。( ) 9. 构造子必须通过类的一个有效实例来激活。( ) 10. 在设计阶段 Object Inspector 显示被选组件的所有属性。( ) 11. 在 Delphi IDE 中,按住 Shift 键,同时单击 Components Palette 上的组件图标,可以在窗体内放置多个同类组件。 ( ) 12. 为减少编程中的错误,用户可以使用 Delphi 提供的系统函数 IsValidIdent 检验字符串是否合法。( ) 13. 用户如果不在一个完整的事件响应过程添加任何代码,当保存或编译该项目时,该过程将被自动清除。(1) 14. 使用 Runtime Packages 技术可以将原先独立的可执行文件分解为动态链接库加上小的可执行文件, 这样作的好处 是所占磁盘空间比一个独立的可执行文件小。( ) 15. Delphi 和 VB 一样不能产生真正的可执行代码(本机代码),但是 Delphi 开发的程序比 VB 的运行速度快。( ) 16. 大多数组件的属性可以在运行时改变,而且,有些只能在运行时刻改变。() 17. 对于用户的 Delphi 工程中创建的窗体及其组件的属性都保存在一个独立的描述文件,即扩展名为 DSK 的文件中。
百度文库
() 18. Search 菜单的 Find Error 命令是用来寻找运行时的错误,而不是寻找编译错误。() 19. Enabled 属性不适用于非可视组件。( ) 20. Delphi 采用基于对象的引用模式, 即类的每一个变量不保存对象的值, 而保存一个引用或一个指针来说明对象存储 的内存位置。( ) 三. 改错题(共 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<max) and (sum<=max) and (sum<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 请叙述进程与线程的区别和联系? 答: 4 请说出 ADOQuery. ExecSQL 与 ADOQuery.open 的区别? 答:ExecSQL 用于执行没有返回数据机的 SQL 语句,如删除指定的记录,插入记录数据,修改记录数据等操作