delphi试卷七

更新时间:2023-11-28 12:50:01 阅读量: 教育文库 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

《Delphi程序设计》试卷

学号: 姓名: 专业: 班级: 题号 题分 得分 一 20 二 5 三 10 四 10 五 25 六 15 七 15 总分 核分人 100 得分 评卷人 一、 单项选择题(每小题1分,共20分)

1. Delphi结束程序退出运行的方式主要是调用Application的Terminate和 。

A. 借助Quit命令 B. 调用Windows的隐藏窗口函数 C. 释放所有内存空间 D. 关闭主窗口

2. 是Delphi提供的可视化组件库。

A.RAD B.OOP C.BDE D.VCL 3. 是Windows发出的一个通知,它告诉应用程序某个事件发生了。在

中,大多数情况下Delphi将其封装在VCL的事件中,我们只需处理相应的VCL

事件就可以了。

A.消息 B.方法 C.属性 D.VCL 4. 当创建窗体,并且Visible属性设置为True时,下列事件出现的顺序是 。

A. Create、Show、Paint、Activate B. Create、Activate、Show、Paint

C. Create、Paint、Activate、Show D. Create、Paint、Show、Activate 5. 应用程序都要占用一定的内存资源,只是有些编程环境把内存______过程隐藏

起来,编程者可能没有察觉。

A. 申请和释放 B. 编译和解释 C. 连接和中断 D. 扩展和压缩 6. Delphi类库VCL库中所有控件的基类是 。

A.TObject类 B.TPersistent类 C.TComponent类 D.TControl类 7. 窗口的KeyPreview属性如果设置为True, 。

A.窗口中的构件将不能获取键盘输入 B.窗口将在子构件之前获取键盘输入 C.回车符和跳格符输入将被滤除 D.回车符和跳格符输入将被窗口截获 8. 程序中使用全局变量有它方便之处,但容易造成意想不到的错误。比

如 。

A. 用全局变量取代同名的局部变量

B. 在一处给变量赋了值,在另一处又不经意地改成别的值。 C. 用了两个同名全局变量,造成运行错误 D. 不给变量赋值就直接使用

9. 在Delphi组件中许多组件都有Maxlength属性,当该属性设置为0时, 。

A. 组件的最大字符数为0 B. 组件的最大字符数可以任意

1

C. 不限制最大字符数 D. 表示不能输入字符 10. 程序设计经常采用十六进制数,因为十六进制数_____.

A.比十进制数表示范围更大 B. 比十进制数表示更加精确

C.比较容易和二进制数相互换算 D.比较容易表示图形和图象数据 11. Procedure和Function的结构和功能相似, 。

A. 前者可以取代后者 B. 后者可以取代前者

C. 但前者有返回值,后者没有 D. 二者都可以返回一个值 12. 下列说法正确的是 。

A. uses在程序或单元中的作用是列出不想要包含进来的单元

B. uses在程序或单元中的作用是列出所有单元

C. uses在程序或单元中的作用是列出想要包含进来的单元 D.uses在程序或单元中无作用

13. 下列说法正确的是 。

A. 组件必须是可视的,这样用户才能使用 B. 控件都是可视的

C. 按钮是组件,而窗体则不是组件 D. 一个组件肯定是控件 14. Tquery组件可以实现SQL语句的优化的方法是 。

A. Open B. execsql C. prepare D. active 15. 在‘abcd’字符串中添加回车换行控制符的方法是 。

A. ‘abcdenter’ B. ‘abcd’+enter C. ‘abcd’+#10 D. strcopy(‘abcd’,#10) 16. 显示器上的图像是由众多小像素点组成。程序绘图时实际上就是 。

A. 把像素点的颜色调到最佳值 B. 确定每个像素点的亮度和色彩 C. 确定每个像素点的位置和色彩 D. 指定每个像素点是点亮还是熄灭 17. object Pascal中类型声明的关键字是 。

A. Type B. Const C. Class D. Var 18. Delphi提供了很多和数据库关联的构件._______

A. 有些用于关联很多个字段,有些仅用于单个字段 B. 这些构件可用来显示数据,但不能用于修改数据 C. 这些构件仅在程序运行时才能和数据库关联 D. 一旦和数据库关联,这些构件就能够立即显示数据

