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

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 ;
            }