Cấu trúc lựa chọn trong Ngôn ngữ lập trình C - Bài 6

Cấu trúc lựa chọn trong Ngôn ngữ lập trình C - Bài 6
access_time 10/1/2019 12:00:00 AM
person Đào Minh Giang

Cấu trúc lựa chọn trong Lập trình C

1. Giới thiệu

Ngôn ngữ lập trình C cung cấp các cấu trúc điều khiển cơ bản để lập trình viên có thể sử dụng khi viết mã lệnh, các cấu trúc lệnh này thông thường được chia làm 3 nhóm như sau :

Cấu trúc lựa chọn (Selection constructs): Các câu lệnh if, if elseswitch là các câu lệnh nằm trong cấu trúc lựa chọn. Lập trình viên có thể lựa chọn dựa trên giá trị của biểu thức, chọn lọc thực thi các câu lệnh dựa trên các điều kiện đã được lựa chọn.

Cấu trúc lặp (Iteration constructs): Các câu lệnh while, do … while, for thực thi các khối lệnh dựa trên điều kiện kiểm tra đúng sai. Mục tiêu của cấu trúc lặp nhằm thực thi các câu lệnh được lặp đi lặp lại nhiều lần.

Các cấu trúc lệnh nhảy (Jump constructs): Trong quá trình thực thi các lệnh trong chương trình sẽ là “tuần tự, liên tục”. Tức là khi chương trình thi hành, các lệnh sẽ thực thi từ trên xuống dưới, từ trái qua phải, hết lệnh này sẽ thực thi đến lệnh kế tiếp. Tuy nhiên, trong những tình huống nào đó, sau khi thi hành đến lệnh thứ n thì không cần thiết phải thực thi những lệnh còn lại nữa bởi vì đến đó, bài toán đã được giải quyết, việc thực thi các lệnh còn lại là dư thừa. Để giải quyết vấ đề này, C cung cấp cho chúng ta các lệnh: break, continue, return, goto, …

Liên quan tới kiến thức lập trình của cấu trúc lặp, các học viên cần lắm được các vấn đề liên quan tới : Biểu thức logic bao gồm :

+ Toán tử quan hệ

+ Toán tử so sánh.

+ Toán tử logic

Các bạn có thể xem lại các kiến trức này trong bài viết số 5.

2. Cấu trúc lựa chọn

2.1 Câu lệnh if

Câu lệnh if sử dụng điều kiện logic nhằm kiểm tra điều kiện thực hiện của câu lệnh. Nếu điều kiện đúng (true) thì khối lệnh sau đó sẽ được thực thi.Nếu điều kiện là sai (false) thì khối lệnh đó sẽ bị bỏ qua.

Cú pháp

if (expresstion) //
{
  // one or more statements;
}

Mô tả

·       expresstion : Biểu thức điều kiện , kết quả trả về của biểu thức này là true hoặc false.

·       statements : Tập hợp các câu lệnh sẽ được thực hiện với điều kiện biểu thức condition trả về giá trị true.

Ví dụ :

Viết chương trình kiểm tra số âm, nếu số là số âm thì hiển thị thông báo, ngược lại thì kết thúc chương trình. Sử dụng Activity Diagram để mô tả luồng thực thi của bài toán.


Hình số 1 : Lược đồ mô tả lệnh if

Code thực thi chương trình như sau :


Hình số 2 : Code thực thi câu lệnh if

 

2.2 Cấu trúc lệnh if..else

Cấu trúc lệnh if…else bắt đầu bởi điều kiện kiểm tra if. Nếu điều kiện đúng thực thi khối lệnh trực thuộc if còn ngược lại nếu sai thì thực thi khối lệnh trực thuộc else.

Cú pháp:
if (expresstion)
{
// statements execution when condition is true;
}
else
{
// statements execution when condition is false;
}

Mô tả

·       expresstion : Biểu thức điều kiện , kết quả trả về của biểu thức này là true hoặc false.

·       statements : Tập hợp các câu lệnh sẽ được thực hiện với điều kiện biểu thức condition trả về giá trị true. Nếu true thực thi khối lệnh trực thuộc if, ngược lại thực thi khối lệnh trực thuộc else.

Ví dụ :

Viết chương trình kiểm tra số khi nhập vào từ bàn phím nếu là số âm thì thông báo là số âm và ngược lại nếu là số dương thì thông báo là số dương. Sử dụng Activity Diagram để mô tả luồng thực thi của bài toán.


Hình số 3 : Lược đồ mô tả lệnh if..else

Code thực thi chương trình :


Hình số 4 : Code thực thi if - else

2.3 Cấu trúc if..else if

Cấu trúc if..else if cho phép lập trình viên kiểm tra nhiều điều kiện logic, mỗi điều kiện sẽ thực thi khối lệnh trực thuộc điều kiện đó.

Cú pháp

if (expresstion) {
// one or more statements;
}
else if (condition){

// one or more statements;

}

else if (condition){

// one or more statements;

}

else{

// one or more statements;

}

Mô tả

·       expresstion : Biểu thức điều kiện kiểm tra.

·       statements : Tập hợp các câu lệnh sẽ được thực hiện tương ứng với các điều kiện kiểm tra biểu thức condition.

Ví dụ: Viết chương trình kiểm tra số nguyên dương chẵn lẻ. Sử dụng Activity Diagram để mô tả luồng thực thi của bài toán.

Sơ đồ thực hiện:


Hình số 5 : Lược đồ mô tả lệnh if..else if ..else

Code thực thi chương trình


Hình số 6 : Code thực thi if..else if ..else

3. Cấu trúc lệnh switch case

Khi có quá nhiều điều kiện để chọn thực hiện thì dùng câu lệnh if sẽ rất rối rắm và dài dòng, Các ngôn ngữ lập trình cấp cao đều cung cấp một dạng câu lệnh switch liệt kê các giá trị và chỉ thực hiện các giá trị thích hợp. C# cũng cung cấp câu lệnh nhảy switch có cú pháp sau:

Cú pháp :

switch (expresstion)

{

case <value>:

// one or more statements;

// Jump statement

default:

// default statements

}

Mô tả :

·       expresstion : Biểu thức điều kiện.

·       value : Giá trị kiểm tra của biểu thức điều kiện

·       defaule : Câu lệnh switch sẽ kiểm tra tất cả các giá trị tương ứng ở phía trên, nếu không có giá trị nào phù hợp với biểu thức điều kiện, thì chương trình sẽ thực thi các câu lệnh trực thuộc default.

·       statements : Tập hợp các câu lệnh sẽ được thực hiện tương ứng với các điều kiện kiểm tra biểu thức điều kiện.


Hình số 7 : Mô tả cấu trúc switch-case


Ví dụ :

Hình số 8 : Code thực thi switch - case


vertical_align_top
share
Chat...