CCS C dilinde operatörler konusunun bir bölümü olan Karşılaştırma Operatörlerini, Kontrol Yapıları dersinde incelemiştik. Bu dersimizde ise Aritmetiksel ve Mantıksal operatörleri ele alacağız.
Aritmetiksel operatörler matematiğin temeli olan dört işlemi yapmak için kullanılan operatörlerdir.
Bu operatörler;
Şimdi bu operatörleri bir bir inceleyelim.
Bu operatörümüz, operatörün sağında ve solundaki değerleri matematiksel toplama işlemine tabi tutar. Operatör işereti “+” karakteri ile gösterilir.
Sözdizimi: sonuc = degisken1 + degisken2
1 2 3 4 5 6 7 8 9 10 |
void main(){ int sayi1 = 15; int sayi2 = 8; int sonuc; sonuc = sayi1 + sayi2; // sonuc değişkeni değeri 23 olur sonuc = sonuc + 2; //sonuc değişkeni yeni değeri 25 olur } |
Bu operatörümüz, operatörün sağındaki değeri ve solundaki değerden matematiksel olarak çıkarma işlemine tabi tutar. Operatör işereti “-” karakteri ile gösterilir.
Sözdizimi: sonuc = degisken1 – degisken2
1 2 3 4 5 6 7 8 9 10 |
void main(){ int sayi1 = 15; int sayi2 = 8; int sonuc; sonuc = sayi1 - sayi2; // sonuc değişkeni değeri 7 olur sonuc = sonuc - 2; //sonuc değişkeni yeni değeri 5 olur } |
Bu operatörümüz, operatörün sağındaki değerle ve solundaki değeri matematiksel olarak çarpma işlemine tabi tutar. Operatör işereti “*” karakteri ile gösterilir.
Sözdizimi: sonuc = degisken1 * degisken2
1 2 3 4 5 6 7 8 9 10 |
void main(){ int sayi1 = 5; int sayi2 = 8; int sonuc; sonuc = sayi1 * sayi2; // sonuc değişkeni değeri 40 olur sonuc = sonuc * 2; //sonuc değişkeni yeni değeri 80 olur } |
Bu operatörümüz, operatörün solundaki değeri ve sağındaki değere matematiksel olarak bölme işlemine tabi tutar. Operatör işereti “/” karakteri ile gösterilir.
Sözdizimi: sonuc = degisken1 / degisken2
1 2 3 4 5 6 7 8 9 10 |
void main(){ int sayi1 = 40; int sayi2 = 5; int sonuc; sonuc = sayi1 / sayi2; // sonuc değişkeni değeri 8 olur sonuc = sonuc / 2; //sonuc değişkeni yeni değeri 4 olur } |
Bu operatörümüz, operatörün solundaki değerin ve sağındaki değere matematiksel olarak bölümünden, kalanını döndürür. Operatör işereti “%” karakteri ile gösterilir.
Sözdizimi: sonuc = degisken1 % degisken2
1 2 3 4 5 6 7 8 |
void main(){ int sayi1 = 57; int sayi2 = 12; int sonuc; sonuc = sayi1 % sayi2; // 57 sayısının 12 sayısına bölümünden kalanı alıyoruz // sonuc değişkeni değeri 9 olur } |
Mantıksal operatörler, operatörün solundaki ve sağındaki değerleri mantıksal (AND, OR, NOT) işleme tabii tutar.
Bahsettiğimiz üzere 3 adet mantıksal operatör mevcuttur;
VE operatörümüz operatörün solundaki ve sağındaki işlemi mantıksal VE (AND) işlemine tabii tutar. Eğer her iki taraftaki işlem de true (doğru) sonuç döndürüyorsa, mantıksal sınama doğru olarak değer döndürür. Diğer durumlarda false (yanlış) sonuç döndürür. Operatör “&&” karakterleri ile gösterilir.
Sözdizimi: sonuc = durum1 && durum2
Örnek:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 |
void main(){ int1 durum1 = true; int1 durum2 = true; int1 durum3 = false; int1 sonuc; sonuc = durum1 && durum2; // durum1 ve durum2 her ikiside true olduğu için // sonuc değişkeni değeri true olur sonuc = durum1 && durum3; // durum1 true, durum3 false olduğu için // sonuc değişkeni değeri flase döner // mantıksal sınamayı if sorgularında da kullanabiliriz if(durum1 && durum2){ // eğer durum1 VE durum2 true ise // buradaki kodları çalıştır } } |
Bahsettiğimiz üzere VE operatörünün true değer döndürmesi için operatörün her iki tarafındaki değerin de true olması gerekmektedir. Herhangi biri ya da her ikisi de false olursa, false (yanlış) değer döndürür.
Mantıksal VEYA (OR) operatörümüz, operatörün solundaki veya sağındaki değerin herhangi biri true ise, ya da her ikisi de true ise, true (doğru) sonuç döndürür. Yalnızca operatörün her iki tarafındaki değer false (yanlış) ise false değer döndürür. Operatör “||” karakterleri ile gösterilir.
Örnek:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 |
void main(){ int1 durum1 = true; int1 durum2 = true; int1 durum3 = false; int1 durum4 = false; int1 sonuc; sonuc = durum1 || durum2; // durum1 ve durum2 her ikiside true olduğu için // sonuc değişkeni değeri true olur sonuc = durum1 || durum3; // durum1 true, durum3 false olduğu için // sonuc değişkeni değeri true döner sonuc = durum3 || durum4; // durum3 false, durum4 false olduğu için // sonuc değişkeni değeri false (yanlış) olarak döner // mantıksal sınamayı if sorgularında da kullanabiliriz if(durum1 || durum4){ // eğer durum1 VEYA durum4 true ise // buradaki kodları çalıştır } } |
Mantıksal değil operatörü, kendisinden sonra gelen değişkenin ya da değerin tam tersi sonuç döndürür. Eğer kendinden sonra gelen değer true ise false, false ise true sonuç döndürür. Bu operatör “!” karakeri ile kullanılır.
Sözdizimi: sonuc = !degisken;
Örnek:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 |
void main(){ int1 degisken1 = true; int1 degisken2 = false; int1 sonuc; sonuc = !degisken1; // degisken1 değişkeni değeri true olduğu için // sonuc değişkeni değeri false olur sonuc = !degisken2; // degisken2 değişkeni değeri false olduğu için // sonuc değişkeni değeri true olur if(!degisken1){ // degisken1 true değilse //Buradaki kodları çalıştır } else { // degisken1 değeri true olduğu için // buradaki kodlar ÇALIŞMAZ } if(!degisken2){ // degisken2 true değilse //Buradaki kodları çalıştır // degisken2 değeri false olduğu için // buradaki kodlar ÇALIŞIR } else { // degisken2 değeri false olduğu için // buradaki kodlar ÇALIŞMAZ } } |