Pascal Case 語句



您已經觀察到,if-then-else 語句使我們能夠在程式中實現多個決策。這也可以透過更簡單的方式使用case 語句來實現。

語法

case 語句的語法如下:

case (expression) of
   L1 : S1;
   L2: S2;
   ...
   ...
   Ln: Sn;
end;

其中,L1L2... 是 case 標籤或輸入值,可以是整數、字元、布林或列舉資料項。S1S2... 是 Pascal 語句,每個語句可能與一個或多個 case 標籤相關聯。表示式稱為case 選擇器case 索引。case 索引可以假設與 case 標籤對應的值。

case 語句必須始終與其關聯一個end 語句。

以下規則適用於 case 語句:

  • 在 case 語句中使用的表示式必須具有整數或列舉型別,或者屬於在類中具有單個轉換函式到整數或列舉型別的類型別。

  • 您可以在一個 case 中包含任意數量的 case 語句。每個 case 後面跟著要比較的值和一個冒號。

  • case 的 case 標籤必須與 case 語句中的表示式具有相同的資料型別,並且必須是常量或文字。

  • 編譯器將評估 case 表示式。如果其中一個 case 標籤的值與表示式的值匹配,則執行該標籤後面的語句。之後,程式在最終的 end 之後繼續。

  • 如果沒有任何 case 標籤與表示式值匹配,則執行 else 或 otherwise 關鍵字後的語句列表。這可以是一個空語句列表。如果沒有 else 部分並且沒有 case 常量與表示式值匹配,程式流程將在最終的 end 之後繼續。

  • case 語句可以是複合語句(即 Begin ... End 塊)。

流程圖

Case statement in Pascal

示例

以下示例說明了該概念:

program checkCase;
var
   grade: char;
begin
   grade := 'A';

   case (grade) of
      'A' : writeln('Excellent!' );
      'B', 'C': writeln('Well done' );
      'D' : writeln('You passed' );
      'F' : writeln('Better try again' );
   end;     
   
   writeln('Your grade is  ', grade );
end.

當編譯並執行上述程式碼時,它會產生以下結果:

Excellent!
Your grade is A
pascal_decision_making.htm
廣告

© . All rights reserved.