if

Giới thiệu

Trước khi đọc về lệnh if, các bạn cần xem qua các mục sau:

Các toán tử logic (Boolean operators)

Toán tử
Ý nghĩa
Ví dụ

and (&&)

(a && b) trả về TRUE nếu a và b đều mang giá trị TRUE. Nếu một trong a hoặc b là FALSE thì (a && b) trả về FALSE

or ( || )

Hoặc

(a || b) trả về TRUE nếu có ít nhất 1 trong 2 giá trị a và b là TRUE, trả về FALSE nếu a và b đều FALSE

not ( ! )

Phủ định

nếu a mang giá trị TRUE thì (!a) là FALSE và ngược lại

xor (^)

Loại trừ

(a ^ b) trả về TRUE nếu a và b mang hai giá trị TRUE/FALSE khác nhau, các trường hợp còn lại trả về FALSE

 

Các toán tử so sánh (Comparison operators)

Các toán tử so sánh thường dùng để so sánh 2 số có cùng một kiểu dữ liệu.

 

Toán tử

Ý nghĩa

Ví dụ

==

So sánh bằng

(a == b) trả về TRUE nếu a bằng b và ngược lại

!=

So sánh không bằng

(a != b) trả về TRUE nếu a khác b và ngược lại

So sánh lớn

(a > b) trả về TRUE nếu a lớn hơn b và FALSE nếu a bé hơn hoặc bằng b

So sánh bé

(a < b) trả về TRUE nếu a bé hơn b và FALSE nếu ngược lại

<=

Bé hơn hoặc bằng

(a <= b) tương đương với ((a < b) or (a = b))

>=

Lớn hơn hoặc bằng

(a >= b) tương đương với ((a > b) or (a = b))

 

Câu lệnh if

 

Cú pháp:

if ([biểu thức 1] [toán tử so sánh] [biểu thức 2]) {    //biểu thức điều kiện
    [câu lệnh 1]
} else {
    [câu lệnh 2]
}

Nếu biểu thức điều kiện trả về giá trị TRUE, [câu lệnh 1] sẽ được thực hiện, ngược lại, [câu lệnh 2] sẽ được thực hiện.

 

Ví dụ:

int a = 0;
if (a == 0) {
    a = 10;
} else {
    a = 1;
}
// a = 10

 

Lệnh if không bắt buộc phải có nhóm lệnh nằm sau từ khóa else

int a = 0;

if (a == 0) {

     a = 10;

}

// a = 10

Bạn có thể kết hợp nhiều biểu thức điều kiện khi sử dụng lệnh if. Chú ý rằng mỗi biểu thức con phải được bao bằng một ngoặc tròn và phải luôn có một cặp ngoặc tròn bao toàn bộ biểu thức con.

Cách viết đúng

Cách viết sai

int a = 0;
if ((a == 0) && (a < 1)) {
     a = 10;
}
int a = 0;
if (a == 0) && (a < 1) {
     a = 10;
}

 

int a = 0;
if (a == 0 && a < 1) {
     a = 10;
}

 

 

Chú ý:

  • a = 10; là một câu lệnh gán, giá trị logic của nó luôn là TRUE (vì lệnh gán này luôn thực hiện được)
  • (a == 10) là một biểu thức logic có giá trị TRUE hay FALSE tùy thuộc vào giá trị của biến x.

Nếu bạn viết …

int a = 0;
if (a = 1) {
    a = 10;
}

… thì giá trị của a sẽ bằng 10, vì (a = 1) là một câu lệnh gán, trong trường hợp này nó được xem như một biểu thức logic và luôn trả về giá trị TRUE.

lên
12 thành viên đã đánh giá bài viết này hữu ích.
Các bài viết cùng tác giả

Đọc nhiệt độ - độ ẩm và xuất ra màn hình LCD

Bài viết này sẽ hướng dẫn các bạn cách đọc nhiệt độ - độ ẩm từ cảm biến và xuất ra màn hình LCD. Hy vọng rằng qua bài viết này, bạn sẽ dần hiểu được Arduino tạo cho người dùng một sự đơn giản và tiện lợi đến mức nào.

lên
30 thành viên đã đánh giá bài viết này hữu ích.

Bài 5: Tải chương trình mẫu lên Intel Galileo

Khi học bất kì một ngôn ngữ nào, từ ngôn ngữ của con người đến ngôn ngữ của máy móc thì thứ đầu tiên bạn được học đó là cách nói "Xin chào". Với máy móc (phần mềm), người ta gọi đó là chương trình "Hello World" - một chương trình có nhiệm vụ xuất ra màn hình (hoặc thông báo) với nội dung là "Hello World". Với phần cứng, ta có chương trình "Blink" - nó làm nhấp nháy một đèn LED với chu kì 1 giây, hay những thứ khác tương tự như vậy. Bài viết này sẽ hướng dẫn cho bạn làm việc này trên Intel Galileo

lên
3 thành viên đã đánh giá bài viết này hữu ích.