Khuyến mãi vps

C/c++] cấu trúc rẽ nhánh có điều kiện

#1



CẤU TRÚC RẼ NHÁNH CÓ ĐIỀU KIỆN
· Lệnh và khối lệnh
a. Lệnh: Là một tác vụ, biểu thức, hàm, cấu trúc điều khiển…
VD:
x = x + 2;
printf("Day la mot lenh\n");
b. Khối lệnh: Là một dãy các câu lệnh được bọc bởi cặp dấu { },
VD
[TABLE="class: cms_table"]
[TR]
[TD="class: cms_table_gutter"]1
2
3
4
5[/TD]
[TD="class: cms_table_code"]{ //dau khoi
a = 5;
b = 6;
printf("Tong %d + %d = %d", a, b, a+b);
} //cuoi khoi
[/TD]
[/TR]
[/TABLE]




1.Lệnh if và if else
a. Lệnh if



tài liệu tham khảo
VD1:
[TABLE="class: cms_table"]
[TR]
[TD="class: cms_table_gutter"]1
2[/TD]
[TD="class: cms_table_code"]if (a>0)
printf ("So %d la so duong !", a);
[/TD]
[/TR]
[/TABLE]




VD_BT: Nhập vào 1 số, nếu số đó là số chính phương thì in ra màn hình số đó là số chính phương.

b. Lệnh if else



VD1:
[TABLE="class: cms_table"]
[TR]
[TD="class: cms_table_gutter"]1
2
3
4[/TD]
[TD="class: cms_table_code"]if (a>0)
printf ("So %d la so duong !", a);
else
printf ("So %d khong la so duong !", a);
[/TD]
[/TR]
[/TABLE]





VD_BT: Nhập vào 1 số và kiểm tra xem số đó có là số nguyên tố hay không, nếu là số nguyên tố thì thông báo là số nguyên tố, ngược lại thì thông báo không là số nguyên tố?
· Ngoài ra chúng ta còn có cấu trúc if lông nhau. Xét ví dụ sau:
[TABLE="class: cms_table"]
[TR]
[TD="class: cms_table_gutter"]1
2
3
4
5
6
7[/TD]
[TD="class: cms_table_code"]if (a>0)
printf ("So %d la so duong !", a);
else
if (a==0)
printf ("So %d la so 0 !", a);
else
printf ("So %d la so am!", a);
[/TD]
[/TR]
[/TABLE]




Lưu ý: Các lệnh if…else lồng nhau thì else sẽ luôn luôn kết hợp với if nào chưa có else gần nhất. Vì vậy khi gặp những lệnh if không có else, Bạn phải đặt chúng trong những khối lệnh rõ ràng để tránh bị hiểu sai câu lệnh.
VD_BT: Viết chương trình nhập vào điểm của một học sinh. In ra xếp loại học tập của học sinh đó. (Cách xếp loại. Nếu điểm >= 9, Xuất sắc. Nếu điểm từ 8 đến cận 9, Giỏi. Nếu điểm từ 7 đến cận 8, Khá. Nếu điểm từ6 đến cận 7, TBKhá. Nếu điểm từ 5 đến cận 6, TBình. Còn lại là Yếu).


2.Lệnh switch và switch default
Lệnh switch cũng giống cấu trúc if, nhưng nó mềm dẻo hơn và linh động hơn nhiều so với sử dụng if. Tuy nhiên, nó cũng có mặt hạn chế là kết quả của biểu thức phải là giá trị hằng nguyên (có giá trị cụ thể). Một bài toán sử dụng lệnh switch thì cũng có thể sử dụng if, nhưng ngược lại thì còn tùy thuộc vào giải thuật của bài toán.
a. Lệnh switch… case

VD: Nhập vào 1 số từ 1->5 và in ra cách đọc tương ứng:


VD_BT: Nhập vào 1 tháng và in ra số ngày của tháng đó (Không kể năm nhuận, gợi ý:, để đơn giản và không mất công thì các tháng có chung số ngày ta không làm gì, không có break và chỉ thực hiện ở 1 tháng)

b. Lệnh switch … case…default

VD_BT: Viết chương trình nhập vào 2 số x, y và 1 trong 4 toán tử +, -, *, /. Nếu là + thì in ra kết quảx + y, nếu là – thì in ra x – y, nếu là * thì in ra x * y, nếu là / thì in ra x / y (nếu y = 0 thì thông báo không chia được), nếu không đúng các toán tử thì thông báo và thoát.



· Ngoài ra còn có các lệnh rẽ nhánh không điều kiện Break, continue, goto.
- Lệnh break: lệnh này dùng để thoát khỏi vòng for, while, do... while, và switch. Nếu có nhiều chu trình lồng nhau thì sẽ ra khỏi chu trình trong cùng.
- Lệnh continue : dùng để bỏ dở việc thực hiện một vòng lặp của các lệnh for, while, do while, và chuyển sang ngay một vòng lặp mới.

- Lệnh goto nhãn: chuyển không điều kiện tới lệnh có nhãn chỉ định. Nhãn có dạng như tên biến và thêm dấu hai chấm ‘:’ ở sau.
Về chi tiết các lệnh này mình sẽ nói ở bài 5.



Bài tập:
1. Tìm số lớn nhất trong 3 số a,b,c nhập vào từ bàn phím
2. Viết chương trình giải phương trình bậc 2: ax^2 + bx + c = 0, với a, b, c nhập vào từ bàn phím.
3. Viết chương trình tính diện tích các hình:
a. Vuông (nhấn 1)
b. Chữ nhật (2)
c. Tam giác (3)
d. Thang (4)
e. Tròn (5)
4. Các bạn làm các VD_BT nhá.



http://i.imgur.com/d1LT34h.png
http://i.imgur.com/do9s8OT.png
http://i.imgur.com/PdbvI0o.png
http://i.imgur.com/WWtkjYJ.png
http://i.imgur.com/Hk79Lzx.png
 

Similar threads

Khuyến mãi vps

ADS

Bài mới

Top