选择语句与分支程序
选择语句也称为条件语句,条件语句有if与case两种语句,主要用于实现分支结构。
1.if语句 if语
(1)
(2)
句主要实现了判断的功能,语法格式如下:
if <条件表达式>then<语句>;
if <条件表达式>then<语句1>
else<语句2>;
(3)if语句可以嵌套,形成多重选择结构,形式如下:
if<条件表达式1>then<语句1>
else if<条件表达式2>then<语句2>
else if<条件表达式3>then<语句3>
例2.2 建立分支结构的程序,分析执行结果
序步骤如下。
①创建目录以下
E:\delphi\program\example2—2。
②执行菜单File I New打开New Items对话框,选解嵌套形式的条件语句的含义。建立程中New标签中的Console Application项,按下OK按钮。
③通过菜单File l Save All将工程文件保存在目录E:\delphi\program\exampl比一2中。保存时只保存工程文件,名称④修改文件为Project2—2。
Project2—2.
program Project2—2;
dpr中的程序清单如下:
{$APPTYPE CONSOLE}
Var
money:t~urrency:
/^’
begin
writeln(’请输入你的钱数:’);
readln(money);
‘f money>=3000 theit mone 000 then
>=
writeln(’买个随身听’)
else if money>=2000 then
writeln(’买个游艺机’)
else if money>=1 000 then
writeln(’买本书’)
else writeln(’存钱吧!’)
readln;
//writeln()函数在屏幕上显示文本
//readln()函数从键盘输入数字
end.
⑤编译、链接和运行程序,执行Run I Run菜单命令,测试效果
注意:在if语句的第(2)种情况下,“语句1\"的最后不需
要分号“;\"。“语句1\"和“语句2\"
可以是复合语句,如果“语句1\"是一个复合语句,则该复合语句的end后面也不需要分号。因为
分号表示if语句结束,因此else前没有分号,否则系
到与之匹配的if语句,从而产生语法错误
2.case 语句
统认为if语句已经结束,再看到else则找不
case语句对一个结果的多种情况进行判断,语法格式如下:
Case<
[else
end;
表达式>of
<常量1>:<语句1>;
<常量2>:<语句2>;
<常量n>:<语句n
<语句n+1>;]
其中“表达式\"的值必须是有序类型,常量的类型必须与表达式的类型一致。如果表达式的数值等于“常量1”,则执行“语句1\",执行完毕后就退出case语句。如果表达式的数值不等于<常量1>,则依次向下判断。如果所有罗列出来的数值都不满足,就执行else语句后面的语句。
例 用case语句
根据输入的年份(year)和月份
(month),
程序的步骤同前面的例题,工程文件project2—3放在文件夹E:
程序代码如下:
program Project2—3;
{$APPTYPE CONSOLE}
{$R木.res}
var year,month,days:Integer;
begin
writeln(’请输入年份:’);
readln(year);
days:=0;
for month:=1 to 1 2 do
1 0
begin
case month of
决定该月的天数(days)。建立\delphi\program\example23中。
1,3,5,7,8,1 0,1 2:days:=3 1;
2:if(year mod 400=O)or not(year mod 1 00=O)and(year mod 4=0) ,
then days:=29
else days:=28; 4,6,9,1 1:days:=30;
else writeln(’月份出错!’);
end;
’writeln(mOBth,’月’,days,’天’);
end;
writeln(’按回车结束’);
readln;
end.
运行程序,输入一个表示年份的整数,屏幕上将显示该年每月的天数。
注意:case语句中,常量出现的先后顺序不受限制。但常量值不能重复,否则会出现语法错误。
责任编辑:小草