《Delphi 程序设计》试卷_第1页
《Delphi 程序设计》试卷_第2页
《Delphi 程序设计》试卷_第3页
《Delphi 程序设计》试卷_第4页
《Delphi 程序设计》试卷_第5页
已阅读5页,还剩5页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

《Delphi程序设计》试卷

学号:姓名:专业:班级:

题号一二三四五总分登分人

题分3010103020100

得分

得分评卷人一、单项选择题(每小题1分,共30分)

1.一个Delphi应用程序必有一个文件和至少一个单元文件。

A.程序B.工程C.数据D.图形

2.在窗体中完成多个控件整齐排列,应使用何种操作?

A.AlignB.BringtofrontC.ScaleD.Sendtoback

3.form(窗体)的OnCreate事件在何时触发?.

A.窗体关闭B.窗体建立C.窗体隐藏D.窗体活动

4.下列哪种属性可以设置窗体无最大化、最小化和关闭图标?

A.bordericonsB.formstyleC.visibleD.enabled

5.下列哪个属性决定控件的可见和不可见?

A.ColorB.FormstyleC.VisibleD.Enabled

6.所有可视化的VCL控件都是从哪一个基类派生而来的?

A.TcontrolB.TwidgetControlC.TwinControlD.TwindowControl

7.Delphi中,是特殊的单元文件,可理解为主单元文件,或者说

主程序,而其它的单元文件可以看作是被其所调用的子程序。

A.窗体文件B.项目文件C.资源文件D.配置文件

8.下列哪个属性是控制窗体标题的属性?

A.FormstyleB.CaptionC.FontD.Enabled

9.下列哪种类型的常量不能用来定义子界类型?

A.实型数据(Real)B.用户定义的任何顺序类型

C.字符型(Char)D.整型(Integer)

10.下列变量命名正确的是。

A.7ABCB.Program7C.page@21D.program

11.如果要检查edit编辑框中输入的字符,可以在哪个事件处理程序中编写代码

检查。

A.OnClickB.OnEnterC.OnMouseUpD.OnKeyPress

12.以下哪个函数是输入对话框函数?。

A.inputboxB.messageboxC.messagedlgD.showmessage

13.下列对象不能响应Click事件的是。

A.列表框B.图片框C.窗体D.计时器

14.已知对话框函数MessageDlgPos(ConstMsg:String;DlgType:TmsgDlg

Type;Buttons:TmsgDlgButtons;HelpCtx:longint;X,Y:Integer):Word.问:

1

DlgType取何值时,会出现感叹号?。

A.mtwarningB.mtconfirmationC.mtInformationD.mtCustom

15.关于变量,下列说法错误的是:。

A.全局变量与局部变量名相同时,在过程之外是全局变量作用

B.全局变量与局部变量名相同时,内部是局部变量作用

C.全局变量与局部变量名相同时,在过程之外全局变量无作用

D.全局变量与局部变量名相同时,在过程之外是全局变量作用而在内部是局

部变量作用

16.Delphi的单元(Unit)包含Interface和Implementation两部分,所有函数

和过程的实现代码都放在Implementation部分。放在Interface部分。

A.如果函数或过程需要被别的单元调用,其声明必须

B.函数和过程的声明可以放在任何部分,但类型、常量和变量的定义必须

C.所有类型、常量和变量的定义及函数和过程的声明都要

D.除了单元内部调用的常量和变量之外,其余定义和声明都

17.procedure和function的结构和功能相似,。

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

C.但前者有返回值,后者没有D.二者都可以返回一个值

18.函数的参数在声明时如果带var前缀,。

A.调用时必须在相应位置放个地址指针

B.调用时必须在相应位置放一个整数

C.可以在函数中改变参数的值,并回传给调用方

D.函数中只能访问其地址指针,得不到参数值

19.下列说法正确的是:。

A.函数只能出现在表达式中

B.函数不能出现在表达式中

