Cấu Trúc Rẽ Nhánh Trong C

     

Nói phổ biến việc triển khai chương trình là hoạt động tuần tự, tức triển khai từng lệnh một từ bỏ câu lệnh bắt đầu của chương trình cho tới câu lệnh cuối cùng. Tuy nhiên, để bài toán lập trình kết quả hơn số đông các ngôn từ lập trình bậc cao đều có các câu lệnh rẽ nhánh và các câu lệnh lặp chất nhận được thực hiện những câu lệnh của chương trình không tuân theo trình tự tuần từ bỏ như vào văn bản.

Bạn đang xem: Cấu trúc rẽ nhánh trong c

Phần này mình sẽ trình diễn các câu lệnh cho phép rẽ nhánh như vậy. Để thống độc nhất vô nhị mỗi câu lệnh được trình bày về cú pháp (tức cách viết câu lệnh), cách sử dụng, sệt điểm, lấy ví dụ như minh hoạ và một vài nét cần chú ý khi áp dụng lệnh.

1. Câu lệnh điều kiện if và if…elseÝ nghĩa

Một câu lệnh if có thể chấp nhận được chương trình hoàn toàn có thể thực hiện nay khối lệnh này xuất xắc khối lệnh khác dựa vào vào một đk được viết trong câu lệnh là đúng giỏi sai. Nói theo một cách khác câu lệnh if được cho phép chương trình rẽ nhánh (chỉ tiến hành 1 trong 2 nhánh).

Cú pháp

if (điều kiện) khối lệnh 1; else khối lệnh 2; if(điều kiện) khối lệnh 1;Trong cú pháp trên câu lệnh if có hai dạng: gồm else và không tồn tại else. điều kiện là một trong những biểu thức lôgic tức nó có giá trị đúng (khác 0) hoặc không đúng (bằng 0). Khi chương trình thực hiện câu lệnh if nó và tính biểu thức điều kiện.

Nếu đk đúng lịch trình sẽ tiếp tục thực hiện những lệnh trong khối lệnh 1, ngược lại nếu điều kiện sai lịch trình sẽ triển khai khối lệnh 2 (nếu gồm else) hoặc không làm gì (nếu không tồn tại else).

Đặc điểm Đặc điểm chung của các câu lệnh có cấu tạo là bản thân nó chứa những câu lệnh khác. Điều này cho phép các câu lệnh if có thể lồng nhau. Nếu nhiều câu lệnh if (có else cùng không else) lồng nhau bài toán hiểu if và else làm sao đi với nhau cần được chú ý. Qui tắc là else đang đi với if ngay gần nó nhất mà không được ghép cặp với else khác.Ví dụ câu lệnh:

if (n>0) if (a>b) c = a; else c = b;là tương tự với

if(n>0) if (a>b) c = a; else c = b;Ví dụ minh hoạ:VD1: Viết lịch trình tính năm nhuận bởi C++. Năm máy n là nhuận trường hợp nó phân tách hết cho 4, nhưng không phân chia hết mang đến 100 hoặc phân tách hết 400. Chú ý: một trong những nguyên a là phân tách hết đến b giả dụ phần dư của phép chia bằng 0, tức a%b == 0.

#include void main() { int year; cout > year ; if (year%4 == 0 && year%100 !=0 || year%400 == 0){cout VD2: Viết lịch trình C++ nhằm giải phương trình bậc 2 ax2 + bx + c = 0 (a ≠ 0).

Xem thêm: " Tình Yêu Như Bát Mắm Tôm Hay Nhất Mọi Thời Đại, Stt Về Bún Đậu Mắm Tôm Hay Nhất Mọi Thời Đại

#include // tệp chứa những phương thức vào/ra #include // tệp chứa những hàm toán học void main() float a, b, c; // khai báo các hệ số float delta; float x1, x2; // 2 nghiem cout > a >> b >> c ; // qui cầu nhập a ≠ 0 delta = b*b - 4*a*c ; if (delta C++ ý niệm “đúng” là 1 trong giá trị khác 0 bất kỳ và “sai” là cực hiếm 0 phải thay vày viết if (x != 0) hoặc if (x == 0) ta rất có thể viết gọn gàng thành if (x) hoặc if (!x) vị nếu (x != 0) đúng thì ta gồm x ≠ 0 và vày x ≠ 0 nên (x) cũng đúng. Ngược lại nếu (x) đúng thì x ≠ 0, từ đó (x != 0) cũng đúng. Tương tự như ta dễ dàng thấy được (x == 0) là tương đương với (!x).

2. Câu lệnh Switch vào C++Ý nghĩa

Câu lệnh if đến ta khả năng được lựa lựa chọn 1 trong nhì nhánh để thực hiện, cho nên vì thế nếu thực hiện nhiều lệnh if lồng nhau sẽ cung cấp khả năng được rẽ theo không ít nhánh. Tuy nhiên trong ngôi trường hợp vậy nên chương trình sẽ khá khó đọc, do vậy C++ còn hỗ trợ một câu lệnh kết cấu khác được cho phép chương trình tất cả thể chọn 1 trong những nhánh nhằm thực hiện, chính là câu lệnh switch.


