C - Quyết định: Hướng dẫn cho người mới bắt đầu

Xin chào các bạnfuture programmers! Chào mừng các bạn đến với thế giới thú vị của lập trình C. Tôi rất vui mừng được làm hướng dẫn viên của các bạn trong hành trình khám phá một trong những khái niệm cơ bản nhất trong lập trình: quyết định. Với vai trò là người đã dạy lập trình C hơn một thập kỷ, tôi có thể đảm bảo rằng việc thành thạo những khái niệm này sẽ là một bước ngoặt trong hành trình lập trình của các bạn. Hãy cùng nhau bắt đầu nhé!

C - Decision Making

Câu lệnh 'if' trong lập trình C

Hãy tưởng tượng bạn đang ở tiệm kem và cần quyết định có nên mua kem hay không. Trong lập trình, chúng ta sử dụng câu lệnh 'if' để thực hiện những quyết định như vậy. Nó giống như việc hỏi một câu hỏi và thực hiện một hành động dựa trên câu trả lời.

Dưới đây là cách nó trông trong C:

if (điều kiện) {
// mã cần thực hiện nếu điều kiện là đúng
}

Hãy xem một ví dụ thực tế:

#include <stdio.h>

int main() {
int số_scoop = 2;

if (số_scoop > 1) {
printf("Wow, đó là rất nhiều kem!\n");
}

return 0;
}

Trong ví dụ này, nếu số scoop lớn hơn 1, nó sẽ in ra thông báo. Hãy thử thay đổi giá trị của 'số_scoop' và xem会发生什么!

Câu lệnh 'if...else' trong lập trình C

Bây giờ, nếu chúng ta muốn thực hiện một hành động khi điều kiện là sai? Đó là lúc câu lệnh 'if...else' phát huy tác dụng. Nó giống như có một kế hoạch B.

if (điều kiện) {
// mã cần thực hiện nếu điều kiện là đúng
} else {
// mã cần thực hiện nếu điều kiện là sai
}

Hãy mở rộng ví dụ kem của chúng ta:

#include <stdio.h>

int main() {
int tiền = 5;
int giá Kem = 6;

if (tiền >= giá Kem) {
printf("Yay! Bạn có thể mua kem!\n");
} else {
printf("Xin lỗi, không đủ tiền để mua kem hôm nay.\n");
}

return 0;
}

Ở đây, chúng ta đang kiểm tra xem chúng ta có đủ tiền để mua kem hay không. Nếu có, tuyệt vời! Nếu không, thì có lẽ lần sau.

Câu lệnh 'if' lồng nhau trong lập trình C

Đôi khi, cuộc sống (và lập trình) không chỉ đơn giản là một quyết định. Chúng ta thường cần phải đưa ra quyết định trong quyết định. Đó là lúc câu lệnh 'if' lồng nhau phát huy tác dụng.

if (điều_khiện_ngoại) {
if (điều_khiện_nội) {
// mã cần thực hiện nếu cả hai điều kiện đều đúng
}
}

Hãy xem một ví dụ phức tạp hơn về kem:

#include <stdio.h>

int main() {
int nhiệt_độ = 30;
int có_tiền = 1; // 1 có nghĩa là đúng, 0 có nghĩa là sai

if (nhiệt_độ > 25) {
if (có_tiền) {
printf("Nó nóng và bạn có tiền. Đã đến lúc ăn kem!\n");
} else {
printf("Nó nóng, nhưng không có tiền để mua kem. Có lẽ nên tắm nước lạnh?\n");
}
} else {
printf("Nó không thực sự nóng. Giữ tiền của bạn cho ngày mưa.\n");
}

return 0;
}

Chương trình này xem xét cả nhiệt độ và việc bạn có tiền hay không trước khi đề xuất kem.

Câu lệnh 'switch' trong lập trình C

Câu lệnh 'switch' giống như một cây kem nhiều hương vị của quyết định. Nó非常适合 khi bạn có nhiều lựa chọn để chọn.

switch(biểu_thức) {
case hằng_số1:
// mã cần thực hiện nếu biểu thức bằng hằng_số1
break;
case hằng_số2:
// mã cần thực hiện nếu biểu thức bằng hằng_số2
break;
...
default:
// mã cần thực hiện nếu biểu thức không khớp với bất kỳ hằng số nào
}

Hãy sử dụng nó để chọn hương vị kem:

#include <stdio.h>

