您好,欢迎来到汇意旅游网。
搜索
您的当前位置:首页delphi模拟试题10

delphi模拟试题10

来源:汇意旅游网
本试卷命题与审核:

命题单位(盖章) 教研室主任审核签名 领导审核签名

荆州职业技术学院×××学年度第××学期 《delphi程序设计》期末考试试卷

系 班级 姓名 学号 成绩

一. 选择题(20*2)

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. 已知 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、 无法确定

10. 已知Var f:file of integer;则f所代表的文件是( ) A、 ASCII码文件 B、 二进制文件

C、 文本文件

D、 存放整数的文本文件 E、 HTML文件

11.关于记录与类的说法错误的是:() A.记录没有继承关系,而类有 B.不能自动对记录的域初始化

C.类可以使用with语句而记录不能

D.记录没有任何保密性,所有细节从外部都是可见的,或者说是公用的。 12.以下不合法的数组是:() A.arr:Array of Class B.arr:Array of TButton C.arr:Array of byte D.arr:Array of string

13.下列关于dfm文件的一些说明哪个是正确的?()

A.dfm文件中包含了对应Pascal单元文件的编译后中间代码

B.dfm文件是文本文件,用于保存编译器需要用到的Pascal文件的符号表 C.dfm文件保存着一个窗体和窗体拥有的对象的Published属性

D.dfm文件是编译时产生的符号表,是为了使优化提高编译速度而产生的。 14.请判断下列代码在程序关闭时,正确的对象释放顺序() TMybutton=class(Tbutton) Protected

Destructor Destroy;override; End;

„„„„.

destructor TMyButton.Destroy; Begin inherited;

Application.MessageBox(PChar(Name),’Destroy’,mb_ok); end;

var AButton,BButton:TMyButton;

procedure TForm1.FormCreate(Sender:TObject); begin

Abutton:=TmyButton.Create(Nil); With AButton do begin

Parent:=form1; Top:=100; Left:=100; Visible:=True; Name:=’ABtn’; end;

BButton:=TMyButton.Create(Application); With BButton do begin

Parent:=Form1; Top:=100; Left:=200; Visible:=True; Name:=’BBtn’; end;

procedure TForm1.FormDestroy(Sender:TObject); begin …… end;

A.BButton.Destroy->Form1.Destroy->AButton.Destroy

B.上述都不对,应该手工调用Abutton.free,否则会造成AButton没有释放的错误 C.Form1.Destroy->AButton.Destroy->BButton.Destroy D.AButton.Destroy->Form1.Destroy->BButton.Destroy 15. 以下语句的循环执行次数是( ) x:=37; y:=3

while y<=x do y:=y+y A、 3 B、 4 C、 5 D、 6 E、 0

16.$ELSEIF属于编译命令中的哪种类型?( )

A.条件编译器命令B.开关编译器命令C.参数编译器命令D.循环编译器命令 17.下列组件中哪种属于非可视组件?( )

A.Tbutton B.Timage C.Tlabel D.TopenDialog 18.非可视组件是从哪个类派生出来的?( )

A.TObjectB.Tcontrol C.Tcomponent D.persistent 19.下列哪条语句将方法UnWay定义为静态的?( )

A.ProcedureUnWay:messagewm_News;B.ProcedureUnWay;C.ProcedureUnWay:dynamic;D.ProcedureUnWay:virtual;

20.组合框ComboBox中的数据在哪个属性中添加?( ) A.Text B.Items C.DragDownCount D.Sorted

二.判断题(10*2)

1. 从主菜单上选择Project|Syntax Check菜单选项,Delphi将编译从上次编译后有改动的任何单元,并报出遇到的错误。( )

2. Delphi的VCL对象有些是指针,从堆栈中分配空间,有些则不是。( )

3. 粘贴时,如果作为容器的组件已被选择,剪贴板中的组件会当作容器组件的子组件来粘贴( )

