LẬP TRÌNH C CHO NGƯỜI MỚI HỌC Giảng viên: Thạc sĩ Trần Thanh Sơn Trường Đại Học Khoa Học Tự Nhiên... BÀI 3: CẤU TRÚC RẼ NHÁNH IF VÀ SWITCH CASE I... CẤU TRÚC RẼ NHÁNH IF … ELSEChú ý khi
Trang 1LẬP TRÌNH C CHO NGƯỜI MỚI HỌC
Giảng viên: Thạc sĩ Trần Thanh Sơn Trường Đại Học Khoa Học Tự Nhiên
Trang 2BÀI 3: CẤU TRÚC RẼ NHÁNH IF VÀ
SWITCH CASE
I CẤU TRÚC IF … ELSE
if ( biểu thức điều kiện)
{
<Khối lệnh 1>
}
Else
{
<Khối lệnh 2>
}
2
Nếu biểu thức điều kiện đúng thì thực hiện đúng thì thực hiện khối lệnh 1, sai thì thực hiện khối lệnh 2 Khối lệnh 1, khối lệnh 2
có thể có nhiều cấu trúc if … else nữa
Trang 3CẤU TRÚC RẼ NHÁNH IF … ELSE
Cấu phép toán logic
• > ; >=; < ; <=
• == so sánh bằng
• != So sánh khác
• ! Phép phủ định
• Ví dụ:
• If (a > b); if (a>= b); if (a!=b)
Trang 4CẤU TRÚC RẼ NHÁNH IF … ELSE
Chú ý khi dùng if … else
• Câu lệnh if – else lồng nhau
• else sẽ kết hợp với if gần nhất
• Trong trường hợp if bên trong không có else thì phải viết nó trong cặp dấu {} để tránh kết hợp sai ý muốn.
• Ví dụ : có 4 biến có giá trị sau: so1=4, so2=6, so3=9, a = 2
4
if(so1>0)
if(so2>so3)
a = so2;
else
a= so3;
if(so1>0) {
if(so2>so3)
a = so2;
} else
a= so3;
Trang 5BÀI TẬP VỀ IF … ELSE
• Bài 1: Bài đổi tiền hôm trước Kiểm tra người dùng nhập số âm
thì xuất câu thông báo: “Số tiền nhập vào phải là số nguyên dương”
Giải pháp:
If (M <=0) in ra : xin nhập lại số tiền nguyên dương
else : thực hiện công việc đổi tiền như đã làm.
Trang 6BÀI TẬP VỀ IF … ELSE (tt)
• Bài 2: Nhập vào 2 số, tìm số lớn nhất, nhỏ nhất.
Giải pháp:
Đầu vào: Cho 2 số: a, b
Xử lý: if (a>=b ) max = a; min = b;
else: max = b; min = a Đầu ra: in ra màn hình max, min.
• Cải tiến: nhập vào 3 số, in ra max, min
6
Trang 7BÀI TẬP VỀ IF … ELSE (tt)
• Bài 3: Nhập vào một số nguyên dương n với 1<n<=7 Tùy theo
n = 1, 2, 3, …7 hãy in Sunday, Monday, Tuesday, …Saturday ra màn hình.
Trang 8II CẤU TRÚC SWITCH … CASE
switch (biểu thức)
{
case n1:
Các câu lệnh;
Break;
……….
case nk:
Các câu lệnh;
Break;
[Default: các câu lệnh]
Trường hợp biểu thức có giá trị bằng n1
Trường hợp biểu thức có giá trị bằng nk
Các trường hợp còn lại không bắt buộc
Trang 9BÀI TẬP VỀ SWITCH … CASE
• Bài 1: Nhập vào một số nguyên dương n với 1<n<=7 Tủy theo n =
1, 2, 3, …7 hãy in Sunday, Monday, Tuesday, …Saturday ra màn hình
Giải pháp:
• Nhập n, xét 8 trường hợp:
• n = 1 : in “Sunday”
• …
• n=7: in “Saturday”
• n<1 hoặc n>7: in ra giá trị không hợp lệ
Trang 10BÀI TẬP VỀ SWITCH … CASE (tt)
• Bài 2: Nhập vào năm dương lịch (từ năm 1975) trở đi và in ra các
giải thể thao lớn được tổ chức trong năm
Giải pháp: Nhận xét thấy rằng
• Các năm 1980,1984,1988, 1992, 1996… có tổ chức Olympic và Euro (Những năm chia chẵn cho 4)
• Các năm 1990, 1994, 1998, … có tổ chức World Cup (chia 4 dư 2)
• Các năm 1995, 1997, 1999, …có tổ chức SEA Games (năm lẻ, chia 4 dư 1 hoặc 3)
• Các năm 1996, 1998, 2000 … có tổ chức Tiger Cup, nhưng chỉ tính từ 1996 trở đi (các năm này chia chẵn cho 4 hoặc chia 4 dư 2)
10
Trang 11BÀI TẬP VỀ SWITCH … CASE (tt)
• Ta có sơ đồ sau:
Năm >= 1975 đúng
Năm >=1975 Sai: Không xét
Năm % 4 =0: Olympic và Euro Nếu năm >= 1996: Có Tiger Cup Năm % 4 = 1 hoặc 3: SEA Games Năm % 4=2: có World Cup
Năm > = 1996: Có Tiger cup