int main() {
int hương_vị = 2;

switch(hương_vị) {
case 1:
printf("Bạn chọn vanilla. Classic!\n");
break;
case 2:
printf("Chocolate là lựa chọn của bạn. Yum!\n");
break;
case 3:
printf("Dâu tây, một niềm vui trái cây!\n");
break;
default:
printf("Chúng tôi không có hương vị đó. Bạn có muốn vanilla?\n");
}

return 0;
}

Chương trình này chọn một thông báo dựa trên số hương vị được chọn.

Оператор '?:' trong lập trình C

Operatør '?:' giống như một câu lệnh 'if...else' ngắn gọn. Nó非常适合 cho những quyết định nhanh và đơn giản.

điều_khiện ? biểu_thức_nếu是真 : biểu_thức_nếu_sai;

Dưới đây là một cách ngắn gọn để quyết định về đồ ăn:

#include <stdio.h>

int main() {
int đói = 1; // 1 có nghĩa là đúng, 0 có nghĩa là sai

printf(dói ? "Hãy đi ăn kem!\n" : "Có lẽ sau.\n");

return 0;
}

Câu lệnh này kiểm tra xem bạn có đói hay không và đề xuất kem nếu bạn đói.

Câu lệnh 'break' trong lập trình C

Câu lệnh 'break' giống như nói "Tôi đã xong ở đây" giữa một cuộc trò chuyện. Nó được sử dụng để thoát khỏi các vòng lặp hoặc câu lệnh 'switch' sớm.

#include <stdio.h>

int main() {
int i;
for(i = 1; i <= 10; i++) {
if(i == 5) {
printf("Tìm thấy 5! Hãy dừng lại ở đây.\n");
break;
}
printf("%d ", i);
}
return 0;
}

Chương trình này đếm đến 10 nhưng dừng lại khi nó đạt đến 5.

Câu lệnh 'continue' trong lập trình C

Câu lệnh 'continue' giống như nói "Bỏ qua này và tiếp tục" trong một cuộc trò chuyện. Nó bỏ qua phần còn lại của lần lặp hiện tại và chuyển sang lần lặp tiếp theo.

#include <stdio.h>

int main() {
int i;
for(i = 1; i <= 5; i++) {
if(i == 3) {
printf("Úi, hãy bỏ qua 3.\n");
continue;
}
printf("Scoop kem số %d\n", i);
}
return 0;
}

Chương trình này đếm số scoop kem nhưng bỏ qua số 3.

Câu lệnh 'goto' trong lập trình C

Câu lệnh 'goto' giống như một thiết bị teleport trong mã của bạn. Nó nhảy đến một câu lệnh có nhãn. Tuy nhiên, hãy sử dụng nó cẩn thận vì nó có thể làm mã khó theo dõi.

#include <stdio.h>

int main() {
int số_scoop = 0;

scoop_more:
số_scoop++;
printf("Thêm một scoop. Tổng cộng: %d\n", số_scoop);

if(số_scoop < 3) {
goto scoop_more;
}

printf("Sundae kem hoàn chỉnh!\n");
return 0;
}

Chương trình này thêm scoop vào sundae của bạn cho đến khi bạn có ba scoop.

Dưới đây là bảng tóm tắt tất cả các phương pháp quyết định mà chúng ta đã xem xét:

Phương pháp Mục đích Cú pháp
if Kiểm tra điều kiện đơn giản if (điều_khiện) { ... }
if...else Quyết định hai hướng if (điều_khiện) { ... } else { ... }
Nested if Kiểm tra nhiều điều kiện if (điều_khiện_ngoại) { if (điều_khiện_nội) { ... } }
switch Nhiều lựa chọn switch(biểu_thức) { case hằng_số: ... }
?: Quyết định nhanh, đơn giản điều_khiện ? biểu_thức_nếu是真 : biểu_thức_nếu_sai
break Thoát khỏi vòng lặp hoặc switch break;
continue Bỏ qua phần còn lại của lần lặp continue;
goto Nhảy đến câu lệnh có nhãn goto nhãn;

Nhớ rằng, thực hành là cách tốt nhất để thành thạo! Hãy thử viết các chương trình của riêng bạn sử dụng những khái niệm này. Trước khi bạn biết, bạn sẽ trở thành một chuyên gia trong việc đưa ra quyết định trong C. Chúc bạn vui vẻ với lập trình!

Credits: Image by storyset