4. 在由Delphi 管理的窗体类声明段中加进任何代码都会引起程序出错。( ) 5. Delphi 可以在一个报表中使用一个以上的明细区( )

6. 大多数组件的属性可以在运行时改变,而且,有些只能在运行时刻改变。()

7. 对于用户的Delphi工程中创建的窗体及其组件的属性都保存在一个的描述文件,

即扩展名为DSK的文件中。( )

8. Search菜单的Find Error命令是用来寻找运行时的错误,而不是寻找编译错误。() 9. Enabled属性不适用于非可视组件。( )

10. Delphi采用基于对象的引用模式,即类的每一个变量不保存对象的值,而保存一个引用或一个指针来说明对象存储的内存位置。( )

三.问答题(2*8)

1、 请叙述进程与线程的区别和联系? 答:

2、 请说出ADOQuery. ExecSQL与ADOQuery.open的区别? 答:

五. 编程题(3*8) 1、“鸡兔同笼”问题。鸡有2只脚,兔有4只脚,如果已知鸡和兔的总数为h,总脚数为f。问笼中鸡和兔各有多少只?

2、利用数组求出任意10个数的最大值和最小值。

《delphi程序设计》期末考试试卷

一、单项选择题(每题2分,共30分)

1 A 11 C 2 A 12 A 3 D 13 C 4 B 14 B 5 A 15 B 6 B 16 A 7 C 17 D 8 C 18 C 9 B 19 B 10 D 20 B 二、判断题(请在正确的题后画“T ”错误的题后画“F”每题2分共20分)

1 T 2 T 3 T 4 F 5 T 6 T 7 F 8 T 9 F 10 F 三、 简答题(每小题8分,共16分) 1、 在支持线程的操作系统中,A.进程是分配资源的最小单位,B.线程是运行的最小单位。C.每个进程至少有一个线程,我们称之为主线程。D.一个进程可以创建、拥有多个线程。 评分标准:每回答一个小点2分,全部回答出4点的得满分8分

2、 A.当adoquery执行的是select操作时,使用OPEN 用来打开数据集;B当adoquery执行的是没有返回数据集的SQL语句(insert ,delete,update,create table等)时,使用ExecSQL执行。

评分标准:每回答一个小点4分,全部回答出2点的得满分8分 四、编程题(每小题12分,共24分) 1、 var

i, Ma, Mi: integer;

A: array[1..10] of integer; (1分) begin

Edit1.text:= ' '; (1分) for i:=1 to 10 do (1分) begin

Randomize; (1分)

A[i]:= random(i*100); (1分)

Edit1.text:= Edit1.text + IntToStr(A[i])+ ' '; (2分) end; Ma:= A[1]; Mi:= A[1];

for i:=2 to 10 do (1分) begin (1分) if Ma <= A[i] then Ma:= A[i]; if Mi >= A[i] then Mi:=A[I] end; (1分)

Edit2.text:= IntToStr(Ma); (1分)

Edit3.text:= IntToStr(Mi); (1分) end; 2、

procedure TForm1.Button1Click(Sender: TObject); var

h,f,x,y: Integer;

s :string; (1分) begin

h:= StrToInt(InputBox('请输入', '鸡和兔的总数', '0')); (1分)

s:= Format('鸡和兔的总脚数(大于%d的偶数)', [2*h]); f:= StrToInt(Inputbox('请输入', s, '0')); (1分) x:= (4*h-f) div 2; (2分) y:= (f-2*h) div 2; (2分)

Label2.Caption := Format('设鸡和兔的总数为%d,总脚数为%d', [h,f]); Label3.Caption := Format('则笼中的鸡有%d只,兔有%d只', [x,y]); end;

1分) (2分) (2分) (

因篇幅问题不能全部显示,请点此查看更多更全内容

Copyright © 2019- hids.cn 版权所有 赣ICP备2024042780号-1

违法及侵权请联系:TEL:199 1889 7713 E-MAIL:2724546146@qq.com

本站由北京市万商天勤律师事务所王兴未律师提供法律服务