首页 理论教育 流程控制语句简介

流程控制语句简介

时间:2023-06-20 理论教育 版权反馈
【摘要】:2.4.2.4 while语句while循环语句与for循环语句不同的是,前者是以条件的满足与否来判断循环是否结束的,而后者则是以执行次数是否达到指定值为判断的。

流程控制语句简介

如其他的程序设计语言一样,MATLAB语言也给出了丰富的流程控制语句,以实现具体的程序设计。在命令窗口中的操作虽然可以实现人机交互,但是所能实现的功能却相对简单。虽然也可以在命令窗口中使用流程控制语句,但是由于命令窗口中交互式的执行方式,使用得这样的操作极为不方便。而在M文件中,通过对流程控制语句的组合使用,可以实现多种复杂功能。MATLAB语言的流程控制语句主要有if-else-end、switch-case、for及while 4种语句。

2.4.2.1 if-else-end语句

条件判断语句也是程序设计语言中的流程控制语句之一。使用该语句可以选择执行指定的命令,MATLAB语言中的条件判断语句是if-else-end语句。if-else-end语句的一般形式为:

if〈逻辑判断语句〉

逻辑值为“真”时执行的语句

else

逻辑值为“假”时执行的语句

end

当逻辑判断表达式为“真”时,将执行if与else语句间的命令,否则将执行else与end语句间的命令。

在MATLAB语言的if-else-end语句中的else子句是可选项,即语句中可以不包括else子句的条件判断。在程序设计中,也经常碰到需要进行多重逻辑选择的问题,这时可以采用if-else-end语句的嵌套形式,即

if〈逻辑判断语句1〉

逻辑值1为“真”时的执行语句

elseif〈逻辑判断语句2〉

逻辑值2“真”时的执行语句

elseif〈逻辑判断语句3〉

else

当以上所有的逻辑值均为假时的执行语句

end

在以上各层次的逻辑判断中,若其中任意一层逻辑判断为真,则将执行对应的执行语句,并跳出该条件判断语句,其后的逻辑判断语句均不进行检查。

2.4.2.2 switch-case语句

if-else-end语句所对应的是多重判断选择,而有时也会遇到多分支判断选择的问题。MATLAB语言为解决多分支判断选择提供了switch-case语句。

switch-case语句的一般表达形式为

switch〈选择判断量〉

Case选择判断值1

选择判断语句1

case选择判断值2(www.xing528.com)

选择判断语句2

otherwise

判断执行语句

end

与其他程序设计语言的switch-case语句不同的是,在MATLAB语言中,当其中一个case语句后的条件为真时,switch-case语句不对其后的case语句进行判断。也就是说在MATLAB语言中,即使有多条case判断语句为真,也只执行所遇到的第一条为真的语句。这样就不必像C语言那样,在每条case语句后加上break语句以防止继续执行后面为真的case条件语句。

2.4.2.3 for语句

for循环语句是流程控制语句中的基础语句,使用该循环语句可以以指定的次数重复执行循环体内的语句。

for循环语句的调用形式为

for循环控制变量=〈循环次数设定〉

循环体

end

例如:

for i=1∶2∶12

s=s+i;

end

在上例中,循环次数由数组1∶2∶12决定,设定循环次数的数组可以是已定义的数组,也可以在for循环语句中定义,此时定义的格式为

〈初始值〉∶〈步长〉∶〈终值

初始值为循环变量的初始设定值,每执行循环体一次,循环控制变量将增加步长大小一次,直至循环控制变量的值大于终值时循环结束,这里步长是可以为负的。在for循环语句中,循环体内不能出现对循环控制变量的重新设置,否则将会出错,for循环允许嵌套使用。

2.4.2.4 while语句

while循环语句与for循环语句不同的是,前者是以条件的满足与否来判断循环是否结束的,而后者则是以执行次数是否达到指定值为判断的。

while循环语句的一般形式为

while〈循环判断的语句〉

循环体

end

其中循环判断语句为某种形式的逻辑判断表达式,当该表达式的值为真时,就执行循环体内的语句;当表达式的逻辑值为假时,就退出当前的循环体。如果循环判断语句为矩阵,当且仅当所有的矩阵元素非零时,逻辑表达式的值为真。

免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。

我要反馈