19. 编写数据库应用程序可以采用BDE或ADO。 。

A.二者都是微软公司提供的数据库接口

B. 二者都是Borland公司提供的数据库引擎 C. 前者是微软公司提供的数据库引擎

D. 后者是WINDOWS系统的通用数据库接口。

20. 下列 不是Delphi中的常用键盘标准公共事件。

A. Onkeydown B. Onkeypress C. Onkeyenter D. OnkeyUp

2

得分 评卷人 二、 多项选择题(从备选答案中选出全部正确答案,将其题号填

入空白处,每小题1分,共10分)

1. 在函数定义与调用时,要注意形式参数与实际参数的对应关系,下列描述正确的

有:

A.实际参数与形式参数,变量名不必相同 B. 实际参数与形式参数,类型相符 C. 实际参数与形式参数,变量个数相等 D. 实际参数与形式参数,顺序一致 2. 下列属于数据集组件的有 。

A. TTable B. TQuery C. Tdatasource D. Tdatabase 3. 能够响应鼠标单击事件的组件有 。

A. Tbutton B.Timage C.Tdatabase D.Tpanel 4. 下面对Memo1对象操作正确的语句是 。

A. Memo1.Clear ; B. Memo1.Lines := ' test ' ;

C. Memo1.Lines.Add('test') ; D. Memo1.Lines.Delete(1) ; 5. 用红绿蓝三元色可以为每个像素点配置出不同颜色。如果三元色色值相等,配置

出的颜色可能是 。

A.黑色 B.白色 C.黄色 D.红色 得分 评卷人 1. 2.

面向对象的程序设计语言的基本编程模式是 。

人机界面是指人和计算机软/硬件的交互部分,是人与计算机之间传递信息的媒介和窗口,是用户使用计算机系统的一种操作环境。到目前为止,无论是哪一3. 4. 5. 6. 7. 8. 9.

种操作系统其工作界面只有命令行(CLI)和 两种方式。

Delphi中界面设计时用户若想对组件的位置作细小调整,可先按住________键,再按方向键。

工程文件是整个应用程序的主程序,有两项功能:一是说明工程中的单元模块、二是 。

Object Pascal的 是其内部约定的数据类型,无需定义就可以直接使用。

循环控制有两种方法:标志法与计数法。Object Pascal的循环语句中采用计数法控制循环的是 语句。

对于按钮类组件button1,当没有输入焦点时,若 属性为True,则用户按回车键时(焦点也不在其他按钮),该组件的OnClick事件处理程序就被执行。 数组是一些具有 类型的元素按一定顺序组成的序列。

结构化程序设计的三种控制结构分别为 。 界面。这就是数据库系统 。

3

三、 填空题(每空1分,共10分)

10. 数据库应用程序在逻辑上通常由两部分组成:一是数据库访问链路,二是用户

得分 评卷人 四、 判断题(正确的打“√”,错误的打“×”,每题1分,共

10分)

1. ( )位于end之前的那一条语句,可不加分号结束,而位于else 之前的那一条语句,则不能加分号结束。

2. ( )case语句后面的表达式的值可以是整型和浮点型。

3. ( )while循环中的语句体至少被执行一次,直到判断表达式的值为false

时,结束循环。 4. ( )Delphi组件的事件并不固定,程序员可以根据需要添加或减少。 5. ( )函数可以出现在表达式中,但过程却不可以。

6. ( )库单元Unit是常量、变量、过程等的集合,不能被多个应用程序共享。 7. ( )一个Query对象同一时刻可以存储多条SQL语句。

8. ( )在Delphi环境中,组件板上的所有组件图标是“类”的概念。 9. ( )在Data Controls组件页上, DBNavigator组件可以不用指定DataField

属性值。

10. ( )在窗体的Formshow事件过程中定义的变量是局部变量。 阅读并填空(每空1分,共25分) 得分 评卷人 五、

(一)

程序设计语言一般可分为低级语言和高级语言,低级语言指

的是1 。用低级语言编写程序的特点是2 。可视化编程的基本方法中并不包括3 。程序代码重用可以提高编程效率,源代码和编译后的目标代码都可以重用,比较好的重用方法是4 。 ●供选择的答案:

1. A. 在各种计算机上都适用的语言 B. 与机器硬件构造密切相关的语言

