Pemboleh ubah, jenis data dan operator
Domain Pemboleh ubah, jenis data dan operator menguji sama ada anda boleh mengisytiharkan storan yang betul untuk satu nilai, memilih jenis data yang sesuai, dan menilai ungkapan mengikut keutamaan operator yang betul. Soalan kerap meminta anda menjejak nilai akhir pemboleh ubah selepas satu siri umpukan, atau mengenal pasti ralat jenis dalam satu ungkapan.
Pengenal dan pengisytiharan
- Nama pemboleh ubah mesti bermula dengan huruf atau garis bawah, boleh mengandungi digit tetapi tiada ruang, dan tidak boleh menggunakan kata kunci.
- Kebanyakan bahasa bersifat case-sensitive:
Jumlahdanjumlahialah dua pemboleh ubah berbeza. - Pengisytiharan menetapkan jenis dan ruang:
int bil = 0. Pemalar (constant) diisytiharkan sekali dan tidak boleh diubah selepas itu.
Jenis data asas
Integer (nombor bulat), real/float (perduaan), Boolean (true/false), char (satu aksara), string (jujukan aksara). Jenis menentukan operasi yang sah: anda tidak boleh menolak string daripada integer tanpa penukaran.
Operator dan keutamaan
- Aritmetik:
+ - * / div mod - Perbandingan:
= <> < > <= >=(menghasilkan Boolean) - Logik:
AND OR NOT - Keutamaan dari tinggi ke rendah: kurungan →
NOT→* / div mod→+ -→ perbandingan →AND→OR.
Contoh berperingkat
Diberi a = 7, b = 2, semuanya integer.
c = a / b→ pembahagian integer memotong perpuluhan, jadic = 3(bukan 3.5).d = a mod b→ baki 7 ÷ 2 ialah 1.e = a / 2.0→ salah satu operand real, jadi keputusan real: 3.5.f = (a > b) AND (b <> 0)→true AND true=true.
Perangkap yang menghilangkan markah
- Menganggap
7 / 2memberi 3.5 apabila kedua-dua operand integer. - Menggunakan
=untuk perbandingan dalam syarat, bukan==atau<>mengikut konvensyen bahasa. - Mengelirukan
mod(baki) dengandiv(hasil bulat). - Membaca pemboleh ubah yang belum diumpukkan nilai awal.
- Menukar real kepada integer secara eksplisit lalu terlupa bahawa ia memotong, bukan membundarkan.