第 2章 基本数据类型与表达式本章要点:
掌握 Delphi的基本数据类型 ( 整型,实型,
字符型,字符串型和布尔型 )
理解并掌握常量与变量的概念与定义方法
掌握三类基本运算符:算术运算符,位运算符和字符串运算符的含义与优先顺序
掌握三类基本表达式,并能灵活运用
2.1 循序渐进学理论
2.1.1 基本数据类型
1.整型描述存储各种整数数据的类型即整型。
2.实型描述存储各种实数数据的类型为实型。
3.字符型描述存储单个字符数据的类型。
4.字符串型
5.布尔型布尔型是描述存储 True(真)和 False(假)数据的类型。
2.1.2 Delphi 7.0中的标识符与保留字
1.标识符标识符是一种符号,用来表示常量、变量、
类型、过程、函数和对象等语法实体。标识符又分标准标识符和自定义标识符。系统规定的标识符叫标准标识符,用户或程序员定义的标识符叫自定义标识符。
( 1)标准标识符包括下面 5种标识符:
标准常量:例如 Boolean类型数据的取值 True
和 False。
标准类型:例如表 2-1至表 2-6中的各种类型说明名 。
标准过程:例如 Put,Reset等 。
标准函数:例如 sin( 正弦函数 ),Cos( 余弦 ) 等 。
标准文件:例如 Input,TextFile等 。
( 2)自定义标识符必须遵循如下的命名规则:
由字母、数字和下划线,_”组成。
以字母或下划线开头 。
不能与保留字同名 。
最好不与标准标识符同名 。
2.保留字
3.指令符
2.1.3 Delphi 7.0中的常量与变量
1.常量
( 1)直接常量直接常量就是在程序中直接使用的各种常量,如整型常量 516,-111等;实型常量 1.2,0.0,3.6E5等;
字符常量 'a','10'等;字符串常量,'www','中国 '等;
布尔常量 True和 False。
( 2) 符号常量符号常量就是用一个符号 ( 自定义标识符 ) 来表示常量 。 符号常量在使用前必须先定义,定义符号常量的定义格式如下 。
[格式 ],Const
常量名 1=常量值 1;
常量名 2=常量值 2;

常量名 n=常量值 n;
符号常量也可以具有数据类型,称类型常量 。 符号常量中的类型可以是标准类型,也可以是高级类型 。 类型常量的定义格式如下 。
[格式 ],Const
常量名 1:类型名 1=常量值 1;

常量名 n:类型名 n=常量值 n;
2.变量
( 1)变量的声明声明变量的语法格式如下,
[格式 ],Var
变量名 1:类型名 1;
变量名 2:类型名 2;

