Quyết định và Rẽ nhánh trong Lập trình C?

Quyet Dinh Va Re Nhanh Trong Lap Trinh C



Một thành phần quan trọng của bất kỳ ngôn ngữ lập trình nào là khả năng đưa ra quyết định, trong đó máy tính được lập trình để tuân theo các đường dẫn thực thi nhất định tùy thuộc vào các điều kiện cụ thể. Ngôn ngữ C, được phát triển vào đầu những năm 1970, là một ngôn ngữ lập trình phổ biến và sớm nhất cung cấp quyết định khả năng thông qua phân nhánh .

Quyết định trong lập trình C là gì?

Trong lập trình C, quyết định là kỹ năng cốt lõi mà người lập trình cần nắm vững để xây dựng chương trình hiệu quả. Ra quyết định là quá trình đánh giá các điều kiện khác nhau và lựa chọn cách hành động tốt nhất dựa trên kết quả. Với câu lệnh if-else, quyết định được triển khai trong C. Các quyết định dựa trên các điều kiện và được thực hiện bằng cách sử dụng câu lệnh if-else. Nếu điều kiện là đúng, mã sẽ chạy; mặt khác, nếu nó sai, mã chứa trong câu lệnh khác sẽ được chạy.

Phân nhánh trong lập trình C là gì?

Trong lập trình C, phân nhánh là kỹ thuật cho phép luồng thực thi thay đổi dựa trên kết quả của một điều kiện. phân nhánh cho phép chương trình chạy các khối mã cụ thể tùy thuộc vào kết quả của một tình huống cụ thể.







Có nhiều loại phân nhánh trong Lập trình C, bao gồm nếu khác , công tắc , Và toán tử có điều kiện . trong một tuyên bố chuyển đổi , chương trình sẽ đánh giá một giá trị và chọn tùy chọn có liên quan từ danh sách các trường hợp có sẵn. Toán tử có điều kiện là tốc ký nếu khác câu lệnh cho phép bạn viết mã ngắn hơn.



Quyết định và phân nhánh trong lập trình C

Các quyết định quy trình trong Lập trình C liên quan đến việc sử dụng các câu lệnh điều kiện để kiểm soát luồng thực hiện chương trình. phân nhánh cho phép chương trình thực thi các bộ mã khác nhau dựa trên kết quả của các điều kiện nhất định.



Trong lập trình C, quyết định , Và phân nhánh đạt được thông qua:





  • câu lệnh if
  • Câu lệnh if-else
  • tuyên bố chuyển đổi
  • Lồng nhau nếu
  • thang other-if
  • phá vỡ tuyên bố
  • tiếp tục Tuyên bố

1: câu lệnh if

Phương pháp đơn giản nhất của ra quyết định được cung cấp bởi lập trình C là câu lệnh if . Các câu lệnh if kiểm tra một điều kiện nhất định và thực thi mã trong phần thân của câu lệnh nếu điều kiện đó là đúng. Nếu không, chương trình sẽ bỏ qua khối mã được liên kết với câu lệnh if , và nó tiếp tục với mã tiếp theo.

Cú pháp cho câu lệnh if là:



nếu như ( tình trạng )
{
Khối câu lệnh;
}

Nhìn vào đoạn mã dưới đây:

#include
int chính ( )
{
số nguyên = hai mươi ;
nếu như ( trên một > 5 )
{
bản inf ( 'num lớn hơn 5 \N ' ) ;
}
bản inf ( 'giá trị của num là: %d \N ' , trên một ) ;
trở lại 0 ;
}

Đoạn mã trên định nghĩa một biến “ trên một ” với giá trị là 20 và sử dụng câu lệnh if để kiểm tra xem nó có lớn hơn 5 không. Nếu có, chương trình sẽ in “ số lớn hơn 5 “. Cuối cùng, nó in giá trị của “ trên một “.

đầu ra

2: Câu lệnh if-else

Câu lệnh if-else là một sửa đổi của câu lệnh if cho phép thực thi các khối mã khác nhau dựa trên điều kiện là đúng hay sai.

nếu như ( tình trạng ) {
// mã để thực thi nếu như điều kiện là ĐÚNG VẬY
} khác {
// mã để thực thi nếu như điều kiện là SAI
}

Kết quả là, khối mã đầu tiên sẽ được thực thi nếu điều kiện là đúng và khối mã thứ hai sẽ được thực thi nếu điều kiện là sai.

Hãy xem đoạn mã sau đây làm ví dụ:

#include
int chính ( )
{
số nguyên = 10 ;
nếu như ( trên một > 5 )
{
bản inf ( 'num lớn hơn 5 \N ' ) ;
} khác {
bản inf ( 'num nhỏ hơn 10' ) ;
}
trở lại 0 ;
}