C. 简单且易于使用的语言 D. BASIC 语言 2. A. 程序的执行效率高,编写效率低,可读性强

B. 程序的执行效率高,编写效率低,可读性差 C. 程序的执行效率低,编写效率低,可读性强 D. 程序的执行效率低,编写效率高,可读性差

3. A. 创建窗体,并在窗体中安排控件 B. 为各控件修改默认的属性值

C. 为各控件修改默认的事件 D. 为各控件的有关事件编写程序代码 4. A. 直接复制源代码,因为这样可以看清代码的功能和接口方法

B. 直接复制源代码,因为这样比较容易修改

C. 直接调用目标代码,但要通过源代码说明其功能和接口方法 D. 直接调用目标代码,但要有清晰的调用接口

(二)

窗口对象 (TForm) 属性如下。请在下面的空处填上一条适当的描述。

BorderStyle :5 。 Caption:6 。 FormStyle:7 。 Name: 8 。 WindowState: 9 。 ● 供选择的答案

4

A. B. C. D. E. F. G.

确定窗口在屏幕上的初始位置 必须是独一无二的标识符

其值在程序运行时显示在窗口顶端

使窗口占据整个屏幕或显示为一个图标 使窗口能截获键盘事件

可以使窗口漂浮在屏幕上层,不被遮盖 可以让用户调整窗口的大小

(三)

Delphi 程序的基本单位是单元( unit )。每个单元包括两大部分:界面( interface)部分和实现(implementation)部分。界面部分可以通过其他单元来访问,经常包含各种定义和声明。实现部分是单元的主体,对其他单元完全封闭,以减少单元之间的相互关联。

假如某个单元中包含若干公共函数,由其他单元来调用,这些函数的声明必须放在单元的界面部分,函数主体则放在单元的实现部分。如果函数中包含某些仅在内部调用的子例程,这些子例程的声明应该放在实现部分,使其他单元无法访问。

程序应尽量避免使用全局变量。如果必须使用,可以在单元界面部分定义。供全局访问的常量也在界面部分定义。

从一个单元访问另一个单元时,必须在 uses 语句中包含被访问单元的名称。 uses 语句一般放在单元界面部分的前端,这样其后的代码都可以访问所涉单元。如果 A 单元的 uses 语句包含 B 单元, B 单元的 uses 语句又包含 A 单元,就形成了循环包含。一般这是不允许的。如果必须这样,可以把其中一个单元的 uses 语句放在实现部分。其实,循环包含说明程序整体结构设计不够合理,最好还是通过调整结构避免循环包含。

根据以上叙述,给下面每条语句选择一个最相关的术语。

? 程序各部分之间最好保持相对独立性,尽量减少相互影响。 10 ? 程序各部分之间的调用关系最好是树形结构,尽量避免网状结构。 11 ? 程序模块中的公共部分和私有部分应该有明确的界限,不应相互搀杂。 12 ? 某个程序模块如果调用了其他模块,应该有清晰的说明。 13 ? 一个共用函数往往包含两部分:对外公开的部分和完全封闭的部分。 14 ● 供选择的答案

A. 声明 B. 全局变量 C. 循环包含 D. uses 语句 E. 界面和实现 F. 常量

(四)

数据库是数据的物理存储形态。不同的数据库可以有各自不同的存储结构和操作方式。数据库一般15 。

数据读写控件可以分为两大类:单记录读写控件和多记录读写控件。单记录读写控件包括 DBText, DBEdit, DBMemo, DBImage等等。这些控件16 。多记录读写控件是一个二维数据表,其行列分别对应数据集的记录和字段,可以在窗口中同时显示若干条记录,比如17 。单记录和多记录读写控件也可以在同一窗口中综合使用。多记录控件用来读写一般字段,单记录控件则用来读写18 特殊字段。由于窗口中显示不止一条记录,所以单记录控件19 。 ● 供选择的答案

15. A. 可直接访问,这样可保证数据的正确性 B. 最小可访问的单位是记录

5

C. 是通过数据库引擎或其他接口程序来访问 D. 最小可访问的单位是文件 16. A. TTable B.TQuery C.TDBGrid D. DBListBox 17. A. 用来读写同一数据记录的同一字段

