Bu yazımda programlamada kullanılan basit ama olmazsa olmaz olan, 4 temel işlem, verilerin karşılaştırılması ve mantık işlemleri gibi temel işlemleri gerçekleştiren ifadeleri yani, operatörler konusunu anlatacağım.
Operatörler
Operatörler genelde programlarımızda değişkenlerimiz yada değerlerimiz ile toplama, çıkarma, çarpma, bölme, mod alma, azaltıp, artırma gibi işlemleri yapmamızı, iki değeri karşılaştırmamızı, değişkenlerimizin birini diğerine atamamızı veya ikilik sistemdeki verileri birbiri ile mantıksal işlemelere tabi tutmamızı sağlayan araçlardır.
Artırma ve Azaltma Operatörleri
Artırma ve azaltma operatörleri, değişkenlerin değerlerini birer birer artırıp azaltmamızı sağlayan operatörlerdir.
#include <iostream>
int main()
{
//number1 değişkenine 5 değerini atar
int number1 {5};
// önce bir azaltır sonra ekrana yazar
std::cout << --number1 << "\n"; // ekrana 4 yazar
// önce bir artırır sonra ekrana yazar
std::cout << ++number1 << "\n"; // ekrana 5 yazar
// önce ekrana yazar sonra bir artırır
std::cout << number1++ << "\n"; // ekrana 5 yazar
// önce ekrana yazar sonra bir azaltır
std::cout << number1-- << "\n"; // ekrana 6 yazar
std::cout << number1; // ekrana 5 yazar
return 0;
}
Aritmetik Operatörler
Aritmetik Operatörler toplama, çıkarma, çarpma, bölme, mod alma gibi matematiksel işlemleri gerçekleştiren operatörlerdir.
#include <iostream>
int main()
{
int a = 8;
int b = 10;
int c;
c = b + a; // c = 8 + 10 = 18
std::cout << c << "\n";
c = b - a; // c = 10 - 8 = 2
std::cout << c << "\n";
c = b * a; // c = 10 * 8 = 80
std::cout << c << "\n";
c = b / a; // c = 10 / 8 = 1
std::cout << c << "\n";
// mod (%) bölme işleminde kalan sayıyı verir
c = b % a; // c = 10 % 8 = 2
std::cout << c << "\n";
// 80 / 18 = 4 ve kalan 8 dir
c = (b * a) % (b + a); // 80 % 18 = 8
std::cout << c << "\n";
return 0;
}
Aritmetik Atama Operatörleri
Eşittir operatörü (=) standart atam operatörümüzdür, sağ tarafındaki işlem yada veriyi sol taraftaki değişkene atamamızı sağlamaktadır. Bunun dışında atama operatörleri ile toplama, çıkarma, çarpma bölme, mod alma gibi çeşitli işlemler de gerçekleşebilmektedir.
#include <iostream>
int main()
{
int a = 35;
int b = 10;
a += b; // a = a + b = 35 + 10 = 45
std::cout << a << "\n";
a -= b; // a = a - b = 45 - 10 = 35
std::cout << a << "\n";
a *= b; // a = a * b = 35 * 10 = 350
std::cout << a << "\n";
a /= b; // a = a / b = 350 / 10 = 35
std::cout << a << "\n";
// mod (%) bölme işleminde kalan sayıyı verir
a %= b; // a = a % b = 35 % 10 = 5
std::cout << a << "\n";
a += 5; // a = a + 5 = 5 + 5 = 10
std::cout << a << "\n";
// 10 / 2 = 5 ve kalan 0 dır
a %= b/5; // a = a % (b/5) = 10 % 2 = 0
std::cout << a;
return 0;
}
Karşılaştırma Operatörleri
programlama süreçlerinde karşılaştırma operatörleri genellikle, veriler arasındaki ilişkiye göre programın yönünü belirlemek amacıyla kullanılmaktadır. Örneğin a<b ifadesini ele aldığımızda, eğer a b’den küçükse ifademiz bir a b’den büyükse ifademiz sıfır döndürecektir. Karşılaştırma operatörleri if, else, while gibi karar yapılarında sıkça kullanılmaktadır.
#include <iostream>
int main()
{
int a{ 15 };
int b{ 15 };
int c{ 10 };
char d = 'e';
// a==b a b'ye eşit mi demektir
// a b'ye eşit olduğu için a==b bir döndürecek
std::cout << (a == b) << "\n";
// a!=b a b'ye eşit değil mi demektir
// a b'ye eşit olduğu için a!=b sıfır döndürecek
std::cout << (a != b) << "\n";
// c < b c b'den küçük mü demektir
// c b'den küçük olduğu için c < b bir döndürecek
std::cout << (c < b) << "\n";
// c > b c b'den büyük mü demektir
// c b'den küçük olduğu için c > b sıfır döndürecek
std::cout << (c > b) << "\n";
// c <= a c a'dan küçük eşit mi demektir
// c a'dan küçük olduğu için c <= a bir döndürecek
std::cout << (c <= a) << "\n";
// a b'ye eşit olduğu için a <= b bir döndürecek
std::cout << (a <= b) << "\n";
// d >= b d b'den büyük eşit mi demektir
/* e harfinin ondalık ASCII karşılığı 101 olduğu için d >= b bir döndürecek
*/
std::cout << (d >= b) << "\n";
return 0;
}
Mantık Operatörleri
Mantık operatörleri denince kısaca ve (&&) , veya (||) , değil (!) operatörlerini aklımıza getirebiliriz. Mantık operatörleri iki veriyi ikilik sistemde, yani bir sıfır seviyesinde karşılaştırmamızı sağlar.
Değil (!) operatörü bir verinin tersini almamızı sağlar, yani biri sıfıra sıfırı bire dönüştürmemizi sağlar.
Ve (&&) operatörü iki değeri karşılaştırıp iki değerde bir işe işlemin sonucunu bir, diğer durumlarda işlemin sonucu sıfır olarak döndürür.
Veya (||) operatörü iki değeri karşılaştırıp iki değerde sıfır işe işlemin sonucunu sıfır, diğer durumlarda işlemin sonucunu bir olarak döndürür.
0’a 0 | 0’a 1 | 1’e 0 | 1’e 1 | |
&& | 0 | 0 | 0 | 1 |
|| | 0 | 1 | 1 | 1 |
#include <iostream>
int main()
{
bool a[1];
bool b;
bool c;
b = !a;
std::cout << b << "\n"; // 0 yazar
b = !b;
std::cout << b << "\n"; // 1 yazar
c = ( 0 && 0 );
std::cout << c << "\n"; // 0 yazar
c = ( 0 && 1 );
std::cout << c << "\n"; // 0 yazar
c = ( 1 && 0 );
std::cout << c << "\n"; // 0 yazar
c = ( 1 && 1 );
std::cout << c << "\n"; // 1 yazar
c = ( 0 || 0 );
std::cout << c << "\n"; // 0 yazar
c = ( 0 || 1 );
std::cout << c << "\n"; // 1 yazar
c = ( 1 || 0 );
std::cout << c << "\n"; // 1 yazar
c = ( 1 || 1 );
std::cout << c; // 1 yazar
return 0;
}
Your style is so unique compared to many other people. Thank you for publishing when you have the opportunity,Guess I will just make this bookmarked.2