C++ Operatörler

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/