Pengoperasi dan Ungkapan Bab 6 Pengoperasi dan Ungkapan
Pengoperasi Pengoperasi – simbol yang digunakan untuk memanipulasi (mengubah) data Terdapat 5 jenis pengoperasi: Aritmetik Hubungan Mantik Tokok dan Susut Acu
Pengoperasi Aritmetik Asas Seperti pengoperasi aritmetik dalam Matematik Simbol Makna Contoh Ungkapan Hasil + Tambah 25 + 8 33 - Tolak 120 – 64 56 * Darab 3 * 7 21 / Bahagi 66 / 6 11 % Modulo 23 % 11 1
Operasi Pembahagian Ada dua jenis operasi pembahagian dalam C: Pembahagian integer Pembahagian nyata Pembahagian integer - berlaku apabila kedua-dua operan adalah integer Contoh: 8 / 4 = 2 12 / 5 = 2 Pembahagian nyata – berlaku apabila salah satu atau kedua-dua operan adalah nyata 5 / 2.5 = 2.0 5.5 / 2.0 = 2.25
Ungkapan Aritmetik Gabungan satu atau lebih operasi aritmetik Contoh: 5 + 6 21 – 6 + 7 * 4 / 2 Ungkapan aritmetik dinilai mengikut paras keutamaan Keutamaan Operasi Tinggi ( ) *, /, % Rendah +, -
Ungkapan Aritmetik Contoh: ( 9 – ( 3 + 2 ) ) * 3 ( 9 – 5 ) * 3 4 * 3 12
Ungkapan Aritmetik Ungkapan Algebra Ungkapan Aritmetik C 14 – 5 + 6 14 – 5 + 6 16 – 8 16 – 8 / 2 2 15 + 5 + 7 ( 15 + 5 + 7 ) / 2
Operasi Hubungan Pengoperasi Makna Ungkapan Nilai < Kurang daripada 6 < 9 1 <= Kurang daripada atau bersamaan dengan 5 <= 5 > Lebih daripada 2 > 6 >= Lebih daripada atau bersamaan dengan 9 >= 5 == Bersamaan dengan 7 == 5 != Tidak bersamaan dengan 6 != 5
Operasi Mantik Simbol Makna && dan || atau ! tak a b a && b a || b !a 1
Gabungan Operasi Operasi aritmetik, hubungan, dan mantik boleh digabungkan dalam satu ungkapan Contoh (andaikan a=2, b=5, c=15 dan d=17): 1. (a >= 1) && (b == 5) (2 >= 1) && (5 == 5) 1 && 1 1 2. ! (c > a) ! (15 > 2) ! 1 0
Gabungan Operasi 3. (c >= (b * 3) ) || (a == 3) (15 >= (2 * 3) ) || (2 == 3) (15 >= 6 ) || 0 1 || 0 1 4. ! ( (a < b) || (c > d ) ) ! ( (2 < 5) || (15 > 17) ) ! ( 1 || 0 ) ! 1 0
Pengoperasi Tokok dan Susut Pengoperasi yang unik kerana hanya memerlukan satu operan sahaja Simbol Makna Ungkapan Nilai ++ Tokok operan sebanyak 1 i++ i = i + 1 -- Susut operan sebanyak 1 i-- i = i – 1
Prefiks dan Posfiks Terdapat dua bentuk pengoperasi tokok dan susut; prefiks dan posfiks Ungkapan Makna i++ Nilai I ditokok selepas digunakan dalam ungkapan ++i Nilai I ditokok sebelum digunakan dalam ungkapan i-- Nilai I disusut selepas digunakan dalam ungkapan --i Nilai I disusut sebelum digunakan dalam ungkapan
Prefiks dan Posfiks Contoh: 1. i = 5; j = i++ - 2; 2. i = 5; 3 j i 6 3 j i 5 j i 6 j i 6 4 j
Pengoperasi Acu Menukar jenis pembolehubah secara automatik Kerap berlaku dalam ungkapan aritmetik yang menggabungkan jenis integer dan nyata Contoh 1: float a; int i; a = 8 / 5 + 10 * 1.5 – 12.5; i = 8 / 5 + 10 * 1.5 – 12.5; a 3.5 i 3
Pengoperasi Acu Contoh 2: int jumlah, bilangan; float purata; . . . . . . . purata = jumlah / bilangan; Contoh 3: purata = (float)jumlah / (float)bilangan; jumlah bilangan 15 2 purata 7.0 jumlah bilangan 15.0 2.0 purata 7.5
Jenis Pernyataan Umpukan Sintaks bagi suatu peryataan umpukan: <pembolehubah> = <ungkapan>; Terdapat 3 jenis pernyataan umpukan: Pernyataan umpukan mudah Pernyataan umpukan berganda Pernyataan umpukan majmuk
Pernyataan Umpukan Mudah Dalam pernyataan umpukan mudah, <ungkapan> boleh terdiri dari pemalar, ungkapan aritmetik dan ungkapan mantik Ungkapan di sebelah kanan dinilai, dan hasilnya diumpukkan kepada pembolehubah di sebelah kiri Contoh: jumlah = 0; purata = (6 + 8 + 5) / 3; gaji = 16.5 * 30;
Pernyataan Umpukan Mudah #include <stdio.h> void main( ) { float harga, diskaun, bayar; printf(“Harga belian : “); scanf(“%f”, &harga); printf(“Kadar diskaun : “); scanf(“%f”, &diskaun); bayar = harga – (harga * diskaun); printf(“Bagi harga belian RM %.2f dan kadar diskaun %.2f\n”, harga, diskaun); printf(“Harga yang perlu dibayar adalah RM %.2f\n”, bayar); } harga diskaun bayar harga diskaun bayar 100.0 harga diskaun bayar 100.0 0.3 harga diskaun bayar 100.0 0.3 70.0
Pernyataan Umpukan Berganda Dalam pernyataan umpukan berganda, bahagian <ungkapan> boleh terdiri dari satu atau lebih ungkapan yang lain Ungkapan yang di sebelah kanan sekali akan dinilai terlebih dahulu, kemudian diumpukkan kepada bahagian di sebelah kirinya, dan seterusnya.. .. Contoh: a = b = c = 40; setara dengan: (a = (b = (c = 40) ) )
Pernyataan Umpukan Berganda . int umur, jam_kerja; float gaji, kadar; . . . . umur = jam_kerja = 0; gaji = kadar = 0.0;
Pernyataan Umpukan Majmuk Apabila bahagian <ungkapan> mengandungi pembolehubah yang berada di sebelah kiri Nilai asal pembolehubah di sebelah kiri diambil dan dimanipulasi dan diumpukkan semula Contoh: bil = bil + 5; Pernyataan umpukan majmuk boleh juga ditulis menggunakan pengoperasi majmuk bil += 5;
Pengoperasi Majmuk Pengoperasi Contoh Makna += Bil += 5; Bil = Bil + 5; -= Bil -= 5; Bil = Bil – 5; *= Bil *= 5; Bil = Bil * 5; /= Bil /= 5; Bil = Bil / 5; %= Bil %= 5; Bil = Bil % 5;
Pernyataan Umpukan Majmuk Pengoperasi majmuk mempunyai keutamaan yang paling rendah dinilai akhir sekali Contoh: (gaji = 100.0, jamKerja = 8, kadar = 5.0) gaji += jamKerja * kadar * 2; gaji = gaji + (jamKerja * kadar * 2); gaji = gaji + ( 8 * 5.0 * 2); gaji = gaji + ( 40.0 * 2); gaji = gaji + 80.0 gaji = 100.0 + 80.0 gaji = 180.0