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嵌套的情況


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM