delphi11

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

一、单选
1)下列符号哪一个是Delphi中的合法变量名()
A6book B if C name[1] D count1
2)下列常量说明中哪一个是合法的()
A const c:=(b>4.5);
B const c:8.6;
C const c=3.2;
D const c:=”book ”;
3)下列实数中哪个是不合法的( )
A0.45E+02 B .25+2 C 25E -3 D 24.67
4)设n为整型变量,其值为4568,表达式(n mod 1000)div100 ( )
A分离出个位数字B分离出千位数字 C 分离出百位数字D分离出十位数字
5)有下面的程序段:
a:=false; b:=false; c:=true; x:=20;
if a then x:=x-10; x:=30;
if b then
if c then x:=34;
else x:=15; 假设所有变量都已定义,程序段执行后x的值()A15 B 20 C 34 D 30
6)有下面的程序段:
ch1:= 'z'; ch2:= 'x';
if ch1 <>'x' then
case ch2 of
'x': case ch1 of
'z': s:= 'xy';
'y': s:='xz';
end;
'y': s:='yy';
end; 假设所有变量均已说明,程序段被执行后s的值是()。

A'xz' B 'yy' C 'xy' D xy
7)有下面的程序段:
i:= 1;
repeat
n:= i * i; i:=i+2;
until n>2*i; 假设所有变量均已说明,循环体执行的次数()。

A 1
B 2
C 3
D 4
8)有下面的程序段:
s:= 100; n:= 3;
for ch:= 'a' to 'e' do
if not odd(n) then s:=s-n;
n:=n+5; 假设所有变量均已说明,s的值()。

A100 B 97 C 61 D 74
9)以下正确的枚举类型定义是:( )
A type vowel=('a','e','i','o','u');
B type num=(1..3,8..10);
C type color=(red,blue,greeen);
D type realtype=(1.5,2.5,3.5,4.5);
10)集合表达式[1,2,3]+[4,5,6,1,2]的值为:( )
A[1,2,3,4,5,6,1,2] B [1,2,3] C [4,5,6,1,2] D [1,2,3,4,5]
11)Delphi没有用到的文件类型有()
A、.frm
B、.pas
C、.dfm
D、.dpr
12)以下哪个组件不可以由用户输入编辑文本()
A、TEdit
B、TcomboBox
C、TMaskEdit
D、Tlabel
13)下列常量定义合法的是()
A、CONST width=7
B、CONST case=''7''
C、CONST 1A=7.9
D、CONST
5<>7
14)下列哪种表达式不能作为while语句的循环条件()
A、i=1 B.、i:=1 C、true D、i<>1
15)下列哪个可以作为集合变量的基类型()
A、integer B 、word C、real D 、byte
16)在修改数据前检查TQuery组件的状态,发现处于浏览状态,则调用该组件的什么
方法可以将其状态该为可修改()
A、post
B、insert
C、edit
D、setkey
17)以下语句的循环体执行次数是()
x:=37; y:=3
while y<=x do y:=y+y;
A、 3
B、 4
C、5
D、6
18)下列函数头具有传地址参数的是()
A、function total(x:real);
B、procedure ab(a,b:real):real;
C、function total(const x:real):real;
D、function f(var f:real):integer;
19)Delphi中取值范围0到255的数据类型是()
A、ShortInt
B、Byte
C、SmallInt
D、Word
20)以下关于事件的说法不正确的是()
A、不一定要响应某个组件所定义的所有事件
B、多个组件可以共享同一个事件处理程序
C、根据需要可以响应任何组件的事件
D、单击Object Inspector中的事件处理程序名,Code Editor将自动进入该事件的代码段。

