程序控制结构
选择结构
if
语句
%单分支if语句
if 条件
语句组
end
%双分支if语句
if 条件
语句组1
else
语句组2
end
%多分支if语句
if 条件
语句组1
elseif
语句组2
elseif
语句3
...
end
案例1:
clc
clear all
while 1
x = input('请输入一个字符:','s');
if x >= 'a' & x <= 'z'
f = sprintf('转换为:%s',upper(x));
disp(f);
elseif x >= 'A' & x <= 'Z'
f = sprintf('转换为:%s',lower(x));
disp(f);
elseif x >= '0' & x <= '9'
f = sprintf('转换为:%d',abs(x));
disp(f);
else
disp(x);
end
end
案例2:
clc
clear all
x = input('请输入一个成绩:');
if x >= 90 & x <= 100
f = '等级为A';
elseif x >= 80 & x < 90
f = '等级为B';
elseif x >= 70& x < 80
f = '等级为C';
elseif x >= 60 & x < 70
f= '等级为D';
elseif x >= 0 & x < 60
f = '不及格';
else
f = '请输入正确数据';
end
disp(f);
switch
语句
switch 表达式
case 结果表 1
语句组 1
case 结果表 2
语句组 2
case 结果表 3
语句组 3
.....
end
案例:
clc
clear all
x = input('请输入一个成绩:');
switch x
case num2cell(90 : 100)
f = '等级为A';
case num2cell(80 : 89)
f = '等级为B';
case num2cell(70 : 79)
f = '等级为C';
case num2cell(60 : 69)
f= '等级为D';
case num2cell(0 : 59)
f = '不及格';
otherwise
f = '输入错误';
end
disp(f);
try
语句
try
语句组 1
catch
语句组 2
end
lasterr
循环结构
for
语句
for 循环变量 = 表达式1 : 表达式2 : 表达式3
循环体语句
end
for 矩阵变量
循环体语句
end
案例1:
clc
clear all
for k = 100 : 999
m1 = rem(k , 10);
m2 = rem(fix(k / 10) , 10);
m3 = fix(k / 100);
if k == m1 ^ 3 + m2 ^ 3 + m3 ^ 3
disp(k);
end
end
案例2:
x = fix(rand(2 , 5) * 40 + 5);
s1 = 0;
s2 = 0;
for k = x
for l = k'
s1 = s1 + l;
end
s2 = s2 + s1;
disp(s2);
end
案例3:
%函数文件
function [y] = ff2(n , m)
y = 0;
for x = 1 : n
y = y + x ^ m;
end
%脚本文件
clc
clear all
b = ff2(5 , 2) + ff2(100 ,-2);