Cú pháp

switch (biểu thức điều khiển) case biểu_thức_1: khối lệnh 1 ; break; case biểu_thức_2: khối lệnh 2 ; break;case ……………...: ............... ; break;case biểu_thức_n: khối lệnh n ; break;default: khối lệnh n+1; Biểu thức điều khiển được áp dụng trong một lệnh switch phải tất cả kiểu là integer hoặc liệt kê, hoặc là một trong những trong các kiểu phần trong đó lớp có một hàm thay đổi đơn tới một kiểu dáng integer hoặc dạng hình liệt kê.Bạn có thể có ngẫu nhiên số lệnh case làm sao trong một switch. Mỗi case được theo sau vày giá trị nhằm được so sánh và một vệt hai chấm.biểu_thức_n, là biểu thức hằng, cho một case đề nghị cùng kiểu tài liệu với phát triển thành trong switch, và nó bắt buộc là hằng số.Khi phát triển thành được đưa tới cùng giá trị với một case nào đó, lệnh theo sau case đó sẽ thực thi tới khi chạm chán lệnh break.Khi chạm mặt lệnh break, switch kết thúc, với dòng tinh chỉnh nhảy tới cái lệnh tiếp theo của lệnh switch đó.Không tuyệt nhất thiết mỗi case rất cần được chứa một lệnh break. Nếu không tồn tại lệnh break nào xuất hiện, dòng tinh chỉnh sẽ không tới được case tiếp theo cho tới khi phát hiện một lệnh break.Một lệnh switch có thể tất cả một case mặc định tùy chọn, với phải xuất hiện thêm ở sau cuối của lệnh switch. Case khoác định này hoàn toàn có thể được sử dụng để thực hiện một nhiệm vụ khi không tồn tại case nào là đúng (true). Trong trường hợp case mặc định này thì không yêu cầu lệnh break.Cách thực hiệnĐể thực hiện câu lệnh switch trước tiên chương trình tính cực hiếm của biểu thức điều khiển (btđk), tiếp nối so sánh công dụng của btđk với giá trị của những biểu_thức_i dưới lần lượt trường đoản cú biểu thức thứ nhất (thứ nhất) cho tới biểu thức sau cùng (thứ n), nếu giá trị của btđk bởi giá trị của biểu thức thiết bị i trước tiên nào kia thì lịch trình sẽ tiến hành dãy lệnh trang bị i và liên tiếp thực hiện toàn bộ dãy lệnh còn sót lại (từ hàng lệnh thiết bị i+1) cho đến hết (gặp vết ngoặc đóng góp của lệnh switch). Nếu quá trình so sánh không chạm mặt biểu thức (nhánh case) nào bằng với giá trị của btđk thì chương trình triển khai dãy lệnh trong default và tiếp tục cho đến hết (sau default có thể còn số đông nhánh case khác).

Trường vừa lòng câu lệnh switch không tồn tại nhánh default và btđk không hợp với bất kể nhánh case làm sao thì chương trình không làm cho gì, coi như đang thực hiện xong xuôi lệnh switch. Nếu như muốn lệnh switch chỉ triển khai nhánh thiết bị i (khi btđk = biểu_thức_i) cơ mà không phải tiến hành thêm những lệnh sót lại thì cuối dãy lệnh vật dụng i thông thường ta đặt thêm lệnh break; đây là lệnh được cho phép thoát thoát khỏi một lệnh kết cấu bất kỳ.

*

Ví dụ

VD1 : Viết công tác C++ nhập 2 số a với b vào trường đoản cú bàn phím. Nhập kí trường đoản cú thể hiện 1 trong những bốn phép toán: cộng, trừ, nhân, chia. In ra kết quả thực hiện phép toán đó trên 2 số a, b.

Xem thêm: Vai Trò Và Tác Dụng Của Thanh Magie Trong Bình Nóng Lạnh Có Tác Dụng Gì ?

void main() {float a, b, c ; // những toán hạng a, b và kết quả c char dau ; // phép toán được mang lại dưới dạng kí trường đoản cú cout > a >> b ; cout > dau ; switch (dau) case "+": c = a + b ; break ; case "−": c = a - b ; break ; case "x": case ".": case "*": c = a * b ; break ; case ":": case "/": c = a / b ; break ; cout Trong chương trình trên ta chấp nhận các kí tự x, ., * thể hiện được cho phép toán nhân cùng :, / diễn đạt phép toán chia.

VD2: Viết lịch trình C++ in ra biện pháp đọc của một chữ số: (từ 0 -> 9)

#include int main() int chuSo;printf("Nhap chu so: ");scanf("%d", & chuSo);switch (chuSo) case 0:printf("Khong");break;case 1:printf("Mot");break;case 2:printf("Hai");break;case 3:printf("Ba");break;case 4:printf("Bon");break;case 5:printf("Nam");break;case 6:printf("Sau");break;case 7:printf("Bay");break;case 8:printf("Tam");break;case 9:printf("Chin");break;default:printf("Khong phai chu so!");return 0;


Tagged Câu lệnh rẽ nhánh vào C++ Điều khiển luồng trong C++ if...else Lệnh if switch

Post navigation