1 if 结构:
if control_expr_1
Statement 1
Statement 2
...
elseif control_expr_2
Statement 1
Statement 2
...
else
Statement 1
Statement 2
...
end
2 switch结构
switch (switch_expr)
case {case_expr_1, case_expr_1_1, case_expr_1_2},
Statement 1
Statement 2
...
case case_expr_2
Statement 1
Statement 2
...
otherwise,
Statement 1
Statement 2
...
end
3 try/catch 结构
用于捕捉错误
如果一个错误发生在这个结构的 try 语句块中,那么程序将会执行 catch 语句块,程序
将不会中断。它将帮助程序员控制程序中的错误,而不用使程序中断。
try
Statement 1
Statement 2
...
catch
Statement 1
Statement 2
...
end
4 while循环
While 循环是一个重复次数不能确定的语句块
while expr
...
...
...
end
5 for循环
for循环以指定的数目重复地执行特定的语句块,
%index 是循环变量,exp 是循环控制表达式
%expr 经常用捷径表达式方式,即 first:incr:last
for index = expr
Statement 1
...
Statement n
end
6 举例
%if else
a=2
if a==1
b=0
else
b=1
end
%switch-case
switch a
case {1,2,3}
c=0
otherwise
c=1
end
%for循环
d=0
for i=1:3
d=d+1
if d==2
e=1
return
end
end
%try catch
% Initialize array
a = [ 1 -3 2 5];
try
% Try to display an element
index = input('Enter subscript of element to display: ');
disp(['a(' int2str(index) ') = ' num2str(a(index))] );
catch
% If we get here an error occurred
disp( ['Illegal subscript: ' int2str(index)] );
end
%while循环,求平均值
n=0;x=0;sum_x=0;
x=input("input first number:");
while x>=0
n=n+1;
sum_x=sum_x+x;
x=input("input next number:");
end
mean_x=sum_x/n;
fprintf("the sum value of the input numbers is :%f\n",sum_x);
fprintf("the number of the input numbers is :%f\n",n);
fprintf("the mean value of the input numbers is :%f\n",mean_x);
7 break和continue语句
(1)break和continue语句可以控制 while 和 for 循环;
(2)break 语句可以中止循环的执行和跳到 end 后面的第一句执行;
(3) continue 只中止本次循环,然后返回循环的顶部.
break:
%test_break.m
for ii = 1:5;
if ii == 3;
break;
end
fprintf('ii = %d \n', ii);
end
disp('End of loop!');
执行结果:
>> test_break
ii = 1
ii = 2
End of loop!
continue:
%test_continue.m
for ii = 1:5;
if ii == 3;
continue;
end
fprintf('ii = %d \n', ii);
end
disp('End of loop!');
执行结果:
>> test1
ii = 1
ii = 2
ii = 4
ii = 5
End of loop!