Operator Ternary C++

Operator Ternary C

“Pengendali bersyarat dan pernyataan if-else kedua-duanya menggunakan teknik yang sama, tetapi operator bersyarat menjadikan ungkapan if-else sesingkat mungkin manakala ungkapan if-else mengambil lebih banyak ruang. Dalam sesetengah bahasa pengaturcaraan, terdapat operator yang dikenali sebagai operator ternary yang menerima tiga operan berbanding satu atau dua yang biasa yang diperlukan oleh kebanyakan operator. Ia menawarkan cara untuk memekatkan blok asas if-else. Dalam panduan ini, pengendali ternary dalam C++ akan diliputi melalui contoh. Dalam sesetengah kes, pernyataan if else dalam aplikasi C++ boleh digantikan oleh pengendali ternary, selalunya dikenali sebagai pengendali bersyarat.

Sintaks Operator Ternary dalam C++

Tiga operan diperlukan untuk pengendali ternary: bersyarat, benar dan palsu. Apabila pengendali ternary menganalisis keadaan ujian dan, bergantung pada hasilnya, melaksanakan blok kod, sintaksnya ialah:

# (exp_1) ? exp_2 : exp_3

Di sini 'exp' mewakili ungkapan. Bergantung pada hasil ungkapan, pengendali ini mengembalikan satu daripada dua nilai. Ungkapan 2 dan 3 dinilai dan nilainya dikembalikan sebagai hasil akhir jika 'exp_1' dinilai kepada Boolean benar; jika tidak, ungkapan 1 dinilai kepada Boolean false, dan ungkapan 2 dinilai, dan nilainya dikembalikan sebagai hasil akhir.



Contoh 1

Berikut ialah program contoh mudah yang menunjukkan cara menggunakan Pengendali Ternary C++.



#include

#include

menggunakan ruang nama std ;

int utama ( ) {
berganda PNGK ;
cout <> PNGK ;

rentetan pelajar_hasil = ( PNGK >= 1.5 ) ? 'lulus' : 'gagal' ;

cout << 'awak' << pelajar_hasil << ' semester itu.' ;

kembali 0 ;
}



Dalam program ini, kami telah mengisi bahagian pengepala kami dengan perpustakaan C++. Selepas itu, kami menambah ruang nama std dengan kata kunci 'menggunakan'. Kemudian, pembolehubah 'CGPA' dengan jenis data 'double' telah diisytiharkan di dalamnya. Dalam baris seterusnya, kami telah meminta pengguna untuk memasukkan PNGK dengan mencetak arahan cout. Dengan arahan cin, pengguna menambah PNGK.

Kemudian, kami mencipta pembolehubah lain, 'student_result,' yang mempunyai operator ternary. Pengendali ternary memerlukan tiga ungkapan di sini. Pertama ialah syarat yang menyemak sama ada CGPA yang dimasukkan oleh pengguna adalah lebih besar daripada atau sama dengan '1.5'. Jika ya, pernyataan 'lulus' akan dicetak, atau ungkapan ketiga akan dicetak. Hasilnya akan ditunjukkan apabila anda menggunakan arahan cout.

Katakan pengguna menaip CGPA '3.5'. PNGK >= 1.5 kemudian dinilai kepada benar, memenuhi kriteria. Jadi, hasilnya diberi istilah pertama 'lulus'.



Katakan pengguna menaip 1.00. Akibatnya, keadaan CGPA >= 1.5 dinilai secara salah. Oleh itu, hasilnya diberikan ungkapan kedua, 'gagal'.

Contoh 2

Beberapa jenis pernyataan if else dalam C++ boleh ditukar dengan operator ternary. Kita boleh mengubah kod ini sebagai contoh. Program contoh pertama menggunakan syarat if-else, dan program contoh lain menggunakan operator ternary.

#include

menggunakan ruang nama std ;

int utama ( ) {

int pada satu = - 3 ;
cout << 'pada satu :' < 0 )
cout << ' \n Integer Positif' ;
lain
cout << ' \n Integer Negatif!' ;

kembali 0 ;
}

