Toán tử điều kiện

Một phần của tài liệu Giáo trình lập trình hướng đối tượng c trường cao đẳng công nghiệp huế (Trang 38 - 39)

Toán tử điều kiện có dạng cú pháp như sau:

(bt_điều_kiện)?(kết_quả_1):(kết_quả_2);

Giải thích: trả về giá trị kết_quả_1 nếu bt_điều_kiện là đúng, ngược lại, nếu

bt_điều_kiện là sai, thì trả về giá trị kết_quả_2.

Chương trình Kết quả #include <iostream> using namespace std; int main() { int a = 1; int b = 2;

int max = (a>b)?a:b; cout<<”Max là: “<<max; return 0;

}

Max là: 2

Giải thích: chương trình trên tính giá trị lớn nhất giữa hai số a và b. Toán tử

điều kiện kiểm tra điều kiện của biểu thức a>b, vì a=1, b=2, nên giá trị của nó là false. Chính vì vậy, biểu thức điều kiện sẽ nhận kết quả tương ứng với kết quả 2, tức là b.

Toán tử điều kiện luôn trả về một giá trị cụ thể. Như trong ví dụ trên, ta thấy nếu biểu thức a>b đúng, thì giá trị max nhận được là số a; ngược lại là số b. Tuy nhiên, không nhất thiết cần phải có một giá trị xác định cho toán tử điều kiện. Ví dụ sau đây sẽ minh họa điều này

Chương trình Kết quả

#include <iostream> using namespace std;

C + + int main() { int a = 1; int b = 2;

(a>b)?(cout<<a<<” lon hon”):(cout<<b<<” lon hon”); return 0;

}

Giải thích: trong ví dụ minh họa này, toán tử điều kiện không trả về một giá trị

cụ thể nào. Nó chỉ đơn thuần kiểm tra điều kiện, nếu a>b đúng, thì in ra câu a

lớn hơn, ngược lại sẽ in ra câu b lớn hơn. Ta cần lưu ý rằng, khi các câu lệnh

nằm trong cặp dấu ngoặc của toán tử điều kiện, thì kết thúc câu lệnh không bao giờ có dấu chấm phẩy (;).

Nếu muốn sử dụng một tập các câu lệnh trong cặp dấu ngoặc này, ta có thể sử dụng toán tử phân tách được đề cập trong mục tiếp theo. Ví dụ sau đây sẽ cho thấy việc sử dụng tập các câu lệnh bên trong cặp dấu ngoặc của toán tử điều kiện. Chương trình Kết quả #include <iostream> using namespace std; int main() { int a = 1; int b = 2; int c;

(a>b)?(c = a-b,cout<<”|a-b|=”<<c):( c = b-a,cout<<”|a-b|=”<<c); return 0;

}

|a-b|=1

Giải thích: Trong ví dụ này, chương trình sẽ in ra giá trị tuyệt đối của a-b. Nếu

a>b, thì giá trị tuyệt đối |a-b| = a-b; ngược lại nếu a<b, thì giá trị tuyệt đối |a-b| = b-a. Trong cặp dấu ngoặc đơn của toán tử điều kiện, câu lệnh gán c=a-b (hoặc c=b-a) và cout được phân tách bằng dấu phẩy (,). Một điều cần lưu ý, chúng ta

không được phép khai báo biến trong cặp dấu ngoặc đơn này. Việc khai báo biến trong dấu ngoặc đơn, chỉ áp dụng duy nhất cho câu lệnh lặp for.

Một phần của tài liệu Giáo trình lập trình hướng đối tượng c trường cao đẳng công nghiệp huế (Trang 38 - 39)

Tải bản đầy đủ (PDF)

(197 trang)