006-Dephi 表达式 选择语句 循环语句其他语句
目录
- 表达式
- 语句
- 简单语句
- 复杂语句
- 选择语句
- 循环语句
- 格式 if if-else
- 格式 case-of-else语句
- 示例代码
- 定义过程-输入分数是否合格
- 定义过程-case输出月份
- Exit; 终止过程运行
- 循环语句
- FOR
- while
- repeat
- 其他语句
- continue
- break
- Exit
- abort
- halt
- runerror
- 枚举类型
- 常量
- 枚举类型
表达式
语句
简单语句
在 begin end. 外面的语句
复杂语句
有 begin
和 end.
组成的复杂语句
选择语句
if else
循环语句
格式 if if-else
program xxx;
{$APPTYPE CONSOLE}
{$R *.res}uses:System.SysUtils;begin// 标准写法if 1 < 2 thenbeginwriteln('台湾第一美女');end;// 简洁写法if 1 < 2 thenWriteln('台湾第一美女');// if elseif true thenbeginWriteln('台湾第一美女:萧蔷');endelsebeginWriten('台湾第一美女:林志玲');end;Readln;
end.
格式 case-of-else语句
case varName of value1: begin end; else begin // todo end; end;
var i:Integer;
begini: = 1;case i of1:begin:Writeln('台湾第一美女');end;2:Writeln('台湾第一美女:萧蔷');elsebeginWriteln('台湾第一美女:林心如');end;end;
end.
示例代码
prgram project1;{$APPTYPE CONSOLE}{$ R *.rs}var scope:Integer;
scope:= 1;
beginWritln('请输入你的分数');Readln(scope); if scope >= 60 thenbeginWritel('合格');end;elsebeginWriteln('不合格');end;Readln;
end.
定义过程-输入分数是否合格
prgram project1;{$APPTYPE CONSOLE}{$ R *.rs}procedure daxiao();
varscope:Integer;
beginWritln('请输入你的分数');Readln(scope); if scope >= 60 thenbeginWritel('合格');end;elsebeginWriteln('不合格');end;
end;begindaxiao();Readln;
end.
定义过程-case输出月份
program project1;
{$APPTYPE CONSOLE}
{$ R *.rs}
procedure yuefen(yuefen:Integer);
beginWriteln('请输入月份:');Readln(yuefen);case yuefen of1:Writeln('1月');2:Writeln('2月');elsebeginWriteln('输入的数字不在月份内');end;end;
varyuefen:Integer;
beginyuefen(yuefen);Readln;
end.
Exit; 终止过程运行
在代码里面 加上这个
循环语句
FOR
varI,K:Integer;
beginI,K := 0;for I := 1 to 10 doK := K + I;Writeln('K的值:',K);
end;
while
while 1 = 2 do beginWriteln('============');
end;
repeat
repeatWriteln('==================');
until(true);
其他语句
continue
跳过本次循环
break
跳出最近一层循环
Exit
退出程序
如果在过程里面 ,退出过程
如果在函数中,退出函数
abort
终止程序运行 ,产生不报错的异常信息,跳出祖先模块
halt
runerror
枚举类型
常量
定义好值,在运行后不允许修改
const YuanZhouLv: Double = 3.15; // 不允许修改
枚举类型
typeEColors=(red,green,blue)
varcolor:EColors;
begincolor := EColors.RED;Writeln(ord(color)); // ord(color) 获取数值
end.
typeEColors=(red,green,blue)
varcolor:EColors;EIndex:Integer;
beginfor Color:= Low(EColors) to Heigh(EColors) do beginGetEnumName(TypeInfo(EColors),0); // 默认获取第一个// 遍历需要自定义 index 变量,每次for执行一次,就+1EIndex:= EIndex+1; // Inc(EIndex) // 等于这个// 就会出书 red green blue 的文字end;
end.
GetEnumName(Typeino(EColors),0) // 获取名字
GetEnuvalue(TypeInfo(EColors),Ename) // 获取value