C.函数不仅可以出现在表达式中,也可以以其他方式出现

D.函数在同一表达式中不能出现多次

20.下列过程首部定义正确的是:。

A.procedurefun1(k,s:real;n:integer);

B.procedurefun1(k:real,s:real,n:integer);

C.procedurefun1(k;s:real,n:integer);

D.procedurefun1(real:k;s,integer:n);

21.已知Vara:array['a'..'e',1..8]ofreal;则数组a中包含的元素的个数

为。

A.5B.20C.40D.11

22.动态数组与静态数组的区别是。

A.是否是一维数组B.元素类型是否是整型

C.定义时是否明确了数组元素的个数D.元素类型是否一致

23.用于建立菜单项的下划线快捷方式的字符是:。

A.^B.#C.&D.@

24.组合框ComboBox中的数据在哪个属性中添加?。

A.TextB.ItemsC.DragDownCountD.Sorted

25.利用Image对象的属性设置,可以改变Image的大小,以适应

加载的图像大小。

2

A.StretchB.AutoSizeC.AlignD.Center

26.在绘制封闭图形时,要想使它的填充色为某一指定颜色,应设置Tcanvas对

象的属性

A.pen.colorB.brush.colorC.pen.styleD.bursh.style

27.BDE的中文含义是,它是数据库应用中的一种连接方法。

A.数据库连接B.数据库引擎C.开放式数据库D.数据库文件

28.Eof表明当前记录指针所处的位置是:。

A.数据集的最后一个记录B.数据集的第一个记录

C.数据集的中间记录D.不确定

29.要使Tquery组件的SQL语句执行后返回结果集,应调用Tquery组件的

方法。

A.addB.openC.execsqlD.open和execsql

30.找出下列异常处理中错误的说法?。

A.在try…except…end语句中,正常情况下except后面的语句会被执行

B.在try…except…end语句中,异常情况下except后面的语句会被执行

C.在try…finally…end语句中,正常情况下finally后面的语句会被执行

D.在try…finally…end语句中,异常情况下finally后面的语句会被执行

得分评卷人二、填空题(每空0.5分,共10分)

1.Delphi的复合语句是由和之间的多个语句组成的。

2.程序运行时,要求窗体的某个按钮不再响应鼠标单击操作,可将其属

性设置为即可。

3.组件分为和两大类,其中

在程序设计是以方式出现在窗口中,运行时被隐蔽地嵌入到

窗口中,与摆放位置无关。

4.当程序运行时,要求窗体中的文本框初始状态呈现空白,可在设计阶段时,

将此文本框的属性设置成。

5.Delphi提供了打开文件对话框组件,用来显示一个

“打开”对话框,在程序中使用方法来激活。

6.TForm的和两种方法均触发OnShow事件。

7.RadioGroup对象的单选按钮个数及名称是通过属性来进行设置的。

8.调用Table组件的方法或方法可使数据表进入

插入模式。

9.TQuery对象存储一条Update语句,执行时要调用Query的方法。

10.对象是类的,它与类之间是一种变量和变量类型的关系。

11.TDatasource组件是通过属性与TTable组件建立联系的。

12.TADOConnection组件的属性决定当连接一个数据库时是否

出现一个登录对话框。

3

得分评卷人三、多项选择题(从备选答案中选出全部正确答案,

将其题号填入括号内,每小题1分,共10分)

1.Delphi支持的3种注释方法是:。

A.{}B.(**)C.//D.\\

2.下列实数中合法的是。

A.0.25E+02B..25+2C.25E+2D.34.5

3.以下不可以由用户输入编辑文本组件。

A.TEditB.TMemoC.TlistboxD.Tlabel

4.下列子界类型定义合法的是。

A.TYPEa=10..10;B.TYPEb=10..5;

C.TYPEc=0..SQRT(10);D.TYPEd=10..20;

5.以下关于事件的说法正确的是。

