C Operatörler

0 225

C programlama belli başlı görevleri ve işlemleri gerçekleştirmek için farklı operatörlere sahiptir. Bu makalemizde, farklı C operatörlerini ve bunların nasıl kullanıldığını hep beraber inceliyeceğiz.

Operatörler Çeşitleri

Operatörler bir dizi işlemleri yapmak için sıklıkla kullandığımız sembollerdir. Hepimizin aklına gelen ve sıklıkla kullandığımız Toplama, Çıkartma, Bölme ve Çarpma gibi işlemler de Operatörlere dahildir.

Aritmetik Operatörler (Arithmetic Operators)

Aritmetik operatörler, sayılar veya sayısal değer taşıyan değişkenler üzerinde toplama, çıkarma, çarpma ve bölme gibi matematiksel işlemleri gerçekleştirir.

  • + : Toplama İşlemi veya Tekli Artırma
  • – : Çıkartma İşlemi veya Tekli Azaltma
  • * : Çarpma İşlemi
  • / : Bölme İşlemi
  • % : Bölme Sonrası Kalan (Mod Alma)
#include <stdio.h>

int main()
{
    int x = 15,y = 8, z;
    
    z = x+y;
    printf("x+y = %d \n",z);

    z = x-y;
    printf("x-y = %d \n",z);
    
    z = x*y;
    printf("x*y = %d \n",z);
    
    z = x/y;
    printf("x/y = %d \n",z);
    
    z = x%y;
    printf("x mod y işleminden kalan = %d \n",z);
    
    return 0;
}

Çıktısı:

  • x+y = 23
  • x-y = 7
  • x*y = 120
  • x/y = 1
  • x mod y işleminden kalan =7

Artırma ve Azaltma Operatörleri (Increment and Decrement Operators)

Artırma ve Azaltma Operatörlerinin iki işlevi vardır “++” ve “—” işlenenin değerini 1 artırıp azaltmaktır. Artırma ++ değeri 1 ile artırırken, Azaltma — değeri 1 ile azaltır.

#include <stdio.h>
int main()
{
    int x = 15, y = 125;
    float z = 16.4, d = 100.5;

    printf("++x = %d \n", ++x);

    printf("--y = %d \n", --y);

    printf("++z = %f \n", ++z);

    printf("--d = %f \n", --d);

    return 0;
}

Çıktısı:

  • ++x = 16
  • –y = 124
  • ++z = 17.400000
  • ++d = 99.500000

Atama Operatörleri (Assignment Operators)

#include <stdio.h>
int main()
{
    int x = 5, y;

    y = x;
    printf("y = %d \n", y);

    y += x; // y = y+x
    printf("y = %d \n", y);

    y -= x; // y = y-x
    printf("y = %d \n", y);

    y *= x; // y = y*x
    printf("y = %d \n", y);

    y /= x; // y = y/x
    printf("y = %d \n", y);

    y %= x; // y = y%x
    printf("y = %d \n", y);

    return 0;
}

Çıktısı:

  • y = 5
  • y = 10
  • y = 5
  • y = 25
  • y = 5
  • y = 0

İlişkisel Operatörler (Relational Operators)

İlişkisel Operatörler, birden fazla işlenen arasındaki ilişkiyi kontrol eder. İlişki doğru ise, 1 (true) döndürür; ilişki yanlış ise, 0 (false) değerini döndürür. Genellikle karar verme işlemleri ve döngülerde kullanılır.

OperatorOperatörün AnlamıÖrnek
==Eşittir (Equal to)6 == 4, sonuç 0
>Büyüktür (Greater than)8 > 4, sonuç 1
<Küçüktür (Less than)6 < 4, sonuç 0
!=Eşit değil (Not equal to)8 != 7, sonuç 1
>=Büyük veya eşittir (Greater than or equal to)3 >= 1, sonuç 1
<=Küçük veya eşittir (Less than or equal to)6 <= 2, sonuç 0
#include <stdio.h>
int main()
{
    int a = 5, b = 5, c = 10;

    printf("%d == %d = %d \n", a, b, a == b); // true
    printf("%d == %d = %d \n", a, c, a == c); // false

    printf("%d > %d = %d \n", a, b, a > b); //false
    printf("%d > %d = %d \n", a, c, a > c); //false


    printf("%d < %d = %d \n", a, b, a < b); //false
    printf("%d < %d = %d \n", a, c, a < c); //true


    printf("%d != %d = %d \n", a, b, a != b); //false
    printf("%d != %d = %d \n", a, c, a != c); //true


    printf("%d >= %d = %d \n", a, b, a >= b); //true
    printf("%d >= %d = %d \n", a, c, a >= c); //false


    printf("%d <= %d = %d \n", a, b, a <= b); //true
    printf("%d <= %d = %d \n", a, c, a <= c); //true

    return 0;

}

