Sách C/Xét điều kiện
< Sách C
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ửaCông Thức
sửaif (<biểu thức>) { <mệnh đề1> }
Thí Dụ
sửa if (a>b)
{
printf("a is greater than b");
}
If .. Else
sửaCông Thức
sửaif (<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 {
và }
.
Switch
sửaCông Thức
sửaswitch (<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ửaswitch (ch)
{ case "I' :themsv() ;break ;
case ' I ' : timkiem( ) ; break ;
case ' L; : loaibo( ) ;break ;
case ' D' : lietke( ) ; break ;
case ' Q ' : exit (1) ; break ;
default : break ;
}