Kỹ thuật lập trình C Chương 3: Rẽ nhánh

• Cú pháp: if ( điều kiện) ; if( điều kiện) ; else ; • 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 { }

pdf9 trang | Chia sẻ: lylyngoc | Lượt xem: 1709 | Lượt tải: 1download
Bạn đang xem nội dung tài liệu Kỹ thuật lập trình C Chương 3: Rẽ nhánh, để tải tài liệu về máy bạn click vào nút DOWNLOAD ở trên
bangtqh@hotmail.com KỸ THUẬT LẬP TRÌNH C Chương 3: Rẽ nhánh 04/2010 Kỹ thuật lập trình C - Rẽ nhánh 2bangtqh@hotmail.com • Cú pháp: if ( điều kiện) ; if ( điều kiện) ; else ; • 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 { } Rẽ nhánh if 04/2010 Kỹ thuật lập trình C - Rẽ nhánh 3bangtqh@hotmail.com Rẽ nhánh if - ví dụ1 • Tìm min của 2 số a, b nhập từ bàn phím 04/2010 Kỹ thuật lập trình C - Rẽ nhánh 4bangtqh@hotmail.com !NOT ||OR &&AND Ký hiệuToán tử FALSETRUEFALSE FALSE FALSE TRUE B FALSEFALSE FALSETRUE TRUETRUE A && BA TRUETRUEFALSE FALSE FALSE TRUE B FALSEFALSE TRUETRUE TRUETRUE A || BA • Sử dụng các toán tử luận lý để xây dựng các điều kiện phức tạp hơn TRUEFALSE FALSETRUE ! AA 04/2010 Kỹ thuật lập trình C - Rẽ nhánh 5bangtqh@hotmail.com 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? 04/2010 Kỹ thuật lập trình C - Rẽ nhánh 6bangtqh@hotmail.com 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 04/2010 Kỹ thuật lập trình C - Rẽ nhánh 7bangtqh@hotmail.com Viết chương trình cho phép giải và biện luận phương trình bậc 2 ax2 + bx + c = 0 04/2010 Kỹ thuật lập trình C - Rẽ nhánh 8bangtqh@hotmail.com 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ả ? 04/2010 Kỹ thuật lập trình C - Rẽ nhánh 9bangtqh@hotmail.com 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) 04/2010 Kỹ thuật lập trình C - Rẽ nhánh 10bangtqh@hotmail.com Sử dụng else if • Khi muốn chọn 1 trong n quyết định thì sử dụng else if như sau: 04/2010 Kỹ thuật lập trình C - Rẽ nhánh 11bangtqh@hotmail.com Viết chương trình xếp loại học lực theo điểm trung bình học tập. 04/2010 Kỹ thuật lập trình C - Rẽ nhánh 12bangtqh@hotmail.com Sử dụng toá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; 04/2010 Kỹ thuật lập trình C - Rẽ nhánh 13bangtqh@hotmail.com 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;] } 04/2010 Kỹ thuật lập trình C - Rẽ nhánh 14bangtqh@hotmail.com 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 toá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 04/2010 Kỹ thuật lập trình C - Rẽ nhánh 15bangtqh@hotmail.com Rẽ nhánh switch … case… 04/2010 Kỹ thuật lập trình C - Rẽ nhánh 16bangtqh@hotmail.com 04/2010 Kỹ thuật lập trình C - Rẽ nhánh 17bangtqh@hotmail.com Bài tập 1. 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 2. 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) 3. Viết chương trình cho phép giải hệ phương trình bậc nhất 2 ẩn x, y 4. Viết chương trình nhập số nguyên 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) 5. 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? 04/2010 Kỹ thuật lập trình C - Rẽ nhánh 18bangtqh@hotmail.com