Kami telah mengisytiharkan dan memulakan pembolehubah jenis data int 'num' dengan nilai integer negatif. Selepas itu, dengan arahan cout, nilai 'num' dicetak. Kemudian, kita mempunyai syarat if-else. Di dalam keadaan 'jika', kami telah menetapkan syarat bahawa pembolehubah 'bilangan' harus lebih besar daripada nilai sifar. Jika keadaan menjadi benar, maka perintah cout hanya selepas keadaan 'jika' akan dicetak. Jika syarat menjadi palsu, maka pernyataan else cout akan dicetak.

Oleh kerana nombor adalah nilai negatif, keadaan if menjadi palsu dan

Seterusnya, kami melaksanakan program di atas dengan pengendali ternary. Mari semak untuk melihat sama ada keadaan if-else dan operator ternary mempunyai kesan yang sama.

#include

#include

menggunakan ruang nama std ;

int utama ( ) {

int MyNum = - 7 ;
cout << 'Integer:' << MyNum < 0 ) ? 'Integer Positif!' : 'Integer Negatif!' ;
cout << Hasil << endl ;

kembali 0 ;
}

Kami telah mengisytiharkan pembolehubah 'MyNum' dan memulakannya dengan nilai negatif. Kami telah mencetak nilai negatif dengan memanggil pembolehubah 'MyNum' di dalam arahan cout. Kemudian, kami menetapkan pembolehubah lain sebagai 'Hasil' dengan jenis rentetan. Pembolehubah hasil mengambil operasi operator ternary. Pertama, kami mempunyai syarat bahawa 'MyNum' harus lebih besar daripada sifar. Selepas itu, kami meletakkan pengendali ternary '?'. Dua ungkapan lain akan dilaksanakan pada hasil syarat.

Oleh kerana nilai integer ialah '-7' ungkapan ketiga, 'Integer Negatif!' dicetak pada gesaan. Di sini, output daripada kedua-dua aplikasi adalah sama. Pengendali ternary, bagaimanapun, meningkatkan kebolehbacaan dan kebersihan kod kami.

Contoh 3

Selain itu, pengendali ternary boleh diambil bekerja di dalam satu sama lain. Gunakan operator ternary bersarang untuk menyemak sama ada nilai adalah positif, negatif atau sifar dalam program berikut.

#include

#include

menggunakan ruang nama std ;

int utama ( ) {
int integer = 0 ;
rentetan Keputusan ;

Hasilnya = ( integer == 0 ) ? 'Sifar' : ( ( integer > 0 ) ? 'Positif' : 'Negatif' ) ;

cout << 'Integer ialah' << Hasilnya ;

kembali 0 ;
}

Mulakan sahaja dengan kaedah utama program. Dalam int main(), kami telah mencipta pembolehubah dengan nama 'integer' dan menetapkan nilainya sebagai sifar. Kemudian, kami menentukan pembolehubah lain, 'Hasil,' dengan rentetan jenis data. Kami telah menetapkan pembolehubah 'Keputusan,' memintas pengendali ternary kepadanya. Syaratnya ialah nilai 'integer' pembolehubah hendaklah sama dengan sifar 'integer == 0'. Keadaan awal, (integer == 0), menentukan sama ada integer yang diberi adalah sifar atau tidak. Jika ya, hasilnya diberi nilai rentetan 'Sifar.' jika jawapannya betul. Jika tidak, jika syarat pertama palsu, syarat kedua (integer > 0) akan diperiksa.

Ya, integer yang disediakan ialah sifar, seperti yang ditunjukkan dalam skrip. Output menjana 'Integer ialah Sifar'.

Kesimpulan

Kami sedar bahawa pengendali bersyarat ialah pengendali ternary. Dengan bantuan pengendali ini, kita boleh menyemak keadaan dan bertindak selaras dengannya. Kami mungkin mencapai perkara yang sama menggunakan syarat if-else dan bukannya operator ternary. Tutorial C++ ini mengajar kami cara menggunakan Operator Ternary melalui sintaks dan program contohnya. Perlu diingat bahawa pengendali ternary hanya boleh digunakan jika pernyataan akhir adalah ringkas.