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örler
- 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 eder. 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
Örnek 1
#include <iostream>
using namespace std;
int main() {
int x = 5;
if(x == 5){
cout << "x = " << x;
}
else{
cout << " x deÄŸeri 5 deÄŸil";
}
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’ten 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 deÄŸeri 5 deÄŸil";
}
return 0;
}
Bu örnekte 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 deÄŸeri 5 deÄŸil
Örnek 2
#include <iostream>
using namespace std;
int main() {
int x = 7;
int y = 10;
if(x > y){
cout << "x, y'den büyük";
}
else{
cout << "y, x'den büyük ";
}
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 y deÄŸiÅŸkeninden büyük olması durumunda TRUE döndürecektir ve çıktı olarak “x, y'den büyük” yazdırılır. 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 büyük
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
Örnek 1
#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şkeninin 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
Örnek 2
#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ÅŸulun da 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/

