Toán tử bậc ba trong C ++

Toan Tu Bac Ba Trong C

“Toán tử điều kiện và câu lệnh if-else đều sử dụng cùng một kỹ thuật, nhưng toán tử điều kiện làm cho các biểu thức if-else càng ngắn càng khả thi trong khi biểu thức if-else chiếm nhiều dung lượng hơn. Trong một số ngôn ngữ lập trình, có một toán tử được gọi là toán tử bậc ba chấp nhận ba toán hạng trái ngược với một hoặc hai toán hạng thông thường mà hầu hết các toán tử yêu cầu. Nó cung cấp một phương tiện để cô đọng một khối if-else cơ bản. Trong hướng dẫn này, toán tử bậc ba trong C ++ sẽ được đề cập thông qua các ví dụ. Trong một số trường hợp, câu lệnh if else trong các ứng dụng C ++ có thể được thay thế bằng toán tử bậc ba, thường được gọi là toán tử điều kiện ”.

Cú pháp của toán tử bậc ba trong C ++

Ba toán hạng là bắt buộc đối với toán tử bậc ba: điều kiện, đúng và sai. Khi toán tử bậc ba phân tích điều kiện thử nghiệm và, tùy thuộc vào kết quả, thực thi một khối mã, cú pháp là:

# (exp_1)? exp_2: exp_3

Ở đây 'exp' đại diện cho biểu thức. Tùy thuộc vào kết quả của một biểu thức, toán tử này trả về một trong hai giá trị. Biểu thức 2 và 3 được đánh giá và giá trị của chúng được trả về dưới dạng kết quả cuối cùng nếu “exp_1” được đánh giá thành giá trị Boolean true; nếu không, biểu thức 1 được đánh giá thành sai Boolean và biểu thức 2 được đánh giá và giá trị của nó được trả về dưới dạng kết quả cuối cùng.







ví dụ 1

Đây là một chương trình ví dụ đơn giản chỉ ra cách sử dụng Toán tử bậc ba của C ++.



#include

#include

sử dụng không gian tên std ;

int chính ( ) {
kép CGPA ;
cout <> CGPA ;

string student_result = ( CGPA > = 1,5 ) ? 'thông qua' : 'thất bại' ;

cout << 'Bạn ' << student_result << ' học kỳ.' ;

trở về 0 ;
}



Trong chương trình, chúng tôi đã điền vào phần tiêu đề của chúng tôi với các thư viện C ++. Sau đó, chúng tôi thêm std không gian tên với từ khóa “using”. Sau đó, biến “CGPA” với kiểu dữ liệu “double” đã được khai báo bên trong nó. Trong dòng tiếp theo, chúng tôi đã yêu cầu người dùng nhập CGPA bằng cách in lệnh cout. Với lệnh cin, người dùng thêm CGPA.





Sau đó, chúng tôi tạo một biến khác, “student_result”, có một toán tử bậc ba. Toán tử bậc ba cần ba biểu thức ở đây. Đầu tiên là điều kiện kiểm tra xem CGPA do người dùng nhập lớn hơn hoặc bằng “1,5”. Nếu vậy, câu lệnh “đã qua” sẽ được in, hoặc nếu không, biểu thức thứ ba sẽ được in. Kết quả sẽ được hiển thị khi bạn sử dụng lệnh cout.

Giả sử người dùng nhập CGPA “3.5”. CGPA> = 1.5 thì đánh giá là true, đáp ứng tiêu chí. Vì vậy, kết quả là số hạng đầu tiên 'đã qua'.



Giả sử người dùng nhập 1,00. Kết quả là điều kiện CGPA> = 1,5 được đánh giá sai. Do đó, kết quả được đưa ra biểu thức thứ hai, 'không thành công'.

Ví dụ 2

Một số loại câu lệnh if else trong C ++ có thể được hoán đổi bằng toán tử bậc ba. Chúng tôi có thể thay đổi mã này làm ví dụ. Chương trình ví dụ đầu tiên sử dụng điều kiện if-else và chương trình ví dụ khác sử dụng toán tử bậc ba.

#include

sử dụng không gian tên std ;

int chính ( ) {

int trên một = - 3 ;
cout << 'trên một:' < 0 )
cout << ' \N Sô nguyên dương' ;
khác
cout << ' \N Số nguyên âm!' ;

trở về 0 ;
}

