matlab中使用elseif和if嵌套的对比

% 目标:
% 判定成绩等级
%定义变量
% 输入:分数grade
%清除变量或指令
clc;
% 允许用户输入参数
disp ('该功能练习if语句');
disp ('输入你的成绩,系统将判定等级. ');
grade = input ('输入分数: ');

%根据分数情况讨论
if grade > 95.0  %等级A
     disp('你的成绩是A等! ');
elseif  grade > 86.0    %等级B
     disp('你的成绩是B等! ');
elseif  grade > 76.0   %等级C
     disp('你的成绩是C等! ');
elseif  grade > 66.0   %等级D
     disp('你的成绩是D等! ');
else  %等级E
   disp('你的成绩是E等! ');  
end

方法二:使用if 嵌套同样达到成绩判定功能:

% 判定成绩等级
%定义变量
% 输入:分数grade
%清除变量或指令
clc;
% 允许用户输入参数
disp ('该功能练习if语句');
disp ('输入你的成绩,系统将判定等级. ');
grade = input ('输入分数: ');

%根据分数情况讨论
if grade > 95.0  %等级A
     disp('你的成绩是A等! ');
else
    if  grade > 86.0    %等级B
     disp('你的成绩是B等! ');
    else
        if  grade > 76.0   %等级C
            disp('你的成绩是C等! ');
        else
            if  grade > 66.0   %等级D
            disp('你的成绩是D等! ');
            else  %等级E
            disp('你的成绩是E等! '); 
            end 
        end
    end
end

因此,我们可以很显然的看到使用elseif比使用if嵌套更简洁明了,程序可读性更好,也利于调试,所以倾向用elseif

end总是和上一个最近的if匹配,所以,如果在第二种方法中意外丢失一个end时,编译器自己也不容易定位到错误位置,开发人员不得不自己重新排查

因此,推荐多个elseif的从句 ,而少用多个if嵌套的情况

原文地址:https://www.cnblogs.com/shuqingstudy/p/4852734.html