Chương trình trên tạo biến num và gán cho nó giá trị 10. Sau đó, sử dụng một câu lệnh if , nó xác định xem “ trên một ” lớn hơn 5. Dấu “ số lớn hơn 5 ” được in nếu “ trên một ” vượt quá 5. Nó hiển thị “ số nhỏ hơn 10 ” nếu num không lớn hơn 5. Chương trình sau đó trả về 0, biểu thị rằng nó đã chạy thành công.

đầu ra

3: câu lệnh switch

Một công cụ quan trọng khác để quyết định trong lập trình C là công tắc tuyên bố. Các công tắc câu lệnh kiểm tra các điều kiện cụ thể giống như câu lệnh if-else làm, nhưng nó có thể kiểm tra nhiều khả năng cho điều kiện đó. Điều này rất hữu ích khi chúng ta đang xử lý nhiều kết quả khác nhau.

Cú pháp sử dụng tuyên bố chuyển đổi trong lập trình C là:

công tắc ( sự biểu lộ ) {
trường hợp hằng số1:
// mã để thực thi nếu như biểu thức bằng hằng1
phá vỡ ;
trường hợp hằng số2:
// mã để thực thi nếu như biểu thức bằng hằng2
phá vỡ ;
...
mặc định:
// mã để thực thi nếu như không có trường hợp nào phù hợp
phá vỡ ;
}

Sự biểu lộ là biến được đánh giá trong trường hợp này, và báo cáo trường hợp bao gồm các giá trị được so sánh với nó.

Hãy xem đoạn mã sau đây làm ví dụ:

#include

int chính ( ) {
số nguyên = 2 ;
công tắc ( trên một ) {
trường hợp 1 :
bản inf ( 'số là 1' ) ;
phá vỡ ;
trường hợp 2 :
bản inf ( 'số là 2' ) ;
phá vỡ ;
trường hợp 3 :
bản inf ( 'số là 3' ) ;
phá vỡ ;
mặc định:
bản inf ( 'số khác với 1, 2 và 3' ) ;
phá vỡ ;
}
trở lại 0 ;
}

Chương trình trên trình bày cách sử dụng câu lệnh switch để kiểm tra giá trị của biến “ trên một ” và chạy khối mã có liên quan. Trong trường hợp này, vì “ trên một ” được khởi tạo thành 2, đầu ra sẽ là “ số là 2 “.

đầu ra

4: Lồng nhau nếu

Câu lệnh if lồng nhau là các câu lệnh phân nhánh được nhúng trong các câu lệnh if lồng nhau khác. Nó cho phép logic phân nhánh phức tạp hơn bằng cách kiểm tra nhiều điều kiện trong các câu lệnh điều kiện khác. Bên trong câu lệnh if chỉ được thực hiện nếu các câu lệnh if bên ngoài đánh giá là đúng.

Cú pháp cơ bản cho câu lệnh if lồng nhau được đưa ra dưới đây:

nếu như ( tình trạng ) {
nếu như ( sự biểu lộ ) {
Khối câu lệnh;
} khác {
Khối câu lệnh;
}
} khác {
Khối câu lệnh;
}

Hãy xem đoạn mã sau đây làm ví dụ:

#include

int chính ( ) {
số nguyên1 = 1 ;
int số2 = mười lăm ;
số nguyên3 = 7 ;

nếu như ( số1 > số2 ) {
nếu như ( số1 > số 3 ) {
bản inf ( 'num1=1 là số lớn nhất \N ' ) ;
}
khác {
bản inf ( 'num3=7 là số lớn nhất \N ' ) ;
}
}
khác {
nếu như ( số2 > số 3 ) {
bản inf ( 'num2=15 là số lớn nhất \N ' ) ;
}
khác {
bản inf ( 'num3=7 là số lớn nhất \N ' ) ;
}
}

trở lại 0 ;
}

Chương trình trên so sánh ba số nguyên, “ số1 “,“ số2 ', Và ' số 3 “ và sử dụng các câu lệnh if lồng nhau để xác định số nào là số lớn nhất. Đầu tiên nó so sánh “ số1 ' Và ' số2 “, sau đó so sánh cái lớn hơn trong hai cái đó với “ số 3 “. Đầu ra sẽ cho biết biến nào có giá trị lớn nhất.

đầu ra

5: Thang other-if

Chúng ta có thể dễ dàng giải quyết một vấn đề phức tạp khi có nhiều tiêu chí theo thứ tự tuần tự bằng cách sử dụng một bậc thang-nếu hoặc biểu thức other-if .

Dưới đây là cú pháp cho thang other-if tuyên bố:

nếu như ( điều kiện1 )
{
Khối câu lệnh;
}
khác nếu như ( điều kiện2 )
{
Khối câu lệnh;
}
khác nếu như ( điều kiện3 )
{
Khối câu lệnh;
}
khác
{
tuyên bố mặc định
}

