1.
Câu lệnh điều kiện if
a.
Ý nghĩa
Lệnh if
cho phép chương trình thực hiện khối lệnh phụ
thuộc vào một điều kiện được viết trong câu lệnh là đúng hay sai.
Lệnh if cho phép chương trình rẽ nhánh (chỉ thực hiện 1 trong 2
nhánh).
b.
Cú pháp
- Dạng 1: if (điều kiện) { khối lệnh 1; }
- Dạng 1: if (điều
kiện) { khối lệnh 1; } else { khối lệnh 2; }
(Điều kiện): là một biểu thức lôgic có giá trị đúng (khác 0) hoặc sai (bằng 0).
Nếu điều kiện đúng chương
trình sẽ tiếp tục thực hiện khối lệnh 1, ngược lại nếu điều kiện
sai chương trình sẽ thực hiện khối lệnh 2 (nếu có else) hoặc không làm gì (nếu
không có else).
Cấu trúc lệnh if trong C/C++ |
c.
Đặc trưng
- Cho phép các câu lệnh if có thể
lồng nhau.
-
Nếu nhiều câu lệnh if (có else và không else)
lồng nhau thì else
sẽ đi với if gần nó nhất mà chưa được ghép cặp với else khác. Ví dụ câu lệnh
if (n>0) if (a>b) c = a;
else c = b;
tương đương với
if (n>0) { if (a>b) c = a;
else c = b;}
2. Ví dụ minh hoạ
Ví dụ 1 :
Bằng phép toán gán có điều kiện có thể tìm số lớn nhất max trong 2 số a, b như
sau: max = (a
> b) ? a: b ;
hoặc max được tìm
bởi dùng câu lệnh if:
if (a > b)
max = a; else max = b;
Ví dụ 2 :
Tính năm nhuận. Năm
thứ n là nhuận nếu nó chia hết cho 4, nhưng không chia hết cho 100 hoặc chia
hết 400. Chú ý: một số nguyên a là chia hết cho b nếu phần dư của phép chia
bằng 0, tức a%b == 0.
#include <iostream.h>
void main()
{
int
nam;
cout
<< “Nam = “ ; cin >> nam ;
if
(nam%4 == 0 && year%100 !=0 || nam%400 == 0)
cout <<
nam << "la nam nhuan” ;
else
cout <<
nam << "la nam khong nhuan” ;
}
Ví dụ 3 :
Giải phương trình bậc 2. Cho phương trình ax2 + bx + c = 0 (a ¹ 0), tìm x.
#include <iostream.h> // tệp chứa các phương
thức vào/ra
#include <math.h> //
tệp chứa các hàm toán học
void main()
{
float a, b, c; //
khai báo các hệ số
float delta;
float
x1, x2; //
2 nghiem
cout
<< “Nhap a, b, c:\n” ; cin >> a >> b >> c ; // qui ước nhập a ¹ 0
delta
= b*b - 4*a*c ;
if
(delta < 0) cout << “ph. trình vô nghiệm\n” ;
else
if (delta==0) cout<<“ph. trình có nghiệm kép:" << -b/(2*a)
<< '\n';
else
{
x1
= (-b+sqrt(delta))/(2*a);
x2
= (-b-sqrt(delta))/(2*a);
cout
<< “nghiem 1 = " << x1 << " và nghiem 2 = "
<< x2 ;
}
}
0 Comments