Tải bản đầy đủ (.pdf) (9 trang)

Bài giảng Kỹ thuật lập trình C: Chương 3 - ThS. Trần Quang Hải Bằng

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (319.6 KB, 9 trang )

KỸ THUẬT LẬP TRÌNH C
Chương 3: Rẽ nhánh



04/2010

Rẽ nhánh if
• Cú pháp:
if ( điều kiện)
<lệnh thực hiện>;
if ( điều kiện)
<lệnh 1>;
else
<lệnh 2>;

• Cơng dụng:
- Thực hiện 1 trong 2 lệnh tùy thuộc vào điều kiện
đúng/sai.
- Nếu thực nhiện nhiều hơn 1 lệnh
phải để trong cặp
dấu { }


Kỹ thuật lập trình C - Rẽ nhánh

2


04/2010


Rẽ nhánh if - ví dụ1
• Tìm min của 2 số a, b nhập từ bàn phím

Kỹ thuật lập trình C - Rẽ nhánh



3

04/2010

• Sử dụng các tốn tử luận lý để xây dựng các điều
kiện phức tạp hơn
Toán tử

Ký hiệu

AND

&&

OR

||

NOT

!

A


B

A && B

TRUE

TRUE

TRUE

TRUE

FALSE

FALSE

FALSE

TRUE

FALSE

FALSE

FALSE

FALSE

A


B

A || B

A

!A

TRUE

TRUE

TRUE

TRUE

FALSE

TRUE

FALSE

TRUE

FALSE

TRUE

FALSE


TRUE

TRUE

FALSE

FALSE

FALSE



Kỹ thuật lập trình C - Rẽ nhánh

4


04/2010

Viết chương trình nhập vào tọa độ của 3 điểm A, B, C trên mặt phẳng.
Kiểm tra xem tam giác ABC có là tam giác đều khơng?



Kỹ thuật lập trình C - Rẽ nhánh

5

04/2010


Tính cước cuộc gọi điện thoại N giây biết rằng đơn giá 1 block là
x đồng, 1 block = 6 giây



Kỹ thuật lập trình C - Rẽ nhánh

6


Viết chương trình cho phép giải và biện luận phương trình bậc 204/2010
ax2 + bx + c = 0



Kỹ thuật lập trình C - Rẽ nhánh

7

04/2010

Rẽ nhánh if
• Lưu ý:
– Nếu sau if hoặc else tác động lên nhiều hơn 1 lệnh thì phải sử
dụng cặp dấu { }

– Nếu sau if có dấu ; thì điều kiện khơng cịn tác động đến lệnh
phía sau
kết quả ?




Kỹ thuật lập trình C - Rẽ nhánh

8


04/2010

Rẽ nhánh if
• Lưu ý:

– Giá trị số cũng được coi là ñiều kiện (số = 0: điều
kiện sai; số ≠ 0: điều kiện đúng)

if(delta=0)



Kỹ thuật lập trình C - Rẽ nhánh

9

04/2010

Sử dụng else if
• Khi muốn chọn 1 trong n quyết định thì sử
dụng else if như sau:




Kỹ thuật lập trình C - Rẽ nhánh

10


04/2010

Viết chương trình xếp loại học lực theo điểm trung bình học tập.



Kỹ thuật lập trình C - Rẽ nhánh

11

04/2010

Sử dụng tốn tử ? thay if
• Cú pháp:
(điều kiện) ? lệnh 1 : lệnh 2 ;

• Cơng dụng:
– Lệnh 1 ñược thực hiện nếu điều kiện đúng
– Lệnh 2 ñược thực hiên nếu điều kiện sai

• Ví dụ:
(a > b) ? max = a : max = b;




Kỹ thuật lập trình C - Rẽ nhánh

12


04/2010

Rẽ nhánh switch … case…
• Rẽ nhánh if chỉ cho phép chọn một trong hai phương án
• Rẽ nhánh switch … case cho phép chọn một trong nhiều
phương án.
• Cú pháp:
switch (biểu thức nguyên) {
case n1:
Các câu lệnh;
case n2:
Các câu lệnh;
...
case nk:
Các câu lệnh;
[default: Các câu lệnh;]
}


Kỹ thuật lập trình C - Rẽ nhánh

13


04/2010

Rẽ nhánh switch … case…
• Cơng dụng
– Nếu biểu thức nguyên có giá trị bằng nhãn ni thì máy sẽ
nhảy đến thực hiện các lệnh của nhãn đó, nếu khơng thì
máy sẽ nhảy đến thực hiện các lệnh trong thành phần tùy
chọn default
– Máy sẽ ra khỏi tốn tử switch khi nó gặp câu lệnh break,
return hoặc nó gặp dấu “}” của câu lệnh switch
– Chú ý, khi máy nhảy tới nhãn ni, nếu kết thúc dãy lệnh
trong nhãn này khơng có câu lệnh break hoặc return thì
máy sẽ tiếp tục thực hiện các lệnh trong nhãn ni+1
– Thường cuối mỗi dãy lệnh của một nhãn có một lệnh
break


Kỹ thuật lập trình C - Rẽ nhánh

14


04/2010

Rẽ nhánh switch … case…



Kỹ thuật lập trình C - Rẽ nhánh


15

04/2010



Kỹ thuật lập trình C - Rẽ nhánh

16


04/2010

Bài tập
1.
2.
3.
4.

5.

Viết chương trình tìm giao điểm của đường trong tâm
O (x0, y0) bán kính R với đường thẳng y = ax + b
Viết chương trình tính giá trị căn bậc N của số nguyên
X (N và X ñều nhập từ bàn phím)
Viết chương trình cho phép giải hệ phương trình bậc
nhất 2 ẩn x, y
Viết chương trình nhập số ngun x ≤ 9999 sau đó in
ra màn hình cách đọc số nguyên x theo phiên âm tiếng
việt (ví dụ: 2010 – hai nghìn khơng trăm mười)

Viết chương trình cho phép nhập tọa độ 3 điểm A, B, C
trên mặt phẳng. Hãy cho biết tam giác ABC có là tam
giác cân hay khơng? Chu vi và diện tích của tam giác?



Kỹ thuật lập trình C - Rẽ nhánh

17

04/2010



Kỹ thuật lập trình C - Rẽ nhánh

18



×