Skip to content

C Operatörleri

Aritmetik Operatörler

Toplama

c
int sonuc = a + b;

Çıkarma

c
int sonuc = a - b;

Çarpma

c
int sonuc = a * b;

Bölme

c
int sonuc = a / b;

Mod Alma

c
int sonuc = a % b;
// a = bölünen, b = bölen, sonuc = kalan

Arttırma

c
int deger = 5;
printf("%d\n", ++deger);
// değer anında 6 olur ve sonuç olarak 6 gösterilir.

int deger2 = 1;
printf("%d\n", deger++);
// ilk önce sonuç olarak 1 gösterilir, daha sonrasında 2 değerini alır.

Azaltma

c
int deger = 5;
printf("%d\n", --deger);
// değer anında 4 olur ve sonuç olarak 4 gösterilir.

int deger2 = 1;
printf("%d\n", deger--);
// ilk önce sonuç olarak 1 gösterilir, daha sonrasında 0 değerini alır.

Karşılaştırma Operatörleri

Eşitlik

c
int x = 5;
int y = 5;
printf("%d", x == y);
// 1 döndürülür.

Eşit Değil

c
int x = 5;
int y = 4;
printf("%d", x != y);
// 1 döndürülür.

Büyüktür

c
int x = 5;
int y = 4;
printf("%d", x > y);
// 1 döndürülür.

Küçüktür

c
int x = 5;
int y = 4;
printf("%d", y < x);
// 1 döndürülür.

Büyük eşittir

c
int x = 5;
int y = 4;
printf("%d", x >= y);
// 1 döndürülür.

Küçük eşittir

c
int x = 5;
int y = 4;
printf("%d", y <= x);
// 1 döndürülür.

Mantık Operatörleri

Ve

İfadelerin hepsi doğruysa 1 döndürür.

c
int x = 5;
int y = 4;
printf("%d", x < 6 && y < 10);
// 1 döndürülür.

Veya

İfadelerden herhangi biri doğru ise 1 döndürür.

c
int x = 5;
int y = 4;
printf("%d", x < 3 || y < 10);
// 1 döndürülür.

Değil

Sonucu tersine çevirir.

c
int x = 5;
printf("%d", !(x < 3));
// 1 döndürülür.

Bit Operatörleri

Değil

Tüm bitleri tersine çevirir.

c
unsigned char a = 5;
// a = 0000 0101

printf("~a = %d\n", a = ~a);
// Sonuç 1111 1010

Ve

Sayıların tüm bitlerinde tek tek mantıksal ve işlemini yapar ve sonucu geri döndürür.

c
unsigned char a = 5, b = 9;;
// a = 0000 0101, b = 00001001

printf("a & b = %d\n", a & b);
// Sonuç 0000 0001

Veya

Sayıların tüm bitlerinde tek tek mantıksal veya işlemini yapar ve sonucu geri döndürür.

c
unsigned char a = 5, b = 9;
// a = 0000 0101, b = 00001001

printf("a | b = %d\n", a & b);
// a | b = 0000 1101

Özel Veya

Sayıların tüm bitlerinde tek tek iki bitten yalnızca biri 1 olduğunda sonucu 1 olarak geri döndürür.

c
unsigned char a = 5, b = 9;
// a = 0000 0101, b = 00001001

printf("a ^ b = %d\n", a & b);
// a ^ b = 0000 1101

Sola Kaydırma

Sayının tüm bitlerini sola kaydırır.

c
unsigned char a = 5;
// a = 0000 0101, 

printf("b << 1 = %d\n", b << 1);
// Sonuç 0000 1010

Sağa Kaydırma

Sayının tüm bitlerini sağa kaydırır.

c
unsigned char a = 5;
// a = 0000 0101, 

printf("a << 1 = %d\n", a << 1);
// Sonuç 0000 0010

Atama Operatörleri

Doğrudan Atama

c
a = b;

Toplamalı Atama

c
a += b;
// a = a + b;

Çıkarmalı Atama

c
a -= b;
// a = a - b;

Çarpmalı Atama

c
a *= b;
// a = a * b;

Bölmeli Atama

c
a /= b;
// a = a / b;

Modlu Atama

c
a %= b;
// a = a % b;

Ve"li" Atama

c
a &= b;
// a = a & b;

Veya"lı" Atama

c
a |= b;
// a = a | b;

Özel Veya"lı" Atama

c
a ^= b;
// a = a ^ b;

Sola Bit Kaydırmalı Atama

c
a <<= b;
// a = a << b;

Sağa Bit Kaydırmalı Atama

c
a >>= b;
// a = a >> b;