Chúng ta đã khai báo và khởi tạo biến kiểu dữ liệu int “num” với giá trị nguyên âm. Sau đó, với lệnh cout, giá trị 'num' được in. Sau đó, chúng ta có điều kiện if-else. Bên trong điều kiện “if”, chúng tôi đã chỉ định điều kiện rằng biến “num” phải lớn hơn giá trị 0. Nếu điều kiện trở thành true, thì lệnh cout ngay sau điều kiện “if” sẽ được in. Nếu điều kiện trở thành sai, thì câu lệnh else cout sẽ được in.

Vì số là giá trị âm, điều kiện if trở thành sai và

Tiếp theo, chúng tôi thực hiện chương trình trên với toán tử bậc ba. Hãy kiểm tra xem liệu điều kiện if-else và toán tử bậc ba có cùng tác động hay không.

#include

#include

sử dụng không gian tên std ;

int chính ( ) {

int MyNum = - 7 ;
cout << 'Số nguyên:' << MyNum < 0 ) ? 'Sô nguyên dương!' : 'Số nguyên âm!' ;
cout << Kết quả << endl ;

trở về 0 ;
}

Chúng tôi đã khai báo biến “MyNum” và khởi tạo nó với một giá trị âm. Chúng tôi đã in ra giá trị âm bằng cách gọi biến “MyNum” bên trong lệnh cout. Sau đó, chúng tôi đặt một biến khác là 'Kết quả' với kiểu chuỗi. Biến kết quả nhận phép toán toán tử bậc ba. Đầu tiên, chúng ta có điều kiện rằng “MyNum” phải lớn hơn 0. Sau đó, chúng tôi đặt một toán tử bậc ba “?”. Hai biểu thức còn lại sẽ được thực hiện theo kết quả điều kiện.

Vì giá trị số nguyên là “-7” nên biểu thức thứ ba là “Số nguyên âm!” được in trên lời nhắc. Ở đây, đầu ra từ cả hai ứng dụng là như nhau. Tuy nhiên, toán tử bậc ba cải thiện khả năng đọc và độ sạch của mã của chúng tôi.

Ví dụ 3

Ngoài ra, các toán tử bậc ba có thể được sử dụng bên trong lẫn nhau. Sử dụng toán tử bậc ba lồng nhau để kiểm tra xem một giá trị là dương, âm hay 0 trong chương trình sau.

#include

#include

sử dụng không gian tên std ;

int chính ( ) {
int số nguyên = 0 ;
kết quả chuỗi ;

Kết quả = ( số nguyên == 0 ) ? 'Số không' : ( ( số nguyên > 0 ) ? 'Tích cực' : 'Phủ định' ) ;

cout << 'Số nguyên là' << Kết quả ;

trở về 0 ;
}

Chỉ cần bắt đầu với phương pháp chính của chương trình. Trong int main (), chúng ta đã tạo biến với tên 'integer' và đặt giá trị của nó bằng 0. Sau đó, chúng tôi xác định một biến khác, “Kết quả” với chuỗi kiểu dữ liệu. Chúng tôi đã đặt biến 'Kết quả', bỏ qua toán tử bậc ba cho nó. Điều kiện là giá trị của biến 'số nguyên' phải bằng không 'số nguyên == 0'. Điều kiện ban đầu, (số nguyên == 0), xác định xem một số nguyên đã cho có bằng 0 hay không. Nếu vậy, kết quả được cung cấp giá trị chuỗi “Zero”. nếu câu trả lời là đúng. Ngược lại, nếu điều kiện đầu tiên là sai, điều kiện thứ hai (số nguyên> 0) sẽ được kiểm tra.

Có, số nguyên được cung cấp là 0, như được hiển thị trong tập lệnh. Đầu ra tạo ra 'Integer is Zero'.

Sự kết luận

Chúng ta biết rằng toán tử điều kiện là toán tử bậc ba. Với sự trợ giúp của toán tử này, chúng tôi có thể kiểm tra một điều kiện và hành động phù hợp với nó. Chúng ta có thể thực hiện điều tương tự bằng cách sử dụng các điều kiện if-else thay vì toán tử bậc ba. Hướng dẫn C ++ này đã dạy chúng ta cách sử dụng Toán tử bậc ba thông qua cú pháp và các chương trình ví dụ của nó. Hãy nhớ rằng toán tử bậc ba chỉ được sử dụng nếu câu lệnh cuối cùng ngắn gọn.