变量名 n:类型名 n;
( 2) 变量的使用
2.1.4 Delphi 7.0中的运算符与表达式
1.算术运算符
( 1)取正运算符,+” ( 2)取负运算符,-”
( 3)加法运算符,+” ( 4)减法运算符,-”
( 5)乘法运算符,*” ( 6)除法运算符,/”
( 7)整除运算符,div” ( 8)取余运算符,mod”
注意,? 取正运算符和取负运算符是单目运算符,其它
6个运算符为双目运算符。
加法运算符、减法运算符和乘法运算符的结果的类型为参加运算的两个数据中的精度高的类型。
/,div和 mod运算符中的除数不能为 0。
2.字符串运算符
Delphi只有一个字符串运算符,+”—— 连接运算符,用于把两个或多个字符串连接在一起形成一个新的字符串。例如 'abc'+'def'的值为 'abcdef'。
3.位运算符
4.运算符的优先级表达式中通常有多个运算符,在计算表达式的值时,必须弄清这些运算符的运算次序,即运算符的优先级。
5.表达式
( 1)算术表达式算术表达式就是将算术运算符、圆括号和满足该运算符要求的有关数据(数值型常量、变量和函数等)连接起来的式子。
( 2)字符串表达式利用字符串运算符将字符串常量、字符串变量或字符串函数连接起来的式子称字符串表达式。字符串表达式的格式如下:
s1+s2
其中 s1和 s2可以是字符串常量,变量或函数 。
2.1.5 Delphi 7.0的语句书写规则与赋值语句
1.语句书写规则
Delphi的语句分简单语句和复合语句,两者之间并没有太大差别。只是复合语句由两条以上的简单语句组成,同时必须书写在
,begin”和,end”语句之间。两种语句中的每条语句的末尾都是分号(只有程序的最后一条语句是句号)。为区分不同的语句,每条语句以分号隔开,可以在一行写几条语句,
也可以把一条语句写在几行上。
2.赋值语句赋值语句的语法格式及功能如下。
[格式 1]:变量名,=表达式 ;
[功能 ]:将表达式的值赋值给变量 。
[格式 2]:对象,属性名,=表达式;
[功能 ]:将表达式的值赋值给对象的属性 。
[说明 ]:表达式的结果与变量或对象的属性同属于一种类型 。
2.1.6 Delphi 7.0的常用函数与过程
1.数学类函数
( 1)绝对值函数
[调用格式 ],Abs(x);
( 2)取整数函数
[调用格式 1],Trunc(x):Int64;
[调用格式 2],Round(x):Int64;
[调用格式 3],Int(x):Extended;
( 3)取小数函数
[调用格式 ],Frac(x):Extended;
( 4)平方函数
[调用格式 ],Sqr(x):Extended;
( 5)平方根函数
[调用格式 ],Sqrt(x):Extended;
( 6)三角函数
[调用格式 1],Sin(x):Extended;
[调用格式 2],Cos(x):Extended;
[调用格式 3],ArcTan(x):Extended;
( 7)指数函数
[调用格式 ],Exp(x):Real;
( 8)自然对数函数
[调用格式 ],Ln(x):Real;
( 9)随机数函数
[调用格式 ],Random(x);
2.字符串处理函数与过程
( 1)大小写转换函数
[调用格式 1],LowerCase(const s:String):String;
( 2)比较字符串大小函数
[调用格式 1],CompareStr(const s1,s2:String):Integer;
[调用格式 2],CompareText(const s1,s2:String):Integer;
( 3)求字符串长度函数
[调用格式 ],Length(s):Integer;
( 4)查找位置函数
[调用格式 ],Pos(s1,s2:String):Integer;
( 5)合并字符串过程
[调用格式 ]AppendStr(vars1:String;Consts2:String);
( 6)截取子字符串函数
[调用格式 ],Copy(s:String;m,n:Integer):String;
( 7)删除子字符串过程
[调用格式 ],Delete(var s:String;m,n:Integer);
( 8)插入子字符串过程
[调用格式 ],Insert(S1:String;var
s:String;k:Integer);
( 9)数值和字符串相互转换函数
[调用格式 1],IntToStr(m:Integer):String;
[调用格式 2],StrToInt(s:String):Integer;
[调用格式 3],FloatToStr(f:Extended):String;
[调用格式 4],StrToFloat(s:String):Extended;
2.2 典型实例练能力
2.2.1 典型实例一:求整数各位数字
【 实例题目 】
利用本章学习的算术运算符和算术表达式,编写一个程序,实现下面的功能:输入一个任意 4位整数,
计算千位,百位,十位和个位上的数字 。 程序设计界面如图 2-1所示,程序运行界面如图 2-2所示 。 程序运行时,输入任意整数,单击按钮 【 个位数字 】,将显示个位数字,单击按钮 【 十位数字 】,将显示十位数字,其它依此类推 。
2.3 上机练习重应用
2.3.1 上机练习一:简单的函数计算器
【 练习 题目 】
常用的计算器能求很多种函数的值,用户也可以编写一个程序计算某些函数的值 。 程序的设计界面如图 2-3所示,程序运行时输入自变量,单击 【 】,【 】,【 】 和 【 】 按钮,
将分别计算出 x的相应函数值,并显示在函数值后面的编辑框中 。 程序运行界面如图 2-4所示 。