Hãy xem đoạn mã sau đây làm ví dụ:

#include

int chính ( ) {
dấu int = 80 ;

nếu như ( điểm > = 90 && điểm = 80 && điểm = 70 && điểm = 60 && điểm = năm mươi && điểm < 60 ) {
bản inf ( 'Hạng: D' ) ;
}
khác {
bản inf ( 'Điểm: Không đạt' ) ;
}
trở lại 0 ;
}

Chương trình trên sử dụng logic nếu-khác để xác định điểm theo giá trị hiện tại của biến “marks”. Tùy thuộc vào giá trị của “marks”, chương trình sẽ cho ra mức điểm tương ứng từ A+ đến Fail.

đầu ra

6: câu lệnh break

Các tuyên bố phá vỡ là một câu lệnh luồng điều khiển quan trọng trong Lập trình C cho phép lập trình viên kiểm soát hành vi của các vòng lặp và câu lệnh chuyển đổi. Các tuyên bố phá vỡ có hai ứng dụng trong lập trình C:

  • Khi một vòng lặp đạt đến một phá vỡ câu lệnh, nó sẽ kết thúc ngay lập tức và quyền điều khiển chương trình được trao cho câu lệnh theo sau vòng lặp.
  • Nó có thể được sử dụng để kết thúc một trường hợp bằng cách sử dụng nó cho câu lệnh chuyển đổi.

Cú pháp cho phá vỡ tuyên bố:

phá vỡ ;

Nhìn vào mã ví dụ:

#include

int chính ( ) {
số nguyên = 12 ;
trong khi ( trên một mười lăm ) {
phá vỡ ;
}
}
trở lại 0 ;
}

Đoạn mã C này khai báo một vòng lặp while thực thi miễn là biến số nguyên “ trên một ” nhỏ hơn 22 và khởi tạo nó thành 12. Trong vòng lặp, “ trên một ” được tăng thêm 1 và giá trị của nó được báo cáo cho bảng điều khiển bằng cách sử dụng bản inf . Vòng lặp sau đó được kết thúc bằng một câu lệnh ngắt nếu “num” lớn hơn 15 như được xác định bởi câu lệnh if. Mã này kết thúc vòng lặp một cách hiệu quả sau khi in các giá trị của “num” trong khoảng từ 12 đến 15 (bao gồm). Chương trình kết thúc bằng cách trả về 0, điều này cho thấy chương trình đã chạy chính xác.

đầu ra

7: tiếp tục Tuyên bố

Trong lập trình C, các Tiếp tục tuyên bố tương tự như phá vỡ tuyên bố. Thay vì áp đặt kết thúc, nó buộc lặp lại vòng lặp tiếp theo và bỏ qua bất kỳ mã nào ở giữa. Các phần tăng và kiểm tra có điều kiện của vòng lặp for được thực thi bởi Tiếp tục sự biểu lộ. Kiểm tra điều kiện của các vòng lặp while và do-while được thông qua bởi bộ điều khiển chương trình do kết quả của Tiếp tục tuyên bố.

Cú pháp của tiếp tục tuyên bố là:

Tiếp tục ;

Nhìn vào ví dụ này.

#include

int chính ( ) {
số nguyên = 12 ;
trong khi ( trên một mười lăm ) {
Tiếp tục ;
}
}
trở lại 0 ;
}

Vòng lặp while trong chương trình trên dùng để in giá trị của biến “ trên một ” nếu nhỏ hơn 22. Nếu “ trên một ” vượt quá 15 trong vòng lặp, Tiếp tục câu lệnh được thực thi và lần lặp hiện tại của vòng lặp bị bỏ qua. Trong trường hợp này, vòng lặp sẽ thực hiện năm lần, in ra giá trị của “num” mỗi lần, cho đến khi “ trên một ” đạt đến 16 và vòng lặp bỏ qua bước lặp trong đó “ trên một ” là 16, sau đó tiếp tục với các lần lặp còn lại cho đến khi vòng lặp kết thúc.

đầu ra

Phần kết luận

Quyết định phân nhánh là các thành phần quan trọng của ngôn ngữ C cho phép tạo các ứng dụng tương tác, phức tạp để xử lý các điều kiện thực tế khác nhau. Các câu điều kiện, if-else và switch, là những trường hợp chính được sử dụng để tạo dựa trên quyết định thuật toán. Mặc dù phân nhánh có thể đặt ra một thách thức trong việc tổ chức các mã, với việc lập kế hoạch và thực thi phù hợp, các lập trình viên có thể tạo ra các chương trình hiệu quả và không có lỗi, đáp ứng các yêu cầu cụ thể.