Nó nhận một biểu thức trong ngoặc đơn và một câu lệnh hoặc một khối câu lệnh. Nếu biểu thức là true thì câu lệnh hoặc khối câu lệnh sẽ được thực thi, nếu không thì các câu lệnh này sẽ bị bỏ qua.
Các dạng khác nhau của câu lệnh if
Hình thức 1
if (expression)
statement;
Bạn có thể sử dụng câu lệnh if không có dấu ngoặc nhọn {} nếu bạn có một câu lệnh.
Dạng 2
if (expression) {
Block of statements;
}
if (expression) {
Block of statements;
}
if Statement – Trình tự thực thi
Thí dụ
/* Global variable definition */
int A = 5 ;
int B = 9 ;
Void setup () {
}
Void loop () {
/* check the boolean condition */
if (A > B) /* if condition is true then execute the following statement*/
A++;
/* check the boolean condition */
If ( ( A < B ) && ( B != 0 )) /* if condition is true then execute the following statement*/ {
A += B;
B--;
}
}
Arduino – Câu lệnh If… else
Một khi tuyên bố có thể được theo sau bởi một tuyên bố khác không bắt buộc, mà thực hiện khi biểu thức là sai.
if… else Cú pháp câu lệnh
if (expression) {
Block of statements;
}
else {
Block of statements;
}
Câu lệnh if… else – Trình tự thực thi
Thí dụ
/* Global variable definition */
int A = 5 ;
int B = 9 ;
Void setup () {
}
Void loop () {
/* check the boolean condition */
if (A > B) /* if condition is true then execute the following statement*/ {
A++;
}else {
B -= A;
}
}
Arduino – Câu lệnh If… else if… else
Các nếu tuyên bố có thể được theo sau bởi một tùy chọn khác nếu … else tuyên bố, mà là rất hữu ích để kiểm tra điều kiện khác nhau sử dụng đơn if … else if.
Khi sử dụng câu lệnh if … else if … else , hãy ghi nhớ –
- Một if có thể có 0 hoặc một câu lệnh khác và nó phải đứng sau bất kỳ câu lệnh if nào khác.
- Một if có thể có 0 đến nhiều câu lệnh if else và chúng phải đứng trước else.
- Khi một câu lệnh khác nếu thành công, không câu lệnh if hoặc else nào còn lại sẽ được kiểm tra.
if… else if… else Cú pháp câu lệnh
if (expression_1) {
Block of statements;
}
else if(expression_2) {
Block of statements;
}
.
.
.
else {
Block of statements;
}
if… else if… else Trình tự thực thi câu lệnh
Ví dụ
/* Global variable definition */
int A = 5 ;
int B = 9 ;
int c = 15;
Void setup () {
}
Void loop () {
/* check the boolean condition */
if (A > B) /* if condition is true then execute the following statement*/ {
A++;
}
/* check the boolean condition */
else if ((A == B )||( B < c) ) /* if condition is true then
execute the following statement*/ {
C = B* A;
}else
c++;
}
Arduino – câu lệnh trường hợp chuyển đổi
Tương tự như các câu lệnh if, switch … case điều khiển luồng chương trình bằng cách cho phép người lập trình chỉ định các mã khác nhau cần được thực thi trong các điều kiện khác nhau. Đặc biệt, một câu lệnh switch so sánh giá trị của một biến với các giá trị được chỉ định trong các câu lệnh case . Khi một câu lệnh trường hợp được tìm thấy có giá trị khớp với giá trị của biến, mã trong câu lệnh trường hợp đó sẽ được chạy.
Các phá vỡ từ khóa làm cho lối ra lệnh switch, và thường được sử dụng ở phần cuối của mỗi trường hợp. Không có câu lệnh break, câu lệnh switch sẽ tiếp tục thực hiện các biểu thức sau (“giảm dần”) cho đến khi đạt đến ngắt hoặc kết thúc câu lệnh switch.
Cú pháp câu lệnh trường hợp chuyển đổi
switch (variable) {
case label:
// statements
break;
}
case label: {
// statements
break;
}
default: {
// statements
break;
}
Chuyển đổi trình tự thực hiện câu lệnh trường hợp
Thí dụ
Đây là một ví dụ đơn giản với công tắc. Giả sử chúng ta có một pha biến đổi chỉ với 3 trạng thái khác nhau (0, 1 hoặc 2) và một hàm (sự kiện) tương ứng cho mỗi trạng thái này. Đây là cách chúng tôi có thể chuyển mã sang quy trình thích hợp –
switch (phase) {
case 0: Lo(); break;
case 1: Mid(); break;
case 2: Hi(); break;
default: Message("Invalid state!");
}
Arduino – Toán tử có điều kiện? :
Toán tử điều kiện? : là toán tử bậc ba duy nhất trong C.? :
toán tử điều kiện Cú pháp
expression1 ? expression2 : expression3
Biểu thức1 được đánh giá đầu tiên. Nếu giá trị của nó là true, thì biểu thức 2 được đánh giá và
biểu thức 3 bị bỏ qua. Nếu biểu thức1 được đánh giá là sai, thì biểu thức 3 đánh giá và biểu thức2 bị bỏ qua. Kết quả sẽ là một giá trị của biểu thức2 hoặc biểu thức3 tùy thuộc vào giá trị nào trong số chúng được đánh giá là True.
Toán tử có điều kiện liên kết từ phải sang trái.
Thí dụ
/* Find max(a, b): */
max = ( a > b ) ? a : b;
/* Convert small letter to capital: */
/* (no parentheses are actually necessary) */
c = ( c >= 'a' && c <= 'z' ) ? ( c - 32 ) : c;
Quy tắc của toán tử có điều kiện
- biểu thức1 phải là một biểu thức vô hướng; biểu thức2 và biểu thức3 phải tuân theo một trong các quy tắc sau.
- Cả hai biểu thức phải thuộc loại số học.
- biểu thức2 và biểu thức3 phải chịu các chuyển đổi số học thông thường, xác định kiểu kết quả.
- > Cả hai biểu thức phải có kiểu void. Kiểu kết quả là vô hiệu.