Sách C/Xét điều kiện

Tủ sách mở Wikibooks

Chọn Lựa có điều kiện - ? .. :[sửa]

 Điều_Kiện_Chọn_Lựa ? Chọn_Lựa_1 : Chọn_Lựa_2

Thí Dụ[sửa]

   z = (a>b) ? a : b;

Dòng lệnh trên tương đương với

     if (a>b)
     {
       z = a;
     }
     else
     {
       z=b;
     }

Nếu a > b, z = a bằng không z = b

If[sửa]

Công Thức[sửa]

   if (<biểu thức>)
   {
      <mệnh đề1>
   }

Thí Dụ[sửa]

   if (a>b)
   {
      printf("a is greater than b");
   }

If .. Else[sửa]

Công Thức[sửa]

   if (<biểu thức>)
   {
      <mệnh đề1>
   }
   Else
   {
      <mệnh đề1>
   }

Thí Dụ[sửa]

   if (a>b)
   {
      printf("a is greater than b");
   }
   Else
   {
      printf("a is not greater than b");
   }


Trong dạng này, nếu phần trong ngoặc đơn có giá trị khác 0 hay có giá trị "đúng" (true) thì dòng điều khiển sẽ chuyển vào để thực thi <mệnh đề1>. Nếu trong câu lệnh if có thêm từ khóa else thì <mệnh đề2> sẽ được thực thi một khi <biểu thức> có giá trị 0 hay giá trị "sai".

Nhắc lại: như trên thì vị trí mỗi mệnh đề đều có thể thay bằng một khối mã.

Trong cách viết mã lồng nhau phức tạp bao gồm nhiều mệnh đề if thì từ khóa else sẽ được gán vào mệnh đề if phía trên gần nhất nào chưa được ghép. Để tránh sự nhầm lẫn cách tốt nhất là lồng chúng vào trong các dấu {}.

Switch[sửa]

Công Thức[sửa]

  switch (<biểu thức X>)
  {
     case <hằng H1> : 
<mệnh đề M1>
case <hằng H2> :
<mệnh đề M2>
break;
case <hằng H3> :
<mệnh đề M3>
default :
<mệnh đề Mdefault>
}

Thí Dụ[sửa]

switch (ch)
              { case "I' :themsv() ;break ;
                 case ' I ' : timkiem( ) ; break ;
                 case ' L; : loaibo( ) ;break ;
                 case ' D' : lietke( ) ; break ;
                 case ' Q ' : exit (1) ; break ;
                 default : break ;
            }