Çıktısı:

  • 5 == 5 = 1
  • 5 == 10 = 0
  • 5 > 5 = 0
  • 5 > 10 = 0
  • 5 < 5 = 0
  • 5 < 10 = 1
  • 5 != 5 = 0
  • 5 != 10 = 1
  • 5 >= 5 = 1
  • 5 >= 10 = 0
  • 5 <= 5 = 1
  • 5 <= 10 = 1

Mantıksal Operatörler (Logical Operators)

Mantıksal operatör içeren bir ifade, ifadenin doğruluğuna bakarak 0 veya 1 döndürür. Mantıksal operatörler, C programlamasında karar vermede çok fazla kullanılır.

  • && : Mantıksal VE (AND). Yalnızca tüm operandlar doğruysa doğru (true).
  • || : Mantıksal VEYA (OR).Yalnızca bir işlenen doğruysa doğru (true)
  • ! : Mantıksal DEĞİL(NOT). İşlenen 0 ise doğru (true) .
#include <stdio.h>
int main()
{
    int a = 5, b = 5, c = 10, result;

    result = (a == b) && (c > b);
    printf("(a == b) && (c > b) equals to %d \n", result);

    result = (a == b) && (c < b);
    printf("(a == b) && (c < b) equals to %d \n", result);

    result = (a == b) || (c < b);
    printf("(a == b) || (c < b) equals to %d \n", result);

    result = (a != b) || (c < b);
    printf("(a != b) || (c < b) equals to %d \n", result);

    result = !(a != b);
    printf("!(a == b) equals to %d \n", result);

    result = !(a == b);
    printf("!(a == b) equals to %d \n", result);

    return 0;
}

Çıktısı:

(a == b) && (c > b) equals to 1 
(a == b) && (c < b) equals to 0 
(a == b) || (c < b) equals to 1 
(a != b) || (c < b) equals to 0 
!(a != b) equals to 1 
!(a == b) equals to 0 

Mantıksal operatör programının açıklaması

  • (a == b) && (c> 5) 1 olarak değerlendirir, çünkü her iki işlenen (a == b) ve (c> b) 1’dir (doğru).
  • (a == b) && (c <b) 0 olarak değerlendirir, çünkü işlenen (c <b) 0 (yanlış) olur.
  • (a == b) || (c <b) 1 olarak değerlendirir, çünkü (a = b) 1 (doğru).
  • (a! = b) || (c <b) 0 olarak değerlendirir, çünkü hem operand (a! = b) ve (c <b) 0’dır (yanlış).
  • ! (a! = b), 1 olarak değerlendirilir, çünkü operand (a! = b), 0 (yanlış) olur. Dolayısıyla,! (A! = B) 1 (gerçek) olur.
  • ! (a == b) 0 olarak değerlendirir, çünkü (a == b) 1 (doğru). Dolayısıyla,! (A == b), 0 (yanlış) olur.

Bitsel Operatörler (Bitwise Operators)

Hesaplama sırasında, toplama, çıkarma, toplama ve bölme gibi matematiksel işlemler, işlemeyi daha hızlı hale getiren ve güç tasarrufu sağlayan bit düzeyine dönüştürülür. Bu işlemler sadece bit seviyesinde kullanılır.

OperatörlerAnlamı
&Bitsel ve (Bitwise AND)
|Bitsel veya (Bitwise OR)
^bitsel özel veya (Bitwise exclusive OR)
~Bitsel tamamlayıcı (Bitwise complement)
<<Sola kay (Shift left)
>>Sağa kay (Shift right)

Cevap bırakın

E-posta hesabınız yayımlanmayacak.