前言:
当前各位老铁们对“程序语句中mod”都比较讲究,同学们都需要剖析一些“程序语句中mod”的相关文章。那么小编也在网摘上汇集了一些对于“程序语句中mod””的相关内容,希望咱们能喜欢,我们一起来学习一下吧!我个人的理解子界类型更适合用于范围的定义, 例如,人的年龄一般为1到120岁,一年中的月数为1到12月,一月中的天数为1到31天等等。
如果能在程序中对所用的变量的值域作具体规定,就便于检查出那些不合法的数据,这就能更好地保证程序运行的正确性且在一定程度上节省内存空间。
子界类型能很好解决上面的问题。其实在数组的定义中,常用到子界类型,以规定数组下标的范围。
这是Delphi特有的一种数据类型,至少在我的认知中其它语言是没有的
定义
type子界类型标识符=常量1..常量2
常量1称为子界的下界,常量2称为子界的上界;所谓的上界也就是开始的边界,而下界就是结束的边界
注意事项:
下界和上界必须是同一顺序类型(该类型称为子界类型的基类型),且上界的序号必须大于下界的序号。 例如
type age=1..100; letter='a' ..'z';
当然了,类似于前面提到的枚举类型,它也可以把类型声明和变量声明并为一步。可以直接在变量说明中定义子界类型。
type letter='a'..' z ';var ch1,ch2:letter;
可以合并成:
var ch1,ch2:'a'..'d';运算规则
凡可使用基类型的运算规则同样适用该类型的子界类型。例如,可以使用整型变量的地方,也可以使用以整型为基类型的子界类型数据。对基类型的运算规则同样适用于该类型的子界类型。例如,div,mod要求参加运算的数据为整, 因而也可以为整型的任何子界类型数据。基类型相同的不同子界类型数据可以进行混合运算。例如:设有如下说明:
var x:1..100; y:1..500; z:1..1000; a:integer;
合法语句:a:=Sqr(x)+y+z; z:=x+y
y:=x+z+a; 当x+y+a的值在1~500范围内时是合法的,否则会出错。
应用举例
例1、判断当前是周几(case语句尽量少用)
procedure TForm1.Button1Click(Sender: TObject);var Week: 1 .. 7;begin case Week of 1: ShowMessage('周一'); 2: ShowMessage('周二'); 3: ShowMessage('周三'); 4: ShowMessage('周四'); 5: ShowMessage('周五'); 6: ShowMessage('周六'); 7: ShowMessage('周日'); else begin ShowMessage('非法') end; end;end;
标签: #程序语句中mod