Bu yazımızda operatörlere değineceğiz. Operatörler değişkenler ve değerler üzerinde işlem yapmak için kullanılırlar. Aşağıda değineceğimiz operatörler belirtilmiştir:
- İlişkisel operatörler
- Mantıksal operatörler
- Aritmetik operatörle
- Bitsel operatörler
İlişkisel Operatörler
Koşul ifadelerini yazarken farklı değerleri karşılaştırmak için ilişkisel operatörler, ilişkisel ifadeleri birleştirmek için ise mantıksal operatörler kullanılır. Aşağıdaki tabloda ilişkisel operatörler listelenmektedir.
İlişkisel Operatörler |
İlişkisel operatörlerle yazdığımız ifadelerin sonucu, bool değeri olan true veya false olacaktır. Örneğin aşağıdaki koşul ifadesi "x değeri y değerinden büyüktür" önermesini ifade ederi. Bu önerme doğru ise true, yanlış ise false değerini döndürür.
x > y
== operatörünü atama operatörü (=) ile karıştırmamak gerekir. == operatörü eşitlik kontrolü yapar. = operatörü ise sağdaki değişkeni veya değeri soldaki değişkene atar. Örneğin:
x == 5 // x değişkeni 5'e eşit ise true, değilse false döndürür
x = 5; //x değişkenine 5 değeri atanır
Örnek1:
#include <iostream>
using namespace std;
int main() {
int x = 5;
if(x == 5){
cout<<"x = "<< x;
}
else{
cout<<" x degeri 5 degil";
}
return 0;
}
Bu örnekte x değişkeni 5'e eşit olduğu için if yapısı true dönecektir. Bundan dolayı çıktı:
x = 5
Fakat x, 5'den farklı bir sayı olsaydı if koşulu FALSE dönecekti ve else yapısının içine girecekti. Mesela;
#include <iostream>
using namespace std;
int main() {
int x = 7;
if(x == 5){
cout<<"x = "<< x;
}
else{
cout<<" x degeri 5 degil";
}
return 0;
}
Bu örnek de x'in değeri 7'dir. Bu nedenle if koşulu sağlanmaz ve else yapısının içine girer ve çıktı:
x degeri 5 degil
Örnek2
#include <iostream>
using namespace std;
int main() {
int x = 7;
int y = 10;
if(x > y){
cout<<"x, y'den buyuk";
}
else{
cout<<"y, x'den buyuk ";
}
return 0;
}
Bu örnekte iki tane değişken vardır ve bu değişkenleri birbiri ile karşılaştırıyoruz. x değişkeninin değeri 7 olarak atanmıştır. Aynı şekilde y değişkeninin değeri de 10 olarak atanmıştır. if yapısında x değişkeninin ye değişkeninden büyük bulması durumda TRUE döndürecektir ve çıktı olarak x, y'den buyuk. Fakat bizim örneğimizde x değişkeni, y değişkeninden küçük olduğu için if koşulu FALSE dönecektir ve else yapısının içine girecektir ve program çıktısı aşağıdaki gibi olacaktır:
y, x'den buyuk
Mantıksal Operatörler
İlişkisel ifadeleri birleştirmek için mantıksal operatörleri kullanmamız gerektiğine değinmiştik. Birleştirme işlemi için kullandığımız mantıksal operatörler aşağıda belirtilmiştir.
Mantıksal Operatörler |
Örnek1
#include <iostream>
using namespace std;
int main() {
int x = 7;
int y = 10;
if(x == 7 && y == 10){
cout<<"x = "<<x<<",y = "<<y;
}
else{
cout<<"x != "<<x<<",y != "<<y;
}
return 0;
}
Bu örnekte x değişkeninin ve y değişkenin de koşulu sağlaması halinde if koşulu TRUE olacaktır. Eğer bu değişkenlerden biri koşulu sağlamaz ise FALSE olacaktır ve else yapısının içerisine girecektir.
Çıktı:
x = 7,y = 10
Örnek2
#include <iostream>
using namespace std;
int main() {
int x = 10;
int y = 10;
if(x == 7 || y == 10){
cout<<"x = "<<x<<",y = "<<y;
}
else{
cout<<"x != "<<x<<",y != "<<y;
}
return 0;
}
Bu örnekte, x değişkeninin değeri 10'dur. if yapısında x==7 koşulu doğru değildir. Fakat y==10 koşulu sağlanmaktadır ve kullanılan operatör "veya( || )" operatörü olduğu için içlerinden birinin koşulu sağlaması yeterli olacaktır. Bu nedenle if koşulu TRUE olur. FALSE olabilmesi için iki koşulunda sağlanmaması gerekir.
Çıktı:
x = 10,y = 10
Aritmetik Operatörler
Aritmetik operatörler toplama, çıkarma, çarpma, bölme, mod alma gibi matematiksel işlemleri yapmamızı sağlayan operatörlerdir.
Aritmetik Operatörler |
Örnek
#include <iostream>
using namespace std;
int main() {
int x = 15;
int y = 5;
cout<<"x+y = "<< x+y<<endl;
cout<<"x-y = "<< x-y<<endl;
cout<<"x*y = "<< x*y<<endl;
cout<<"x/y = "<< x/y<<endl;
cout<<"x%y = "<< x%y<<endl;
return 0;
}
Çıktı:
x+y = 20
x-y = 10
x*y = 75
x/y = 3
x%y = 0
x değişkeni, y değişkeninin katı olduğu için mod değeri 0'dır.
Bitsel Operatörler
Bitsel operatörler bitler üzerinde çalışır ve bit bit işlemler gerçekleştirmemiz gerektiğinde kullanırız.
Bitsel Operatörler |
Örnek
#include <iostream>
using namespace std;
int main() {
int x = 3;
int y = 5;
int z = 2;
cout<<"x&y = "<< (x&y)<<endl;
cout<<"x|y = "<< (x|y)<<endl;
cout<<"x^y = "<< (x^y)<<endl;
cout<<"x<<z = "<< (x<<z)<<endl;
cout<<"x>>z = "<< (y>>z)<<endl;
return 0;
}
Çıktı:
x&y = 1
x|y = 7
x^y = 6
x<<z = 12
x>>z = 1
Kaynaklar:
https://turkmuhendis.net/algoritma/islemler/
https://merttopuz.com/yazilim/cpp/cpp-operatorler
https://www.w3schools.com/cpp/cpp_operators.asp
https://www.tutorialspoint.com/cplusplus/cpp_operators.htm
https://firateski.com/ders-3-c-operatorler
https://www.algoritmaornekleri.com/c-plus-plus/c-operatorler/#Bitsel_Operatorler
https://serdarkuzucu.com/bitwise-operatorler/