Các câu lệnh điều khiển và lệnh rẽ nhánh
VC & BB Nội dung Câu lệnh điều kiện if Câu lệnh rẽ nhánh switch Một số kinh nghiệm lập trình Một số ví dụ minh họa NMLT - Câu lệnh điều kiện rẽ nhánh VC & BB Câu lệnh if (thiếu) S Đ Trong ( ), cho kết (sai = 0, ≠ 0) if () ; Câu lệnh đơn Câu lệnh phức (kẹp { }) NMLT - Câu lệnh điều kiện rẽ nhánh VC & Câu lệnh if (thiếu) BB void main() { if (a == 0) printf(“a bang 0”); if (a == 0) { printf(“a bang 0”); a = 2912; } } NMLT - Câu lệnh điều kiện rẽ nhánh VC & BB Câu lệnh if (đủ) S Đ Trong ( ), cho kết (sai = 0, ≠ 0) if () ; else ; Câu lệnh đơn Câu lệnh phức (kẹp { }) NMLT - Câu lệnh điều kiện rẽ nhánh VC & Câu lệnh if (đủ) BB void main() { if (a == 0) printf(“a bang 0”); else printf(“a khac 0”); if (a == 0) { printf(“a bang 0”); a = 2912; } else printf(“a khac 0”); } NMLT - Câu lệnh điều kiện rẽ nhánh VC & BB Câu lệnh if - Một số lưu ý Câu lệnh if câu lệnh if… else câu lệnh đơn NMLT - Câu lệnh điều kiện rẽ nhánh VC & BB Câu lệnh if - Một số lưu ý Câu lệnh if lồng vào else tương ứng với if gần if (a != 0) if (b > 0) printf(“a != va b > 0”); else printf(“a != va b 0) printf(“a != va b > 0”); else printf(“a != va b 0) printf(“PT co nghiem”); if (delta < 0) printf(“PT vo nghiem”); else // delta >= if (delta == 0) printf(“PT co nghiem kep”); else printf(“PT co nghiem”); NMLT - Câu lệnh điều kiện rẽ nhánh VC & Câu lệnh if - Một số lưu ý BB Không thêm ; sau điều kiện if void main() { int a = 0; if (a != 0) printf(“a khac 0.”); if (a != 0); printf(“a khac 0.”); if (a != 0) { }; printf(“a khac 0.”); } NMLT - Câu lệnh điều kiện rẽ nhánh VC & BB Câu lệnh switch (thiếu) = Đ switch () { case :;break; case :;break; … } biến/biểu thức cho giá trị rời rạc : đơn khối lệnh {} S = S Đ NMLT - Câu lệnh điều kiện rẽ nhánh 10 VC & BB Câu lệnh switch - Một số lưu ý switch nhảy đến case tương ứng thực đến gặp break cuối switch kết thúc NMLT - Câu lệnh điều kiện rẽ nhánh 17 VC & BB Câu lệnh switch - Một số lưu ý Tận dụng tính chất bỏ break; NMLT - Câu lệnh điều kiện rẽ nhánh 18 VC & BB Kinh nghiệm lập trình Câu lệnh if if (a == 1) printf(“Mot”); if (a == 2) printf(“Hai”); if (a == 3) printf(“Ba”); if (a == 4) printf(“Bon”); if (a == 5) printf(“Nam”); Câu lệnh switch switch (a) { case 1: case 2: case 3: case 4: case 5: printf(“Mot”); break; printf(“Hai”); break; printf(“Ba”); break; printf(“Bon”); break; printf(“Nam”); } NMLT - Câu lệnh điều kiện rẽ nhánh 19 VC & BB Kinh nghiệm lập trình Câu lệnh switch Câu lệnh if if (a == 3.14) printf(“OK”); if (a < 10) printf(“OK”); if (a == 1) printf(“OK”); if (a == || a == 3) printf(“OK”); NMLT - Câu lệnh điều kiện rẽ nhánh 20 VC & BB Bài tập thực hành Nhập số Hãy đọc giá trị số nguyên có giá trị từ đến 9, ngược lại thông báo không đọc Nhập chữ Nếu chữ thường đổi sang chữ hoa, ngược lại đổi sang chữ thường Giải phương trình bậc ax + b = Giải phương trình bậc hai ax2 + bx + c = NMLT - Câu lệnh điều kiện rẽ nhánh 21 VC & BB Bài tập thực hành Nhập số nguyên a, b, c d Tìm số có giá trị nhỏ (min) Nhập số nguyên a, b, c d Hãy xếp giá trị số nguyên theo thứ tự tăng dần Tính tiền taxi từ số km nhập vào Biết: a km đầu giá 15000đ b Từ km thứ đến km thứ giá 13500đ c Từ km thứ trở giá 11000đ d Nếu 120km giảm 10% tổng tiền NMLT - Câu lệnh điều kiện rẽ nhánh 22 VC & BB Bài tập thực hành Nhập vào tháng năm Cho biết tháng có ngày Nhập độ dài cạnh tam giác Kiểm tra có phải tam giác khơng tam giác gì? NMLT - Câu lệnh điều kiện rẽ nhánh 23 VC & BB Bài tập (if) #include void main() { int n; printf(“Nhap mot so nguyen: ”); scanf(“%d”, &n); if (n == 1) printf(“Mot”); else if (n == 2) printf(“Hai”); … else printf(“Khong biet doc”); } NMLT - Câu lệnh điều kiện rẽ nhánh 24 VC & BB Bài tập (switch) #include void main() { int n; printf(“Nhap mot so nguyen: ”); scanf(“%d”, &n); switch (n) { case 1: printf(“Mot”); break; case 2: printf(“Hai”); break; case 3: printf(“Ba”); break; … default: printf(“Ko biet doc”); } } NMLT - Câu lệnh điều kiện rẽ nhánh 25 VC & Bài tập BB #include void main() { char ch; printf(“Nhap mot ky tu: ”); scanf(“%c”, &ch); if (ch >= ‘a’ && ch = ‘A’ && ch b) { tam = a; a = b; b = tam; } … printf(“Cac so theo thu tu tang dan: ”); printf(“%d %d %d %d”, a, b, c, d); } NMLT - Câu lệnh điều kiện rẽ nhánh 30 VC & BB Bài tập Nên khai báo số lưu giá tiền km #define G1 15000 #define G2 13500 #define G3 11000 Cách tính tiền dựa số km n n = T = G1 ≤ n ≤ T = G1 + (n – 1)*G2; n > T = G1 + 4*G2 + (n – – 4)*G3; n > 120 T = T*0.9; NMLT - Câu lệnh điều kiện rẽ nhánh 31 ... NMLT - Câu lệnh điều kiện rẽ nhánh VC & BB Câu lệnh if - Một số lưu ý Câu lệnh if câu lệnh if… else câu lệnh đơn NMLT - Câu lệnh điều kiện rẽ nhánh VC & BB Câu lệnh if - Một số lưu ý Câu lệnh. .. NMLT - Câu lệnh điều kiện rẽ nhánh 13 VC & BB Câu lệnh switch - Một số lưu ý Câu lệnh switch câu lệnh đơn lồng NMLT - Câu lệnh điều kiện rẽ nhánh 14 VC & BB Câu lệnh switch - Một số lưu ý Các. .. BB Câu lệnh if (thiếu) S Đ Trong ( ), cho kết (sai = 0, ≠ 0) if () ; Câu lệnh đơn Câu lệnh phức (kẹp { }) NMLT - Câu lệnh điều kiện rẽ nhánh VC & Câu lệnh