21)Delphi应用程序的执行入口为哪个文件()
A、资源文件
B、单元文件
C、窗体文件
D、工程文件
22)以下哪个属性可以获得TEdit组件输入的文本内容()
B、caption C、text D、Tag
23)下列常量定义合法的是()
A、CONST width:=8
B、CONST case=''7''
C、CONST 1A=7.9
D、CONST
width=9
24)下列哪种变量类型不能作为For的循环变量()
A、字符 B.、枚举C、子界D、实数
25)集合类型的数据其序数范围()
A、0..255
B、0..65535
C、0..63
D、0..31
26)Query组件没有Table组件哪个属性( )
A、active
B、TableName
C、name
D、Database
27)执行以下语句后s的值为()
S:=0; n:=10
while n>0 do n:=n-1; S:=S+n;
A、0
B、45
C、55
D、9
28)下列函数头合法的是()
A、function total(x:real);
B、procedure ab(a,b:real):real;
C、procedure sum;
D、function f(var f:real):integer;
29)下列子界类型定义合法的是()
A、TYPE a=10..10;
B、TYPE b=10..5;
C、TYPE c=0..SQRT(10);
D、TYPE
d=10.0..20.0;
30)发生在鼠标左键双击控件时的事件是()
A、OnkeyDown
B、onClick
C、OnDbClick
D、OnEnter
二、按要求写出程序结果
1、设有一个自定义过程声明如下:
procedure p(x: integer; var y: integer);
begin
x:=x-y; y:=y+x;
end;
执行下述程序段:a:=10;b:=4; p(a,b); p(a mod b ,a); 则a,b的值分别是什么?
2、设有一个自定义过程声明如下:
V ar n: integer; y, z :real;
procedure sub(m: integer; var s,z :real);
begin
y:=2*y; s:=s*y; z:=s/m;
end;
begin
n:=4; y:=3; z:=0;
sub(n,y,z);
end; 则n,y,z的值分别是什么?
3、设有一个自定义函数声明如下:
function f(a,b,c: integer):integer;
V ar t: integer;
begin
a:=3*a; t:=b div c;
f:=a+4*t;
end; 则f(1,2,f(1,2,3))的值?
4、设有一个事件过程声明如下:
procedure TForm1.Button1Click(Sender: TObject);
begin
if lowercase(edit1.Text) = 'abcd' then
panel1.Caption := '欢迎使用本系统!'
else
begin
edit1.Tag := edit1.Tag + 1;
If edit1.Tag = 3 Then
begin
panel1.Caption := '对不起,您无权使用';
groupbox1.Enabled := False;
end
Else
panel1.Caption := '对不起,口令错!';
end;
end;edit1.text 的初值为空,edit1.Tag初值为0, 如果edit1中已连续输入hello 两次,每次分别点击Button1,又输入abc后点击Button1, 则此时edit1.Tag的值? panel1显示的内容?
5、设有一个事件过程声明如下:
procedure TForm1.Button1Click(Sender: TObject);
var
k, f1, f2, f3 : Integer;
begin
memo1.Lines.Clear;
memo1.Lines.Add(' 1 1');
memo1.Lines.Add(' 2 1');
f1 := 1; f2 := 1;
For k := 3 To 5 do
begin
f3 := f1 + f2;
memo1.Lines.Add(format('%2d %3d',[k, f3]));
f1 := f2; f2 := f3;
end;
end; 点击Button1后memo1显示的内容?
4.Function check(n,k:Integer):Integer;
V ar 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值为?
5.有下面的程序段:
ch1:= 'z'; ch2:= 'x';
if ch1 <>'x' then
case ch2 of
'x': case ch1 of
'z': s:= 'xy';
'y': s:='xz';
end;
'y': s:='yy';
end; 假设所有变量均已说明,程序段被执行后s的值是?
6.有下面的程序段:
s:= 100; n:= 3;
for ch:= 'a' to 'e' do
if not odd(n) then s:=s-n;
n:=n+5; 假设所有变量均已说明,s,n的值?
7.设有一个自定义过程声明如下:
V ar n: integer; y, z :real;
procedure sub(m: integer; var s,z :real);
begin
y:=2*y; s:=s*y; z:=s/m;
end;
begin
n:=4; y:=3; z:=0;
sub(n,y,z);
end; 则n,y,z的值分别是什么?
8.有下面的程序段:
a:=false;b:=false;c:=true;x:=20;
if a then x:=x-10; x:=30;
if not b then
if c then x:=x+5;
else x:=15;
假设所有变量都已定义,程序段执行后x的值?
9.设有一个事件过程声明如下:
procedure TForm1.Button1Click(Sender: TObject);
begin
if lowercase(edit1.Text) = 'abcd' then
panel1.Caption := '欢迎使用本系统!'
else
begin
edit1.Tag := edit1.Tag + 1;
If edit1.Tag = 3 Then
begin
panel1.Caption := '对不起,您无权使用';
groupbox1.Enabled := False;
end
Else
panel1.Caption := '对不起,口令错!';
end;
end;edit1.text 的初值为a,edit1.Tag初值为0。

如果点击Button1一次后,在edit1中输入hello再点击Button1, 则此时edit1.Tag的值? panel1显示的内容?
10.已知函数如下:
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;
则调用f(5)的值是?
11.有下面的程序段:
a:=false; b:=false; c:=true; x:=20;
if a then x:=x-10; x:=30;
if b then
if c then x:=34;
else x:=15; 假设所有变量都已定义,程序段执行后x的值?
12.有下面的程序段:
i:= 1;
repeat
n:= i * i; i:=i+2;
until n>2*i; 假设所有变量均已说明,循环体执行的次数?n 、i的值?
13.有下面的程序段:
i:= 2.5;
while i<4 do
begin
i:=i+0.5;
end;
假设所有变量均已说明,执行循环条件判断的次数,i的值?。

14.设有一个事件过程声明如下:
procedure TForm1.Button1Click(Sender: TObject);
var
s, n : Integer;
begin
s := 0;
n := 0;
While n <= 100 Do
n := n + 1;
s := s + n;
Panel2.Caption := '1+2+3+…+100 = ' + inttostr(s);
end; 点击Button1 则panel1显示的内容?
15.设有一个自定义过程声明如下:
procedure pc(a :integer ;var b ,c :integer);
var d :integer;
begin
a:=a+1; b:=b+2; d:=a+c;
end;
执行程序段:x:=1; y:=2; z:=3; pc(x,y,z); 则x,y,z的值分别是什么?
三、辨识题,如错误改正
4.Delphi应用程序启动时后自动显示所有的窗体。

