Bài giảng Nhập môn về lập trình (C1) - Chương 4: Lệnh if-else, lệnh switch

pdf 14 trang Gia Huy 17/05/2022 1740
Bạn đang xem tài liệu "Bài giảng Nhập môn về lập trình (C1) - Chương 4: Lệnh if-else, lệnh switch", để tải tài liệu gốc về máy bạn click vào nút DOWNLOAD ở trên

Tài liệu đính kèm:

  • pdfbai_giang_nhap_mon_ve_lap_trinh_c1_chuong_4_lenh_if_else_len.pdf

Nội dung text: Bài giảng Nhập môn về lập trình (C1) - Chương 4: Lệnh if-else, lệnh switch

  1. Chương 4 Lệnh if-else Lệnh switch Presenter: Nhập môn về lập trình (C4) Slide 1
  2. Learning outcomes L.O.3.1 – Liệt kê được các kiểu điều khiển và vẽ sơ đồ mô tả chúng. L.O.3.2 – Mô tả được được nguyên tắc kết hợp các kiểu điều khiển để mô tả các giải thuật. L.O.3.3 – Hiện thực được các kiểu điều khiển bằng ngôn ngữ C. L.O.3.4 – Sử dụng các cấu trúc điều khiển để giải quyết bài toán thực tế. Nhập môn về lập trình (C4) Slide 2
  3. Cấu trúc lựa chọn if-else Cú pháp và vận hành  Cho phép dựa vào giá trị luận lý đúng/sai để quyết định thi hành 1 trong 2 nhánh lệnh và bỏ qua nhánh còn lại.  Cú pháp: if (condition) statement1 [else statement2] • condition là biểu thức luận lý miêu tả điều kiện cần kiểm tra. • statement1 (statement2) là lệnh thực thi( nếu muốn dùng nhiều lệnh thì đặt trong dấu ghép { }). • Khi chạy, nếu condition có giá trịđúng thì làm statement1, ngược lại làm statement2. • Dấu [ ] cho biết lệnh if có thểkhông cóelse và statement2.  Lệnh if có thể được viết trên cùng 1 dòng hay trên nhiều dòng. Nhập môn về lập trình (C4) Slide 3
  4. Cấu trúc lựa chọn if-else Lưu đồ vận hành  Lưu đồ giải thích hoạt động của lệnh if else. Sai Sai condition condition Đúng Đúng statement2 statement1 statement1 Có else Không cóelse Nhập môn về lập trình (C4) Slide 4
  5. Cấu trúc lựa chọn if-else Ví dụ // Giải phương trình bậc 2 delta = b * b – 4 * a * c; if (delta >= 0 ) { // co 2 nghiem thuc x1 = (-b+sqrt(delta))/2.0/a; x2 = (-b-sqrt(delta))/(2.0*a); printf("Nghiem x1 = %f, x2 = %f\n", x1,x2); } else // thong bao vo nghiem printf("Phuong trinh vo nghiem.\n"); Nhập môn về lập trình (C4) Slide 5
  6. if-else lồng nhau  Khi có nhiều điều kiện, có thể dùng if-else lồng nhau. If Sai ? else if Đúng Sai M lệnh ? else Đúng N lệnh P lệnh Nhập môn về lập trình (C4) Slide 6
  7. if-else lồng nhau Ví dụ  Tìm số lớn nhất trong 3 số nhập vào. Nhập môn về lập trình (C4) Slide 7
  8. if-else Ghép điều kiện bằng toán tử luận lý  Ta có thể dùng toán tử luận lý để ghép các điều kiện lại và giảm bớt số lệnh if-else sử dụng trong ví dụ trên. Nhập môn về lập trình (C4) Slide 8
  9. Biểu thức điều kiện  Biểu thức điều kiện sử dụng toán tử ? : để cung cấp giá trị.  Cú pháp : ? : nghĩa là nếu đúng thì trả về , ngược lại trả về  Ví dụ : lệnh if if (hours > 40) rate = 0.45; else rate = 0.02; có thể thay bằng : rate = (hours > 40) ? 0.45 : 0.02; Nhập môn về lập trình (C4) Slide 9
  10. Cấu trúc lựa chọn switch Cú pháp  Cú pháp : switch (expression) { case constant-expression1 : [ n1 statements ] [ break; ] case constant-expression2 : [ n2 statements ] [ break; ] [default : [n statements] ] } • expression là 1 biểu thức thuộc kiểu dữ liệu đếm được như char, short, enum. • n1, n2 là danh sách các lệnh thực thi VC++. • Khi giá trị của expression bằng với constant-expression của nhánh nào thì nhánh đó được chạy. • Lưu ý : cần phải dùng lệnh break; để kết thúc sự thi hành của mỗi nhánh và bỏ qua các nhánh khác. Nhập môn về lập trình (C4) Slide 10
  11. Cấu trúc lựa chọn switch Lưu đồ vận hành Expression Trị 1 Trị 2 Trị n statement1 statement1 . . . statement1 Nhập môn về lập trình (C4) Slide 11
  12. Cấu trúc lựa chọn switch Ví dụ Nhập môn về lập trình (C4) Slide 12
  13. Cấu trúc lựa chọn switch Kết quả chạy ví dụ Nhập môn về lập trình (C4) Slide 13
  14. if-else đối với switch  Trong C++, 2 lệnh if-else và switch là tương đương nhau, if-else có thể thay thế switch và ngược lại : if (cond) state1 else state2; switch (cond) { case 0 : state2; break; default : state1; } switch (cond) if (cond == 1) state1; { case 1 : state1; break; else if (cond == 2) case 2 : state2; break; state2; default : state3; else state3; } Nhập môn về lập trình (C4) Slide 14