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
19 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ả

setup() và loop()

Những lệnh trong setup() sẽ được chạy khi chương trình của bạn khởi động. Bạn có thể sử dụng nó để khai báo giá trị của biến, khai báo thư viện, thiết lập các thông số,…

Sau khi setup() chạy xong, những lệnh trong loop() được chạy. Chúng sẽ lặp đi lặp lại liên tục cho tới khi nào bạn ngắt nguồn của board Arduino mới thôi.

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

Bài 4: Cập nhật firmware cho Intel Galileo

Trong Intel Galileo IDE, nhà sản xuất đã cung cấp sẵn firmware. Tùy vào phiên bản IDE, bạn có thể nhận được các bản firmware mới của Intel Galileo qua IDE. Bài viết này sẽ hướng dẫn cho bạn cách cập nhật firmware cho Intel Galileo qua IDE.

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