5.Tlabel 组件的引用标识由Caption属性决定,与name属性无关。

6.整型变量X形成的表达式X >’5 ‘是合法的关系表达式。

7.对象和类属同一概念。

8.可以在单元文件的任何地方定义变量,其标识关键字为type。

9.Delphi程序中一个单元文件必须对应一个窗体文件,反之亦然。

10.所有组件在运行期间都是可见的。

11.整型变量形成的Delphi表达式X >5 and X<20 等价于数学表达式5<x<20
12.过程与函数的区别只是定义的语法格式不同。

13.事件是依附于某一具体组件对象的,对应的事件过程为标准过程。

四、简答题
1、可视化程序设计的两大步骤,及其相关工作?
2、过程的分类包括?写出过程定义的语法格式?
3、根据可见性、生存期变量划分为什么种类?
4、数据集控件TTable的几种状态?怎样使数据集变化变成永久性,即存储到数据库
中?
5、SQL含义?写出常用于数据处理SQL语句最普通的语法格式?
4.分支语句有几类?写出主要的语法格式?对比其使用特点?
5.函数的分类?写出函数定义的语法格式?
6.BDE数据库应用程序开发的原理层次图,指出哪些层是开发人员的工作?
7.对比TTable与Tquery组件?
五、程序填空
1、数据集TQurey要执行如下SQL语句:select * from mytable
请补充完成程序中横线所缺少的语句:
var Query1:TQuery;
……
begin
with Query1 do
begin
Close;
;
SQL.Add(‘select * from mytable’);
;
;
end;
2、求3到10的阶乘之和,并由edit1显示结果。

var
p : int64;
i,j,s : Integer;
begin
p := 1;
s:=0;
for j:=3 to 10 do
begin
p:=1;
For i := 1 To j do p := p * i;
;
End;
Edit1. ;
End;
c组合计算,函数如下:
3、用函数实现m
n
Function comb(n1, m1 : int64):real;
var s, t, u : real;
Function fact(x : int64):real;
var
i : integer;
p : real;
begin
p:=1;
For i := 1 To x do p := p * i;
;
end;
begin
s := fact(n1);
t := fact(m1);
u := fact(n1 - m1);
;
end;
4、某百货公司为了促销,采用购物打折扣的优惠办法:每位顾客一次购物:
(1) 在1000元以上者,按九五折优惠。

(2) 在2000元以上者,按九折优惠。

(3) 在3000元以上者,按八五折优惠。

(3) 在5000元以上者,按八折优惠。

由edit1输入购物款数,由label1输出计算后的优惠价,完善以下程序。

var
x, y : real;
begin
if edit1.Text = '' then edit1.Text := '0';
x := (edit1.Text);
case trunc( ) of
0 : y := x;
1 : y := 0.95 * x;
2 : y := 0.9 * x;
3,4 : y := 0.85 * x;
Else
y := 0.8 * x;
end;
label1. := format('优惠价为: %8.2f元', [y]);
5 求累加和1 + 2 + 3 +…+ 100,并由label1显示结果。

var
s, n : Integer;
begin
s:=0;
n := 1;
While n <= 100 Do
Begin
s := s + n;
;
End;
label1. := '1+2+3+…+100 = ' + ;
6. 密码窗口,假设密码为abcd字符串,当edit1输入密码正确时显示'欢迎使用本系统!',错误时显示‘对不起,口令错!'
procedure TForm1.Button1Click(Sender: TObject);
var :string;
begin
password :=lowercase( );// 字符转换为小写函数
if then
showmessage('欢迎使用本系统!')
else
showmessage('对不起,口令错!');
end;
六、程序设计
1.使用传值调用自定义函数,求两个整数的最大公约数和最小公倍数。

1)写出界面设计使用的控件和相关属性设置。

2)写出题目要求的自定义函数代码。

写出响应用户求解事件的事件过程名称和事件代码。

2.使用过程求s = 1 + (1 + 2) + (1 + 2 + 3) + …+ (1 + 2 + 3 + …+ n) 的值,窗口
有接收用户输入n值的功能,调用过程计算,并显示结果s的功能。

1)写出界面设计使用的控件和相关属性设置,可用表格表示。

2)写出题目要求的自定义过程的代码。

写出响应用户求解事件的组件名、事件名和事件过程代码。

3.使用传值调用自定义函数求3到n的阶乘之和, 窗口有接收用户输入n值的功
能,调用函数计算、并显示结果的功能。

1)写出界面设计使用的控件和相关属性设置。

2)写出题目要求的自定义函数代码。

3)写出响应用户求解事件的组件名、事件名和事件过程代码。

相关文档
最新文档