Video: Belajar C++ (Operasi penyeleksi kondisi - Pernyataan if dan else) 2024
Semua pengendali melaksanakan fungsi yang ditetapkan dalam C ++. Di samping itu, setiap pengendali mempunyai keutamaan - suatu urutan tertentu di mana ungkapan tersebut dinilai. Pertimbangkan, contohnya, bagaimana keutamaan memberi kesan kepada menyelesaikan masalah berikut:
int var = 2 * 3 + 1;
Jika penambahan dilakukan sebelum pendaraban, nilai ungkapan ialah 2 kali 4, atau 8. Jika pendaraban dilakukan terlebih dahulu, nilai adalah 6 tambah 1, atau 7.
Keutamaan pengendali menentukan siapa yang akan pergi terlebih dahulu. Konsep keutamaan juga terdapat dalam aritmetik. C ++ mematuhi aritmetik biasa yang mendahului. Oleh itu, pendaraban mempunyai pendahuluan yang lebih tinggi daripada penambahan, jadi hasilnya adalah 7.
Jadi apa yang berlaku apabila dua operator yang mendahului yang sama muncul dalam ungkapan yang sama? Sebagai contoh:
int var = 8/4/2;
Apabila pengendali keutamaan yang sama muncul dalam ungkapan yang sama, mereka dinilai dari kiri ke kanan (peraturan yang sama digunakan dalam aritmetik). Oleh itu, dalam coretan kod ini, var adalah sama dengan 8 dibahagikan dengan 4 (iaitu 2) dibahagikan dengan 2 (iaitu 1).
Ungkapan
x / 100 + 32
membahagi x dengan 100 sebelum menambah 32. Tetapi bagaimana jika programmer ingin membahagi x sebanyak 100 plus 32? Pengaturcara dapat mengubah keutamaan dengan ungkapan bundelan bersama dalam kurungan (warna algebra!), Seperti berikut:
x / (100 + 32)
Ungkapan ini mempunyai kesan yang sama seperti membahagi x sebanyak 132. Ungkapan asal
x / 100 + 32
adalah sama dengan ungkapan
(x / 100) + 32