A.不一定要响应某个组件所定义的所有事件

B.多个组件可以共享同一个事件处理程序

C.根据需要可以响应任何组件的事件

D.事件的Sender参数是用来决定哪个组件产生了此事件

6.代码动态帮助提供了哪些功能?。

A.对象信息提示功能B.参数提示功能

C.语法模板提示功能D.表达或求值提示

7.请选出下列组件中,属于非可视的组件有。

A.按钮TbuttonB.标签Tlable

C.计时器TTimerD.数据源TDataSource

8.在Delphi中,为了连接数据库到用户的界面,必需的组件有。

A.TDatabase组件B.数据集组件

C.TDataSource组件D.数据感知组件

9.下列说法不正确的是:。

A.可以直接调用函数取代非var形参,将函数的值传给子程序

B.可以指定表达式取代非var形参,表达式的类型要与相应形参类型一致

C.可以将数值、函数、常量传递给var形参

D.如果指定变量为实参,变量的值将传递给子程序

10.Delphi中的时间类型,以下描述正确的是:。

A.Delphi中使用Double类型作为时间类型,而非Integer

B.假如TDatetime类型的变量为0,那么其含义表示公元元年

C.其正值表示公元后,其负值表示公元前

D.可以利用函数DateToStr函数把TDatetime类型转变为字符串类型

4

得分评卷人四、程序填空(每空1.5分,共30分)

1.下图是本程序的设计界面(左)和运行界面(右):

form1上建立的对象有:Label1~Label5、Edit1~Edit4、Button1(除键)和

CheckBox1。该程序实现除法运算。用户输入两个操作数,按除键后,整除结果

显示在结果编辑框中。输入的操作数必须是1~100之间的整数。如果输入有误,

程序要给出错误提示信息。如果“显示余数”复选框选中,则除法余数显示在余

数框中,否则不显示余数。

请完成单击“除键”按钮的事件处理程序。

procedureTForm1.Button1Click(Sender:TObject);

var

x,y:integer;

begin

x:=strtoint(edit1.Text);

y:=strtoint(edit2.Text);

if①then//如果输入的值在1-100之间

begin

edit3.Text:=②;

if③then

edit4.Text:=④

else

edit4.Text:=⑤

end

else

begin

showmessage(‘请输入1——100之间的整数’);

exit;

end;

end;

2.本程序由主窗体form1和子窗体form2组成,设计界面如下图所示:

5

主窗体form1上建立的对象有Panel1、Animate1、Button1(加载AVI文件)、

Button2(退出)、Button3(播放)、Button4(停止)和OpenDialog1。对应的

单元文件unit1。

子窗体form2上建立的对象有Label1、BitBtm1(Yes)、BitBtm2(No)。

对应的单元文件unit2。

单击“加载AVI文件”按钮,会弹出打开文件对话框。用户指定一个.avi的

文件后,动画文件加载到Animate1显示区中。单击“播放”按钮可播放动画,

单击“停止”按钮可停止播放。

单击“退出”按钮,会弹出确认对话框(Form2)。如果用户按“Yes”键,

程序结束;如果按“No”键,返回主窗体。

下面是Unit1的代码部分,请在下划线处完成程序填空。

implementation

{$R*.dfm}

uses

①;

procedureTForm1.Button1Click(Sender:TObject);//加载AVI文件

begin

if②then

animate1.FileName:=③;

end;

procedureTForm1.Button2Click(Sender:TObject);//退出

begin

if④=mrYesthen

close;

end;

procedureTForm1.Button3Click(Sender:TObject);//播放

begin

animate1.Play(1,animate1.FrameCount,0);

end;

procedureTForm1.Button4Click(Sender:TObject);//停止

begin

animate1.⑤;

end;

end.

3.本程序的功能是实现对dep表(系)-student表(学生)的主从查询。用

户可以依次查询系的记录,也可以通过指定系号,查找并定位到指定的记录。