B. 把不同的数据记录作为同一数据记录来读写 C. 各自用来读写一条单一的数据记录 D. 各自用来读写同一数据记录中某个字段

18. A. 多行文本、图象等 B. 数字、字符串等 C. 不包含字符串的 D. 需要动态显示的 19. A.一般用来轮流显示各记录内容 B.只用做关联手段,并不直接反映记录内容 C. 仅反映被选定的当前记录内容 D.所反映的记录需要由程序来指定

(五)

TImage,TPaintBox 这类构件可用做绘图板 , 通过编程绘制各种形状和风格的图形。所有绘图功能都通过20 属性来调用。它包括两个绘图时最常用的属性21 和22 。前者用来确定轮廓线的风格, 后者用来确定涂色的风格。

如果编程实现一个自由画板 , 让用户把鼠标器用做画笔在窗口中画出任意轮廓线,整个过程包括落笔、画线和抬笔三种动作。比较合理的编程方法是把这三种动作的程序代码分别放在23 ,24 和25 三个鼠标事件处理例程中。 A. OnKeyUP B.OnMouseMove C.OnMouseDown D.OnStartDrag E.OnKeyDown F.OnMouseUp G.onClick H.OnPaint

I.Canvas J.Mode K.Color L.Refresh M.RoundRect N.Brush O.Pen P.Style Q.Refresh 读程序(,每空2分,共30分) 得分 评卷人 六、 1. 下列程序段执行后,s的值是 。

ch1:=’z’;ch2:=’x’; if ch1<>’x’ then case ch2 of ‘x’: case ch1 of ‘z’:s:=’xz’; ‘y’:s:=’xy’; End; ‘y’:s:=’yy’; End;

下列代码中将要执行showmessage语句次数是 。 Procedure Tform1.button1click(sender:Tobject); Var arr:Tstringlist; I:integer; Begin

Arr:=tstringlist.create; For I:=0 to 5 do Begin

Arr.add(inttostr(i));

6

2.

If (I mod 2)>0 then showmessage(arr[i]); End End;

3. 设有一个自定义函数声明如下,表达式a(1,2)的值是 。

Function a (m,n:integer):integer; Var x:integer; Begin

If m=0 then x:=n+1

else If n=0 then x:=a(m-1,1) else x:=a(m-1,a(m,n-1)); A:=x; End;

4. 根据下列代码,请回答:

①这段代码是 文件的组成部分。

②根据这段代码,可知工程文件名是 ,该工程文件包含 个单元文件,文件名分别是 、 ,它们对应的窗体名是 、 。 Program Infoproc Uses Forms,

Unit1 in ‘Unit1.pas’{formInfoInput}, Unit2 in ‘Unit2.pas’{formInfoShow}; {$R *.res} Begin ?? End.

5. 根据下列代码,在下面空白处说明各语句的作用: with CustTable do begin

DisableControls; // try

First; // While not Eof do // Begin

…… { Process each record here }

Next; // end; finally

EnableControls; // end; end;

7

七、 程序填空(每空2分,共10分)

该程序实现彩票选号和摇奖功能,当用户输入号码后,按〈Enter〉

键,输入的号码插入到combobox1第一项,当用户选中

combobox1中某一项后,按〈Esc〉键可以删除该项,当用户按开始按钮时,程序随机抽取获奖号码。并显示出来。请阅读下列程序,完成空白部分。

得分 评卷人 unit Unit1; interface

procedure TForm1.Button1Click(Sender: TObject); var n, a : word; begin

Randomize;

n := combobox1.Items.Count; a := Trunc(Random(n));

Combobox1.ItemIndex := a;

showmessage('中奖的号码是:' + #13 + Combobox1.Text);

end;

procedure TForm1.ComboBox1KeyPress(Sender: TObject; var Key: Char); begin

If (1 ) And (2 <> '') Then

// 按〈Enter〉键后且输入框的值不为空,接收输入的选项

Begin

Combobox1.Items.Insert(3 );

//将输入值插入到第一个位置上 Combobox1.SelStart := 0; Combobox1.Text := ''; end;

If 4 Then If Combobox1.ItemIndex <> -1 Then //删除指定位置的选项 end;

// 按〈Esc〉键后移去选项

Combobox1.Items.Delete( 5 ); 8

本文来源:https://www.bwwdw.com/article/fi1t.html

Top