每当显示一个系的记录后,系统自动显示该系的学生记录。设计界面和运行

界面如下图,在Form1上建立的主要对象及连接如下:

Database1-Table1(与dep表相连)-DataSource1-DBEdit1~DBEdit3

Database1-Query1-DataSource2-DBGrid1(显示学生信息)

Edit1、Button1(查找)、Button2(下一记录)、Button3(上一记录)等。

Query1的SQL语句是:

select*fromstudentwheredno=:dno

6

下面是Unit1单元的代码实现部分,请完成程序填空。

implementation

{$R*.dfm}

procedureTForm1.Button2Click(Sender:TObject);//下一记录

begin

table1.①;

end;

procedureTForm1.Button3Click(Sender:TObject);//上一记录

begin

table1.②;

end;

procedureTForm1.Button1Click(Sender:TObject);//查找

begin

table1.③('dno',edit1.Text,[]);

end;

procedureTForm1.Table1AfterScroll(DataSet:TDataSet);

begin

query1.Close;

query1.ParamByName('dno').Value:=④;

query1.⑤;

end;

end.

4.本程序实现一个简单的选课界面。设计界面和运行界面如下图所示:

该程序涉及到数据库中的两张表:course表(课程信息)和sc表(选课记

录)。表结构如下:

course(cno课号,cname课名,credit学分,ctime时间,quota名额)

7

sc(sno学号,cno课号,grade成绩)

在用户界面,操作员选中一门课、输入学号后,按“选课”键完成选课功能,

即在sc表中插入一条选课记录,并将course表中该课程名额减1。

该界面要实现以下合法性检查:

当该学生已经选过此课,不能再选。

当课程名额为0,不能再选。

在Form1上建立的数据库组件对象及连接关系如下:

Database1-Table1(与course表相连)-DataSource1-DBGrid1(显示

课程信息)

Database1-Query1、Query2

其中为Table1建立了永久字段:Table1cno(课号)、Table1cname(课程

名)、Table1quota(名额)等。

Query1的SQL语句如下:

selectcnofromscwheresno=:snoandcno=:cno

Query2的SQL语句如下:

Insertintoscvalues(:sno,:cno,null)

下面是Unit1的代码实现部分,请完成程序填空:

implementation

{$R*.dfm}

procedureTForm1.Button1Click(Sender:TObject);//选课

begin

query1.Close;

query1.ParamByName('sno').Value:=edit1.text;

query1.ParamByName('cno').Value:=table1cno.Value;

query1.①;

if②<>nullthen

begin

showmessage('已选过该课程');

exit;

end;

if③=0then

begin

showmessage('没有名额');

exit;

end;

query2.Close;

query2.ParamByName('sno').Value:=edit1.Text;

query2.ParamByName('cno').Value:=table1cno.Value;

query2.④;

table1.⑤;

table1quota.Value:=table1quota.Value-1;//课程名额减1

table1.Post;

end;

end.

8

得分评卷人五、阅读程序,完成下列各题(共20分)

本程序是小学生做加减法的算术练习程序。计算机连续

随机给出两位数的加减法算术题,要求小学生回答,答对打“√”,答错打“×”,

做过的题目放入列表框中备查,并随时给出答题的总数和正确率。设计界面与运

行界面如图。程序代码如下:

procedureTForm1.Button1Click(Sender:TObject);

begin

form1.Tag:=0;listbox1.Tag:=0;listbox1.Clear;

label1.Caption:=format(#13+'重新开始!'+#13+#13+#13+'正确率

为:'+#13+#13+'%f%%',[0.00]);

edit2.SetFocus;

end;

procedureTForm1.FormActivate(Sender:TObject);

vara,b,p,t:integer;

begin

Randomize;

a:=Trunc(10+Random(90));

b:=Trunc(10+Random(90));

p:=Trunc(Random(2));

ifp=0then

beginEdit1.t

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论