36
İÇİNDEKİLER • Operatörler • Aritmetik Operatörler • Mantıksal Operatörler • Bitsel Operatörler • Karşılaştırma Operatörleri • Atama Operatörleri • Özel Amaçlı Operatörler • Operatörlerde İşlem Öncelikleri HEDEFLER • Bu üniteyi çalıştıktan sonra; • Virtual C# diline ait operatörleri tanıyabilecek, • Sistem performansı artırmak için en uygun operatörü seçebilecek, • İşlemler için gereken operatörleri birlikte kullanabileceksiniz. OPERATÖRLER NESNE TABANLI PROGRAMLAMA –I Okt. Mustafa AKBUĞA ÜNİTE 3

•Operatörler•Aritmetik Operatörler R Okt. Mustafa AKBUĞA · Bu örnek programda int veri tipinde degiskenA ve degiskenB, değişkenleri tanımlanmış ve 99 ve 33 tamsayı

  • Upload
    others

  • View
    7

  • Download
    0

Embed Size (px)

Citation preview

Page 1: •Operatörler•Aritmetik Operatörler R Okt. Mustafa AKBUĞA · Bu örnek programda int veri tipinde degiskenA ve degiskenB, değişkenleri tanımlanmış ve 99 ve 33 tamsayı

İÇİN

DEK

İLER

• Operatörler

• Aritmetik Operatörler

• Mantıksal Operatörler

• Bitsel Operatörler

• Karşılaştırma Operatörleri

• Atama Operatörleri

• Özel Amaçlı Operatörler

• Operatörlerde İşlem Öncelikleri

HED

EFLE

R • Bu üniteyi çalıştıktan sonra;

• Virtual C# diline ait operatörleritanıyabilecek,

• Sistem performansı artırmak için en uygun operatörü seçebilecek,

• İşlemler için gereken operatörleri birlikte kullanabileceksiniz.

OPERATÖRLER

NESNE TABANLI

PROGRAMLAMA –I

Okt. Mustafa AKBUĞA

ÜNİTE

3

Page 2: •Operatörler•Aritmetik Operatörler R Okt. Mustafa AKBUĞA · Bu örnek programda int veri tipinde degiskenA ve degiskenB, değişkenleri tanımlanmış ve 99 ve 33 tamsayı

Operatörler

Atatürk Üniversitesi Açıköğretim Fakültesi 2

Değişkenlere veri tipleri

atanırken bu

değişkenlerin

kullanıldığı işlem yapan

oparatörlerinde hesaba

katılması gerekir. İki

tamsayının bölünmesi

sonrasında ondalıklı

sayılar ortaya

çıkabilmektedir.

GİRİŞ

Visual C# programlama dili, operatör çeşitliliği açısından en güçlü dillerden

biridir. Tüm gereksinimleri karşılayabilecek farklı yapıda operatörelere sahiptir.

Operatörler genel olarak yapılarına veya işlevlerine göre sınıflandırılabilir.

Yapılarına göre, tek operantlı, iki operantlı ve üç operantlı olmak üzere üçe guruba

ayrılır. Yaptıkları işlevlere göre ise aritmetik, mantıksal, bitsel, karşılaştırma, atama

ve özel amaçlı operatörler olmak üzere altı guruba ayrılmaktadır.

Bu bölümde operatörler, işlevlerine göre sınıflandırılmış ve bu sınıftaki

opretör detaylı incelenerek birer örnek uygulamayla ile kullanış şekilleri

açıklanmıştır.

OPERATÖRLER

Programlama dillerinde tek başlarına herhangi bir anlamı olmayan ancak

aritmetiksel, mantıksal ve karar işlemlerinin yapılması için tasarlanmış karakterler

topluluklarına “operatör” adı verilir. Operatörlerin etki ettikleri sabit ya da

değişkenlere ise "operand" denilmektedir. Operetörler ile ilgili genel kavramlardan

sonra şimdi her bir operator gurubunu işlevlerine göre inceleyelim.

Aritmetik Operatörler

Visual C# programlama dili, basit matematiksel işlemlerin yapılmasını

sağlayan aritmetik toplama ( + ), çıkarma ( - ), çarpma ( * ), bölme ( / ) ve Modulus

( % ) operatörlere sahiptir. Bu operatörler sağına ve soluna aldıkları değerler

yardımıyla aritmetik işlemler yaparlar ve işlem sonucunda yeni değer üretirler.

Toplama operatörü (+): Bu operatör sayısal ifadeleri matematiksel olarak

toplar ve Metinsel ifadeleri ise yan yana birleştirir.

Örnek program_1: Bu örnek uygulama ile int ve string tipindeki iki

değişkenin toplama operatörü yardımıyla nasıl toplandığı gösterilecektir.

Bu örnek de int veri tipinde degiskenA ve degiskenB, ayrıca string tipinde

degiskenC ve degiskenD olmak üzere dört tane değişken tanımlanmıştır. degiskenA

ve degiskenB matematiksel olarak toplama işlemine tabii tutulurken degiskenC ve

degiskenD ise string olarak toplama işlemine tabi tutulacaktır. Bu işleme ait C#

kodu Şekil 1.1’de gösterilmektedir. Yazılan kodun çalıştırılması sonucu Şekil 1.2’

deki gibi bir ekran görüntüsü elde edilecektir.

Page 3: •Operatörler•Aritmetik Operatörler R Okt. Mustafa AKBUĞA · Bu örnek programda int veri tipinde degiskenA ve degiskenB, değişkenleri tanımlanmış ve 99 ve 33 tamsayı

Operatörler

Atatürk Üniversitesi Açıköğretim Fakültesi 3

Fark operatörü string

tipindeki değişkenlerde

kullanılmaz.

Şekil 1.1. Örnek_program_1 ‘e ait C# kodu

Şekil 1.2. Örnek program_1‘e ait kodların çalıştırılmasıyla ortaya çıkan ekran görüntüsü

Fark operatörü (-): Sadece matematiksel ifadelerde kullanılır. Çıkarma işlemi

yapar.

Örnek program_2: Bu örnek uygulama ile int tipindeki iki değişkenin

çıkarma operatörü yardımıyla birinin diğerinden matematiksel olarak nasıl

çıkarıldığı gösterilecektir.

Bu örnek programda int veri tipinde degiskenA ve degiskenB, değişkenleri

tanımlanmış ve 99 ve 33 tamsayı değerleri atanmıştır. degiskenA ve degiskenB

değerlerinin farkı alınarak ekranda gösterilmesi sağlanmıştır. Bu işleme ait C# kodu

Şekil 3,3’de gösterilmektedir. Yazılan kodun çalıştırılması sonucu Şekil 3,4 ‘deki gibi

bir ekran görüntüsü elde edilecektir.

Page 4: •Operatörler•Aritmetik Operatörler R Okt. Mustafa AKBUĞA · Bu örnek programda int veri tipinde degiskenA ve degiskenB, değişkenleri tanımlanmış ve 99 ve 33 tamsayı

Operatörler

Atatürk Üniversitesi Açıköğretim Fakültesi 4

Şekil 1.3. Örnek_program_2 ‘e ait C# kodu

Şekil 1.4. Örnek program_2‘e ait kodların çalıştırılmasıyla ortaya çıkan ekran görüntüsü

Çarpma operatörü (*):Matematiksel çarpma işlemi yapılır.

Örnek program_3: Bu örnek uygulama ile int tipindeki iki değişkenin

çarpma operatörü yardımıyla matematiksel olarak nasıl çarpıldığı gösterilecektir.

Bu işleme ‘e ait C# kodu Şekil 1,5’de gösterilmektedir. Yazılan kodun

çalıştırılması sonucu Şekil 1,6 ‘deki gibi bir ekran görüntüsü elde edilecektir.

Şekil 1.5. Örnek_program_3 ‘e ait C# kodu

Page 5: •Operatörler•Aritmetik Operatörler R Okt. Mustafa AKBUĞA · Bu örnek programda int veri tipinde degiskenA ve degiskenB, değişkenleri tanımlanmış ve 99 ve 33 tamsayı

Operatörler

Atatürk Üniversitesi Açıköğretim Fakültesi 5

Bir sayının sıfıra bölümü

tanımsızdır. Bölme

işleminde bu şekilde bir

işlem sonucunun ortaya

çıkması, programın

kırılmasına neden olur.

Şekil 1.6. Örnek program_3‘e ait kodların çalıştırılmasıyla ortaya çıkan ekran görüntüsü

Bölme operatörü (/): Matematiksel bölme işlemi yapılır.

Örnek program_4: Bu örnek uygulama ile int tipindeki iki değişkenin

bölme operatörü yardımıyla birbirine matematiksel olarak nasıl bölündüğü

gösterilecektir. Bu işleme ait C# kodu Şekil 1,7’de gösterilmektedir. Yazılan kodun

çalıştırılması sonucu Şekil 1,8 ‘deki gibi bir ekran görüntüsü elde edilecektir.

Şekil 1.7. Örnek_program_4‘e ait ‘e ait C# kodu

Şekil 1.8. Örnek program_4‘e ait kodların çalıştırılmasıyla ortaya çıkan ekran görüntüsü

Modulus (Kalan) operatörü (%): Bölme işlemindeki kalanı bulmak için

kullanılır.

Örnek program_5: Bu örnek uygulama ile int tipindeki iki değişkenin

Modulus operatörü yardımıyla birbirine matematiksel olarak bölünerek, kalanın

nasıl hesaplandığı gösterilecektir.

Page 6: •Operatörler•Aritmetik Operatörler R Okt. Mustafa AKBUĞA · Bu örnek programda int veri tipinde degiskenA ve degiskenB, değişkenleri tanımlanmış ve 99 ve 33 tamsayı

Operatörler

Atatürk Üniversitesi Açıköğretim Fakültesi 6

Bir değişken içinde yer

alan sayının tek ya da

çift olup olmadığı kalan

operatörü ile kolayca

tespit edilebilir.

Bu örnek uygulama ile int tipindeki bir değişkenin kalan operatörüyle nasıl

kullanıldığı gösterilecektir. Bu işleme ait C# kodu Şekil 1.9’de gösterilmektedir.

Yazılan kodun çalıştırılması sonucu Şekil 1.10 ‘daki gibi bir ekran görüntüsü elde

edilecektir.

Şekil 1.9. Örnek_program_5 ‘e ait C# kodu

Şekil 1.10. Örnek program_5‘e ait kodların çalıştırılmasıyla ortaya çıkan ekran görüntüsü

Şekil 1.10’da ekran çıktısı gösterilen uygulamada; A değişkeninin değeri (33)

B değişkeninin değerine (2) bölünmüş (33/2) işlem sonunda bolum=16 kalan=1

olarak bulunmuştur. Modulus operatörü bölüm yerine kalanı dikkate aldığından

işlem sonucu ekrana “1” yazılmıştır.

Mantıksal Operatörler

Visual C# programlama dili, basit mantıksal işlemlerin yapılmasını sağlayan

Değil ( ! ) , Veya( || ), Ve( && ) operatörlerini desteklemektedir. Bu

operatörlerin operantları mutlaka bool türünden olmak zorundadır.

Değil Operatörü ( ! ): Tek operantla kullanılır. Eşitliğin Solundaki değişkenin

değerini verilen boolean ifadenin tersini alarak (true ise false, false ise true) bulur.

Mantıksal Değil operatörün doğruluk tablosu Tablo 1.1’de verilmiştir.

Page 7: •Operatörler•Aritmetik Operatörler R Okt. Mustafa AKBUĞA · Bu örnek programda int veri tipinde degiskenA ve degiskenB, değişkenleri tanımlanmış ve 99 ve 33 tamsayı

Operatörler

Atatürk Üniversitesi Açıköğretim Fakültesi 7

Birden fazla yapılan

karşılaştırma

işlemlerinde mantıksal

operatörler kullanılır.

Tablo 1.1: Değil(Not) operatörünün doğruluk tablosu

A (!) A

True False

False True

Örnek program_6: Bu örnek uygulama ile bool tipindeki bir değişkenin değil

operatörüyle nasıl kullanıldığı gösterilecektir. Bu işleme ait C# kodu Şekil 1.11’de

gösterilmektedir. Yazılan kodun çalıştırılması sonucu Şekil 1.12‘deki gibi bir ekran

görüntüsü elde edilecektir.

Şekil 1.11. Örnek_program_6 ‘ya ait C# kodu

Şekil 1.12. Örnek program_6’ya ait kodların çalıştırılmasıyla ortaya çıkan ekran görüntüsü

Şekil 1.12’da ekran çıktısı gösterilen uygulamada; degiskenA ‘nin değeri

(false) degiskenB’nin değeri ise, degiskenA nın mantıksal değil işlemi sonucunda

bulunan değeri (true) şeklindedir. Program önce degişkenA’nın değeri “false” sonra

degiskenB nin değerini “True” olarak ekrana yazdırmıştır.

VEYA Operatörü ( || ): İki operantla birlikte kullanılır. A ve B Koşullardan

herhangi birisinin gerçekleşip gerçekleşmediğini araştırır. Şartlardan birisinin Tablo

1.2’de gösterildiği gibi doğru (true) olursa sonuç: doğru (true) olur. Şartlardan

ikisininde yanlış (false) olması durumunda sonuç: yanlış (false) değerini alır. Eğer

mantıksal Veya operatörü karşılaştırma operatörleriyle birlikte kullanılırlarsa

birden fazla koşulu kontrol edebilirler. Bu durumda mantıksal Veya operatörünün

Page 8: •Operatörler•Aritmetik Operatörler R Okt. Mustafa AKBUĞA · Bu örnek programda int veri tipinde degiskenA ve degiskenB, değişkenleri tanımlanmış ve 99 ve 33 tamsayı

Operatörler

Atatürk Üniversitesi Açıköğretim Fakültesi 8

kısa devre (short circuit) özelliği ortaya çıkar. Bu operatörlerin sağ tarafında ne

kadar öncelikli operatör bulunursa bulunsun önce sol tarafları tamamen yapılarak

bitirir, sonuç: doğru (true) ise sağ taraf artık sonucu değiştiremeyeceği için hiç

bakılmaz. Mantıksal Veya operatörün doğruluk tablosu Tablo 1.2’de verilmiştir.

Tablo 1.2: VEYA(Or) operatörünün doğruluk tablosu

A B A || B

False False False

False True True

True False True

True False True

Örnek program_7: Bu örnek uygulama ile bool tipindeki bir değişkenin

Mantıksal Veya operatörüyle nasıl kullanıldığı gösterilecektir. Bu işleme ait C#

kodu Şekil 1.13’te gösterilmektedir. Yazılan kodun çalıştırılması sonucu Şekil

1.14‘deki gibi bir ekran görüntüsü elde edilecektir.

Şekil 1.13. Örnek_program_7 ‘ye ait C# kodu

Şekil 1.14. Örnek program_7’ye ait kodların çalıştırılmasıyla ortaya çıkan ekran görüntüsü

Page 9: •Operatörler•Aritmetik Operatörler R Okt. Mustafa AKBUĞA · Bu örnek programda int veri tipinde degiskenA ve degiskenB, değişkenleri tanımlanmış ve 99 ve 33 tamsayı

Operatörler

Atatürk Üniversitesi Açıköğretim Fakültesi 9

Şekil 1.14’de ekran çıktısı gösterilen uygulamada; degiskenA ‘nin değeri

(false) degiskenB’nin değeri (true) olarak verilmiştir, degiskenA nın değeriyle

degiskenB değeri mantıksal Veya işlemine tabi tutulmuştur. Bu işlemi sonucunda

bulunan değer (true) şeklindedir. Program önce degişkenA’nın değerini “false”

degiskenB’nin değerini (True) sonrada Mantıksal Veya işleminin sonucu olan

“True” değerini ekrana yazdırmıştır.

VE Operatörü ( && ): İki operantla birlikte kullanılır. A ve B Koşullardan

herhangi birisinin gerçekleşip gerçekleşmediğini araştırır. Şartlardan birisinin Tablo

1.3’de gösterildiği gibi değeri yalnış (false) olursa sonuç: yanlış (false) olur.

Şartlardan ikisininde doğru (true) olması durumunda sonuç: doğru(true) değerini

alır. Eğer mantıksal Ve operatörü karşılaştırma operatörleriyle birlikte

kullanılırlarsa birden fazla koşulu kontrol edebilirler. Bu durumda mantıksal Ve

operatörünün kısa devre (short circuit) özelliği ortaya çıkar. Bu operatörlerin sol

tarafında ne kadar öncelikli operatör bulunursa bulunsun önce sağ tarafları

tamamen yapılarak bitirir, sonuç: yalnış (false) ise sol taraf artık sonucu

değiştiremeyeceği için hiç bakılmaz.

Mantıksal Ve operatörün doğruluk tablosu Tablo 1,3’te verilmiştir.

Tablo 1.3: Matıksal VEYA(Or) operatörünün doğruluk tablosu

A B A && B

False False False

False True False

True False False

True True True

Örnek program_8: Bu örnek uygulama ile bool tipindeki bir değişkenin

Mantıksal Ve operatörüyle nasıl kullanıldığı gösterilecektir. Bu işleme ait C# kodu

Şekil 1.15’te gösterilmektedir. Yazılan kodun çalıştırılması sonucu Şekil 1.16’daki

gibi bir ekran görüntüsü elde edilecektir.

Page 10: •Operatörler•Aritmetik Operatörler R Okt. Mustafa AKBUĞA · Bu örnek programda int veri tipinde degiskenA ve degiskenB, değişkenleri tanımlanmış ve 99 ve 33 tamsayı

Operatörler

Atatürk Üniversitesi Açıköğretim Fakültesi 10

Genelde mantıksal

operatörler boolean tipi

verilerle çalışırken,

Bitsel operatörler

tamsayı tipindeki

değişkenler ile çalışırlar.

Şekil 1.15. Örnek_program_8 ‘e ait C# kodu

Şekil 1.16. Örnek program_8‘e ait kodların çalıştırılmasıyla ortaya çıkan ekran görüntüsü

Şekil 1.16’da ekran çıktısı gösterilen uygulamada; degiskenA ‘nin değeri

(false), degiskenB’nin değeri ise (true) olarak verilmiştir, degiskenA nın değeriyle

degiskenB değeri mantıksal Ve işlemine tabi tutulmuştur. Bu işlemi sonucunda

bulunan değer (false) şeklindedir. Program önce degişkenA’nın değerini “false”

degiskenB’nin değerini (True) sonrada Mantıksal Ve işleminin sonucu olan “True”

değerini ekrana yazdırmıştır.

Bitsel Operatörler:

Visual C# programlama dili, Bitsel işlemlerin yapılması amacıyla, Bitsel Değil

( ~ ), bitsel VEYA ( | ), bitsel VE ( & ), Ozel bitsel VEYA ( ^) bitsel Sağa ve Sola

kaydırma (>> , <<) operatörlerine sahiptir. Bitsel operatörler, sayıları bir bütün

olarak ele almazlar, sayıları oluşturan her bit üzerinde ayrı ayrı işlem yaparlar. Bu

operatörlerin bitsel işlem yapabilmeleri için operantları mutlaka tamsayı türünden

olmak zorundadır. Gerçek sayılar üzerinde bitsel işlemler yapamazlar. Bitsel

operatörler bool türünden operantlarla kullanılırsa mantıksal işlemlerde

yapabilirler. Birden fazla mantıksal ifadelerde, Mantıksal operatörlerden farklı

olarak kısa devre özellikleri yoktur. Bu yüzden eşitliklerin her iki tafınıda ayrı ayrı

kontrol ederler buda program performansını azaltır.

Page 11: •Operatörler•Aritmetik Operatörler R Okt. Mustafa AKBUĞA · Bu örnek programda int veri tipinde degiskenA ve degiskenB, değişkenleri tanımlanmış ve 99 ve 33 tamsayı

Operatörler

Atatürk Üniversitesi Açıköğretim Fakültesi 11

Bitsel Değil ( ~ ): Tek operantla kullanılır. Bu operatör verilen tek oprant

değerini bitsel değil işlemine tabi tutar. Bu işlemin nasil yapıldığını anlamak için

bitsel değil operatörüne verilen sayısal değer ilk önce ikilik sayı sistemine çevrilir ve

bu çevrim sonucu ortaya çıkan değerin her bir biti Tablo 1.4’de gösterildiği gibi (0

ise 1, 1 ise 0) yapılır. Sonrasında ortaya çıkan sonuç ise tekrar onluk sisteme

çevrilerek değil işleminin sonucunu bulunur.

Tablo 1.4: Değil (Not) operatörünün doğruluk tablosu

A (~) A

0 1

1 0

Örnek program_9: Bu örnek uygulama ile bye tipindeki bir değişkenin Bitsel

Değil operatörüyle nasıl kullanıldığı gösterilecektir. Bu işleme ait C# kodu Şekil

1.17’de gösterilmektedir. Yazılan kodun çalıştırılması sonucu Şekil 1.18 ‘deki gibi

bir ekran görüntüsü elde edilecektir.

Şekil 1.17. Örnek_program_9 ‘a ait C# kodu

Şekil 1.18. Örnek program_9‘a ait kodların çalıştırılmasıyla ortaya çıkan ekran görüntüsü

Page 12: •Operatörler•Aritmetik Operatörler R Okt. Mustafa AKBUĞA · Bu örnek programda int veri tipinde degiskenA ve degiskenB, değişkenleri tanımlanmış ve 99 ve 33 tamsayı

Operatörler

Atatürk Üniversitesi Açıköğretim Fakültesi 12

Şekil 1.18’de bu uygulamanın ekran çıktısı görülmektedir. Programda önce

degişkenA’nın değeri “0”olarak verilmiş ve sonrasında bu değer Bitsel Değil

işlemine tabi tutularak “255” olarak hesaplanmıştır. Bu hesaplan değer değişkenB

değeri alarak atanmış ve degiskenA ile degiskenB değerleri ekranda gösterilmiştir.

“0” olarak verilen bir değerin, Bitsel Değil işlemiyle nasıl 255 olarak

hesaplandığı aşağıda verilen işlem adımlarıyla anlatılmıştır.

degiskenA = 0

degiskenB = ~degiskenA

1.Adım: degiskenA nin değeri onluk sayı sisteminde “0” olarak verilmiştir.

degiskenA nın değeri ikilik sayı sistemine çevrilir.

degiskenA = (0)10 -----> (0000 0000)2

2.Adım: değişkenA’ nın ikilik sayı sistemindeki değerini oluşturan herbir

bitin ayrı ayrı değili alınır.

(0000 0000)2 -----> (1111 1111)2

3.Adım: Bitsel değil işlemiyle bulunan bu ikilik sayı sistemindeki değer,

onluk sayı sistemine çevrilir.

(1111 1111)2-----> (255)10

4.Adım: Onluk sayı sistemine çevrilen bu değer degiskenB ye atanarak

işlem tamamlanır.

degiskenB=255

Bitsel VEYA ( | ):

İki operantla birlikte kullanılır. Bu operatör her iki oprant değerini Bitsel

Veya işlemine tabi tutar. Bu işlem için her iki operant değeride ilk önce ikilik sayı

sistemine çevrilir. Bu çevrim sonucu ortaya çıkan değerin her bir biti, Tablo 1.5’te

gösterildiği gibi bitlerden sadece birisi “1” ise sonuç değer: “1” bitlerden her ikiside

“0” ise sonuç değer: “0” olacak şekilde Veya işlemi yapılarak bulunur. Sonrasında

ortaya çıkan sonuç ise tekrar onluk sisteme çevrilerek Bitsel Veya işleminin

sonucunu bulunur. Eğer bu operatörün, operantları tamsayı değilde bool olarak

seçilirse Mantıksal Veya işlemi için de kullanılabilir. Fakat bu durumda diğer

mantıksal operatörler gibi kısa devre özelliği göstermez.

Page 13: •Operatörler•Aritmetik Operatörler R Okt. Mustafa AKBUĞA · Bu örnek programda int veri tipinde degiskenA ve degiskenB, değişkenleri tanımlanmış ve 99 ve 33 tamsayı

Operatörler

Atatürk Üniversitesi Açıköğretim Fakültesi 13

Tablo 1.5: Bitsel VEYA(Or) operatörünün doğruluk tablosu

A B A | B

0 0 0

0 1 1

1 0 1

1 1 1

Örnek program_10: Bu örnek uygulama ile bye tipindeki bir değişkenin

Bitsel Veya operatörüyle nasıl kullanıldığı gösterilecektir. Bu işleme ait C# kodu

Şekil 3.19’de gösterilmektedir. Yazılan kodun çalıştırılması sonucu Şekil 3.20‘deki

gibi bir ekran görüntüsü elde edilecektir.

Şekil 3.19. Örnek_program_10 ‘a ait C# kodu

Şekil 1.20. Örnek program_10‘a ait kodların çalıştırılmasıyla ortaya çıkan ekran görüntüsü

Şekil 1.20’de bu uygulamanın ekran çıktısı görülmektedir; Programda

degişkenA’nın değeri “96” ve degiskenB değeri “15”olarak verilmiştir. Verilen bu iki

değer ile Bitsel Veya işlemi yapılarak “255” değeri hesaplanmıştır. degiskenA ile

degiskenB’nin değerleri ve hesaplanan bu değer ekranda gösterilmiştir.

Page 14: •Operatörler•Aritmetik Operatörler R Okt. Mustafa AKBUĞA · Bu örnek programda int veri tipinde degiskenA ve degiskenB, değişkenleri tanımlanmış ve 99 ve 33 tamsayı

Operatörler

Atatürk Üniversitesi Açıköğretim Fakültesi 14

“96” ve “15” olarak verilen bir değerlerin, Bitsel Veya işlemiyle nasıl “111”

olarak hesaplandığı aşağıda verilen işlem adımlarıyla anlatılmıştır.

degiskenA = 96

degiskenB = 15

degiskenA | degiskenB

1.Adım: degiskenA ve degiskenB’nin değerleri onluk sayı sisteminde “96”

ve “15” olarak verilmiştir. degiskenA ve degiskenB’nin değerleri ikilik sayı

sistemine çevrilir.

degiskenA=(96)10 -----> (0110 0000)2

degişkenB=(15)10 -----> (0000 1111)2

2.Adım: değişkenA ve degiskenB’nın ikilik sayı sistemindeki değerini

oluşturan herbir bit üzerinde ayrı ayrı veya işlemi yapılır.

(0110 0000)2

(0000 1111)2

----------------------------------------------------------- (Bitsel Veya işlemi)

(0110 1111)2

3. Adım: Bitsel değil işlemiyle bulunan bu ikilik sayı sistemindeki değer,

onluk sayı sistemine çevrilir.

(0110 1111)2-----> (111)10

4. Adım degiskenA, degiskenB ve Onluk sayı sistemine çevrilen işlem

sonucu ekranda gösterilerek işlem tamamlanır.

Page 15: •Operatörler•Aritmetik Operatörler R Okt. Mustafa AKBUĞA · Bu örnek programda int veri tipinde degiskenA ve degiskenB, değişkenleri tanımlanmış ve 99 ve 33 tamsayı

Operatörler

Atatürk Üniversitesi Açıköğretim Fakültesi 15

Bitsel VE ( & ):

İki operantla birlikte kullanılır. Bu operatör her iki oprant değerini Bitsel Ve

işlemine tabi tutar. Bu işlem için her iki operant değeride ilk önce ikilik sayı

sistemine çevrilir.

Bu çevrim sonucu ortaya çıkan değerin her bir biti, Tablo 1.6’da gösterildiği

gibi bitlerden sadece birisi “0” ise sonuç değer: “0” bitlerden her ikisi de “1” ise

sonuç değer: “1” olacak şekilde Ve işlemi yapılarak bulunur. Sonrasında ortaya

çıkan sonuç ise tekrar onluk sisteme çevrilerek Bitsel Ve işleminin sonucu bulunur.

Eger bu operatörün, operantları tamsayı değilde bool olarak seçilirse

mantıksal Ve işlemi için de kullanılabilir. Fakat bu durumda diğer mantıksal

operatörler gibi kısa devre özelliği göstermez.

Tablo 1.6: Bitsel VEYA(Or) operatörünün doğruluk tablosu

A B A & B

0 0 0

0 1 0

1 0 0

1 1 1

Örnek program_11: Bu örnek uygulama ile bye tipindeki bir değişkenin

Bitsel Ve operatörüyle nasıl kullanıldığı gösterilecektir. Bu işleme‘e ait C# kodu

Şekil 1.21’de gösterilmektedir. Yazılan kodun çalıştırılması sonucu Şekil 1.22‘deki

gibi bir ekran görüntüsü elde edilecektir.

Şekil 1.21. Örnek_program_11 ‘e ait C# kodu

Page 16: •Operatörler•Aritmetik Operatörler R Okt. Mustafa AKBUĞA · Bu örnek programda int veri tipinde degiskenA ve degiskenB, değişkenleri tanımlanmış ve 99 ve 33 tamsayı

Operatörler

Atatürk Üniversitesi Açıköğretim Fakültesi 16

Şekil 1.22. Örnek program_11‘e ait kodların çalıştırılmasıyla ortaya çıkan ekran görüntüsü

Şekil 1.22’de bu uygulamanın ekran çıktısı görülmektedir. Programda

degişkenA’nın değeri “96” ve degiskenB değeri “15”olarak verilmiştir.

Verilen bu iki değer ile Bitsel Ve işlemi yapılarak “0” değeri hesaplanmıştır.

degiskenA ile degiskenB’nin değerleri ve hesaplanan bu değer ekranda

gösterilmiştir. “96” ve “15” olarak verilen bir değerlerin, Bitsel Ve işlemiyle nasıl

“0” olarak hesaplandığı aşağıda verilen işlem adımlarıyla anlatılmıştır.

degiskenA = 96

degiskenB = 15

degiskenA & degiskenB

1.Adım: degiskenA ve degiskenB’nin değerleri onluk sayı sisteminde “96”

ve “15” olarak verilmiştir. degiskenA ve degiskenB’nin değerleri ikilik sayı

sistemine çevrilir.

degiskenA=(96)10 -----> (0110 0000)2

degişkenB=(15)10 -----> (0000 1111)2

2.Adım: değişkenA ve degiskenB’nın ikilik sayı sistemindeki değerini

oluşturan herbir bit üzerinde ayrı ayrı veya işlemi yapılır.

(0110 0000)2

(0000 1111)2

----------------------------------------------------------- (Bitsel Ve işlemi)

(0000 0000)2

3.Adım: Bitsel değil işlemiyle bulunan bu ikilik sayı sistemindeki değer,

onluk sayı sistemine çevrilir.

(0000 0000)2-----> (0)10

4.Adım: degiskenA, degiskenB ve onluk sayı sistemine çevrilen işlem

sonucu ekranda gösterilerek işlem tamamlanır.

Page 17: •Operatörler•Aritmetik Operatörler R Okt. Mustafa AKBUĞA · Bu örnek programda int veri tipinde degiskenA ve degiskenB, değişkenleri tanımlanmış ve 99 ve 33 tamsayı

Operatörler

Atatürk Üniversitesi Açıköğretim Fakültesi 17

Genelde Bitsel Veya

operatörü donanımsal

iletişim hatlarından

(I/O) portundan veri

okuyup

değerlendirmekte

kullanılır.

Özel bitsel VEYA( ^ ):

İki operantla birlikte kullanılır. Bu operatör her iki oprant değerini Özel Bitsel

Veya işlemine tabi tutar. Bu işle için her iki operant değeride ilk önce ikilik sayı

sistemine çevrilir. Bu çevrim sonucu ortaya çıkan değerin her bir biti, Tablo 1.7’de

gösterildiği gibi bitlerden sadece birisi “0” veya “1” ise sonuç değer: “1” bitlerden

her ikiside “0” veya “1” ise sonuç değer: “0” olacak şekilde Özel Veya işlemi

yapılarak bulunur. Sonrasında ortaya çıkan sonuç ise tekrar onluk sisteme

çevrilerek Bitsel Özel Veya işleminin sonucunu bulunur.

Tablo 1.7: Bitsel VEYA(Or) operatörünün doğruluk tablosu

A B A ^ B

0 0 0

0 1 1

1 0 1

1 1 0

Örnek program_12: Bu örnek uygulama ile bye tipindeki bir değişkenin

Bitsel özel Veya operatörüyle nasıl kullanıldığı gösterilecektir. Bu işleme ‘e ait C#

kodu Şekil 1.23’de gösterilmektedir. Yazılan kodun çalıştırılması sonucu Şekil

1.24‘deki gibi bir ekran görüntüsü elde edilecektir.

Şekil 1.23. Örnek_program_12 ‘ye ait C# kodu

Şekil 1.24. Örnek program_12‘ye ait kodların çalıştırılmasıyla ortaya çıkan ekran görüntüsü

Page 18: •Operatörler•Aritmetik Operatörler R Okt. Mustafa AKBUĞA · Bu örnek programda int veri tipinde degiskenA ve degiskenB, değişkenleri tanımlanmış ve 99 ve 33 tamsayı

Operatörler

Atatürk Üniversitesi Açıköğretim Fakültesi 18

Şekil 1.24’de bu uygulamanın ekran çıktısı görülmektedir. Programda

degişkenA’nın değeri “96” ve degiskenB değeri “15”olarak verilmiştir. Verilen bu iki

değer ile Bitsel Özel Veya işlemi yapılarak “111” değeri hesaplanmıştır. degiskenA

ile degiskenB’nin değerleri ve hesaplanan bu değer ekranda gösterilmiştir.

“96” ve “15” olarak verilen bir değerlerin, Bitsel Özel Veya işlemiyle nasıl

“111” olarak hesaplandığı aşağıda verilen işlem adımlarıyla anlatılmıştır.

degiskenA = 96

degiskenB = 15

degiskenA ^ degiskenB

1.Adım: degiskenA ve degiskenB’nin değerleri onluk sayı sisteminde “96”

ve “15” olarak verilmiştir. degiskenA ve degiskenB’nin değerleri ikilik sayı

sistemine çevrilir.

degiskenA=(96)10 -----> (0110 0000)2

degişkenB=(15)10 -----> (0000 1111)2

2.Adım: değişkenA ve degiskenB’nın ikilik sayı sistemindeki değerini

oluşturan herbir bit üzerinde ayrı ayrı veya işlemi yapılır.

(0110 0000)2

(0000 1111)2

----------------------------------------------------------- (Bitsel Veya işlemi)

(0110 1111)2

3.Adım: Bitsel değil işlemiyle bulunan bu ikilik sayı sistemindeki değer,

Onluk sayı sistemine çevrilir.

(0110 1111)2-----> (111)10

4.Adım: degiskenA, degiskenB ve Onluk sayı sistemine çevrilen işlem

sonucu ekranda gösterilerek işlem tamamlanır.

Page 19: •Operatörler•Aritmetik Operatörler R Okt. Mustafa AKBUĞA · Bu örnek programda int veri tipinde degiskenA ve degiskenB, değişkenleri tanımlanmış ve 99 ve 33 tamsayı

Operatörler

Atatürk Üniversitesi Açıköğretim Fakültesi 19

Bir kez bitsel sola

kaydırma işlemi,

kaydırılan sayının iki ile

çarpılmış halini, iki kez

kaydırmak dört katını

vermektedir.

Bitsel Sağa ve Sola kaydırma (>> , <<) Operatörleri:

Sağa (>>) ve Sola (<<) kaydırma operatörleri, sayıların bitlerini istenililen

miktar kadar kaydırmak için kullanılır. (>>) operatörü sayıları sola kaydırırken, (<<)

operatörü sağa kaydırır. Her iki kaydırma operatörü de iki operand alır.

Sağa kaydırma operatörü ile işlem yaparken (>>) son bit her zaman sıfırla

beslenir, ilk bit kaydırmadan dolayı kaybolur (atılır).

Sola kaydırırken ise (>>) Son bit her zaman kaydırmadan dolayı atılırken ilk

bit sıfırla beslenir. Bitsel kaydırma operatörleri sadece tamsayı değişken türleriyle

kullanılabilir.

Örnek program_13: Bu örnek uygulama ile bye tipindeki bir değişkenin

Bitsel sağa kaydırma operatörüyle nasıl kullanıldığı gösterilmiştir. Bu işleme ait C#

kodu Şekil 3.25’de gösterilmektedir. Yazılan kodun çalıştırılması sonucu Şekil 1.26

‘deki gibi bir ekran görüntüsü elde edilecektir.

Şekil 1.25. Örnek_program_13 ‘e ait C# kodu

Şekil 1.26. Örnek program_13‘e ait kodların çalıştırılmasıyla ortaya çıkan ekran görüntüsü

Şekil 1.26’da ekran çıktısı gösterilen uygulamada; degiskenA ‘nin değeri

“15”, degiskenB ‘nin değeri ise “1” olarak verilmiştir. Sonuç ise degiskenA nin

degiskenB kadar sağa kaydırma işlemine tabi tutulmasıyla bulunur. Sağa kaydırma

işlem yaparken, değişekinin ikilik sayı sistemindeki karşığındaki son bit her zaman

Page 20: •Operatörler•Aritmetik Operatörler R Okt. Mustafa AKBUĞA · Bu örnek programda int veri tipinde degiskenA ve degiskenB, değişkenleri tanımlanmış ve 99 ve 33 tamsayı

Operatörler

Atatürk Üniversitesi Açıköğretim Fakültesi 20

Bir kez bitsel sağa

kaydırma işlemi,

kaydırılan sayının

yarısını vermektedir.

sıfırla beslenir ilk bit kaydırmadan dolayı kaybolur. Bu işlemi nasıl yapıldığı aşağıda

mavi çerçeve içerisinde gösterilmiştir. Program degişkenA’nın değerinin (15)

degişkenB’nın değeri (1) kadar sağa kaydırılması sonucu “7” olarak ekrana

yazdırmıştır.

degiskenA = 15

degiskenB = 1

sonuc=degiskenA >> degiskenB

Byte degiskenA=(15)10 -----> (0000 1111)2

Byte degişkenB=(1)10 -----> (0000 0001)2

------------------------------------------------- (Bitsel Sağa kaydırma (>>) işlemi)

Sonuc: (7)10 < ----- (0000 0111)2

Örnek program_14: Bu örnek uygulama ile bye tipindeki bir değişkenin

Bitsel sola kaydırma operatörüyle nasıl kullanıldığı gösterilecektir. Bu işleme ait C#

kodu Şekil 1.27’de gösterilmektedir. Yazılan kodun çalıştırılması sonucu Şekil

1.28‘deki gibi bir ekran görüntüsü elde edilecektir.

Şekil 1.27. Örnek_program_14 ‘e ait C# kodu

Şekil 1.28. Örnek program_14‘e ait kodların çalıştırılmasıyla ortaya çıkan ekran görüntüsü

Page 21: •Operatörler•Aritmetik Operatörler R Okt. Mustafa AKBUĞA · Bu örnek programda int veri tipinde degiskenA ve degiskenB, değişkenleri tanımlanmış ve 99 ve 33 tamsayı

Operatörler

Atatürk Üniversitesi Açıköğretim Fakültesi 21

Genelde Akış kontrol

ifadelerde karşılaştırma

operatörleri kullanılır.

Şekil 1.28’de ekran çıktısı gösterilen uygulamada; degiskenA‘nın değeri “15”,

degiskenB‘nin değeri ise “1” olarak verilmiştir. Sonuç ise degiskenA nin degiskenB

kadar sola kaydırma işlemine tabi tutulmasıyla bulunur. Sola kaydırma işlem

yaparken, değişekinin ikilik sayı sistemindeki karşığındaki ilk bit her zaman sıfırla

beslenir son bit kaydırmadan dolayı kaybolur. Bu işlemi nasıl yapıldığı aşağıda mavi

çerçeve içerisinde gösterilmiştir. Program degişkenA’nın değerinin (15)

degişkenB’nın değeri (1) kadar sala kaydırılması sonucu “30” olarak ekrana

yazdırmıştır.

degiskenA = 15

degiskenB = 1

sonuc=degiskenA << degiskenB

Byte degiskenA=(15)10 -----> (0000 1111)2

Byte degişkenB= (1)10 -----> (0000 0001)2

----------------------------------------------------------- (Bitsel Sola kaydırma (<<) işlemi)

Sonuc: (30 )10 <------- (00011110)2

Karşılaştırma Operatörleri

Visual C#’da karşılaştırma operatörleri (< ) Küçüktür, (>) Büyüktür, (<=)

Küçük eşittir, (>=) Büyük eşittir, (==) Eşit Eşittir, (!=)Eşitdeğildir şeklindedir.

Karşılaştırma operatörler iki değeri karşılaştırmada kullanılırlar ve ortaya mantıksal

bir sonuç çıkarırlar; bu sonuç bool değişkeni ile temsil edilir ve bu değer Akış

kontrol ve döngü deyimlerinin hangi yöne ilerlemesi gerektiğini belirler.

Örnek program_15: Bu örnek uygulama ile bye tipindeki bir değişkenin (< )

Küçüktür, (>) Büyüktür, (<=) Küçük eşittir, (>=) Büyük eşittir, (==) Eşit Eşittir, (!=)

Eşitdeğildir operatörüyle nasıl kullanıldığı gösterilecektir. Bu işleme ait C# kodu

Şekil 1.29’da gösterilmektedir. Yazılan kodun çalıştırılması sonucu Şekil 1.30 ‘daki

gibi bir ekran görüntüsü elde edilecektir.

Page 22: •Operatörler•Aritmetik Operatörler R Okt. Mustafa AKBUĞA · Bu örnek programda int veri tipinde degiskenA ve degiskenB, değişkenleri tanımlanmış ve 99 ve 33 tamsayı

Operatörler

Atatürk Üniversitesi Açıköğretim Fakültesi 22

En yaygın kullanılan

operatör Atama

operatörüdür.

Şekil 1.29. Örnek_program_15 ‘e ait C# kodu

Şekil 1.30. Örnek program_15‘e ait kodların çalıştırılmasıyla ortaya çıkan ekran görüntüsü

Atama operatörleri

Bir değişkene herhangi bir sabit ya da başka bir değişken atamak amacıyla

kullanılır. Atama işlemi yaparken Visual C# dilinde, aynı zamanda işlem yapan

atama operatörleri vardır. Bunlar (=) Sadece atama, (+=) Ekle ve ata, (-=) Çıkar ata,

(*=) Çarp ata gibi birçok matematiksel operatörle birlikte atama operatörü

kullanılabilmektedir.

Atama operatörü (=): Sağ taraftaki değeri sol taraftaki değişkene atamak için

(=) işareti kullanılmaktadır. Burada atamanın gerçekleşebilmesi için değişken

değeri ile tanımlanan veri tipi uyumlu olmalıdır.

Page 23: •Operatörler•Aritmetik Operatörler R Okt. Mustafa AKBUĞA · Bu örnek programda int veri tipinde degiskenA ve degiskenB, değişkenleri tanımlanmış ve 99 ve 33 tamsayı

Operatörler

Atatürk Üniversitesi Açıköğretim Fakültesi 23

Örnek program_16: Bu örnek uygulama ile int tipindeki bir değişkenin

atama operatörüyle nasıl kullanıldığı gösterilecektir. Bu işleme ait C# kodu Şekil

1.31’de gösterilmektedir. Yazılan kodun çalıştırılması sonucu Şekil 1.32 ‘deki gibi

bir ekran görüntüsü elde edilecektir.

Şekil 1.31. Örnek_program_16 ‘ya ait C# kodu

Şekil 1.32. Örnek program_16‘ya ait kodların çalıştırılmasıyla ortaya çıkan ekran görüntüsü

İşlemli Atama operatörleri (+=, -=, *= , /= vb. ): Sağ taraftaki değeri sol

taraftaki değişkene atamadan önce işaretle verilen işlemi gerçekleştirir ve

sonrasında atama yapar. Burada atama ve işleminin gerçekleşebilmesi için yapılan

işlem sonucunun ortaya çıkan değer ile tanımlanan veri tipi ile uyumlu olmalıdır.

Örnek program_17: Bu örnek uygulama ile int tipinde degiskenA ve

degiskenB tanımlanarak degiskenA ile basit aritmetik dört işlem, degiskenB ile’de

Ekle -Ata, Çıkart - Ata, Çarp-Ata, Böl-Ata operatör işelmelerinin nasıl kullanıldığı

gösterilecektir. Bu işleme ‘e ait Visual C# kodu Şekil 1.33’te gösterilmektedir.

Yazılan kodun çalıştırılması sonucu Şekil 1.34‘teki gibi bir ekran görüntüsü elde

edilir.

Page 24: •Operatörler•Aritmetik Operatörler R Okt. Mustafa AKBUĞA · Bu örnek programda int veri tipinde degiskenA ve degiskenB, değişkenleri tanımlanmış ve 99 ve 33 tamsayı

Operatörler

Atatürk Üniversitesi Açıköğretim Fakültesi 24

Ekle ve ata

operatörünün kullanım

şekli diğer operatörler

içinde geçerlidir (Çıkart

ve ata, Çarp ve ata gibi).

Şekil 1.33. Örnek_program_17 ‘ye ait C# kodu

Şekil 1.34. Örnek program_17‘ye ait kodların çalıştırılmasıyla ortaya çıkan ekran görüntüsü

Şekil 1.34’te ekran çıktısı gösterilen uygulamada; degiskenA ‘nin ve

degiskenB ‘nin değeri ise “99” olarak atanmıştır. degiskenA ile basit aritmetik

(toplama, çıkarma, çarpma, bölme) işlemleri yapılmış ve sayısal sonuçları açıklama

satırı olarak gösterilmiştir. Kırmızı okla işaretli degiskenB ile de Ekle -Ata, Çıkart -

Ata, Çarp-Ata, Böl-Ata işlemleri yapılarak en son işlemlerin sonucu olan

degiskenA‘nın değeri“40” ve degiskenB ‘nin değeri “40” olarak ekrana

yazdırmıştır.

Özel amaçlı operatör: Bu guruptaki operatörlerin genel bir amacı yoktur. Her

biri farklı bir amaç için kullanılmaktadır. Bunlar (?) Koşul Operatörü, (+,-) İşaret

Operatörleri (++) Artırma Operatörü, (--) Eksiltme Operatörü olarak sayılabilir. Bu

guruba girebilecek (as),(is),(size of), (new),(type of),(size of),(checked, unchecked),

( ( ) ),( [ ] ) gibi özel operatörlerde vardır. Fakat bu tip operatörler, ilerleyen

konularda yeri geldikçe konu içerisinde anlatılacaktır.

Page 25: •Operatörler•Aritmetik Operatörler R Okt. Mustafa AKBUĞA · Bu örnek programda int veri tipinde degiskenA ve degiskenB, değişkenleri tanımlanmış ve 99 ve 33 tamsayı

Operatörler

Atatürk Üniversitesi Açıköğretim Fakültesi 25

Koşul Operatörü (?): Koşul operatörü Visual C#' dilinde üç operand alan tek

operatördür. Kullanımı aşağıda gösterilmiştir.

Koşul (?) Durum1: Durum2;

Verilen koşula göre, operatör; koşul (true) değeri üretiyorsa Durum1 ile

verilen ifadeler, koşul (false) değeri üretiyorsa Durum2 ile verilen ifadelerin

çalıştırılmasını sağlar. Kullanış şekli örnek program_18 de gösterilmektedir.

Örnek program_18: Bu örnek uygulama ile int tipindeki bir değişkenin koşul

operatörüyle nasıl kullanıldığı gösterilecektir. Bu işleme ait C# kodu Şekil 1.35’de

gösterilmektedir. Yazılan kodun çalıştırılması sonucu Şekil 1.36 ‘deki gibi bir ekran

görüntüsü elde edilecektir.

Şekil 1.35. Örnek_program_18 ‘e ait C# kodu

Şekil 1.36. Örnek program_18‘e ait kodların çalıştırılmasıyla ortaya çıkan ekran görüntüsü

İşaret Operatörleri(+,-):

(+,- )operatörü bir değişken veya sabit ifadenin işaretini değiştirmek için

kullanılır.

Örnek program_19: Bu örnek uygulama ile int tipindeki bir değişkenin işaret

operatörüyle nasıl kullanıldığı gösterilecektir. Bu işleme ait C# kodu Şekil 1.37’de

Page 26: •Operatörler•Aritmetik Operatörler R Okt. Mustafa AKBUĞA · Bu örnek programda int veri tipinde degiskenA ve degiskenB, değişkenleri tanımlanmış ve 99 ve 33 tamsayı

Operatörler

Atatürk Üniversitesi Açıköğretim Fakültesi 26

İşlem içerisinde bir

değişkenin pozitif ya da

negatif yapılması işaret

operatörleri ile sağlanır.

gösterilmektedir. Yazılan kodun çalıştırılması sonucu Şekil 1.38‘deki gibi bir ekran

görüntüsü elde edilecektir.

Şekil 1.37. Örnek_program_19 ‘a ait C# kodu

Şekil 1.38. Örnek program_19‘a ait kodların çalıştırılmasıyla ortaya çıkan ekran görüntüsü

Artırma Operatörü(++):

Visual C#'ın en çok kullanılan operatörlerindendir. Önüne veya sonuna geldiği

değişkenin değerini bir artırır, sabitlerde kullanılmaz. Ön ek ve son ek olmak üzere

değişkenlerde iki kullanım şekli vardır. Sayının sonuna önüne eklenmesi

durumunda sayının değerini 1 arttırır. Sayının sonuna eklenmesi durumunda ise

önce atama işlemi yapılır ve sonrasında sayının değeri 1 artırılır.

Örnek program_20: Bu örnek uygulama ile int tipindeki bir değişkenin

artırma operatörüyle nasıl kullanıldığı gösterilecektir. Bu işleme ait C# kodu Şekil

1.39’de gösterilmektedir. Yazılan kodun çalıştırılması sonucu Şekil 1.40‘daki gibi bir

ekran görüntüsü elde edilecektir.

Page 27: •Operatörler•Aritmetik Operatörler R Okt. Mustafa AKBUĞA · Bu örnek programda int veri tipinde degiskenA ve degiskenB, değişkenleri tanımlanmış ve 99 ve 33 tamsayı

Operatörler

Atatürk Üniversitesi Açıköğretim Fakültesi 27

Artırma ve azaltma

operatörlerinin ön ek

veya son ek olması

değişkene aktarılacak

sonucu etkilemez.

Sadece değişkenin

değerinde etkilidir.

Şekil 1.39. Örnek_program_20 ‘ye ait C# kodu

Şekil 1.40. Örnek program_20 ‘ye ait kodların çalıştırılmasıyla ortaya çıkan ekran görüntüsü

Eksiltme Operatörü(--):

Önüne veya sonuna geldiği değişkenin değerini bir azaltır. Aynı artırma

operatörlerinde olduğu gibi sabitlerde kullanılmaz ve Ön ek ve son ek olmak üzere

yine iki ayrı kullanımı vardır.

Örnek program_21: Bu örnek uygulama ile int tipindeki bir değişkenin

eksiltme operatörüyle nasıl kullanıldığı gösterilecektir. Bu işleme ait C# kodu Şekil

1.41’de gösterilmektedir. Yazılan kodun çalıştırılması sonucu Şekil 1.42 ‘deki gibi

bir ekran görüntüsü elde edilecektir.

Page 28: •Operatörler•Aritmetik Operatörler R Okt. Mustafa AKBUĞA · Bu örnek programda int veri tipinde degiskenA ve degiskenB, değişkenleri tanımlanmış ve 99 ve 33 tamsayı

Operatörler

Atatürk Üniversitesi Açıköğretim Fakültesi 28

Şekil 1.41. Örnek_program_21 ‘e ait C# kodu

Şekil 1.42. Örnek program_21‘e ait kodların çalıştırılmasıyla ortaya çıkan ekran görüntüsü

Operatörlerde İşlem Öncelikleri

Visual C# programlama dilinde hesap işlemleri yapmak için yukarıda işlevleri

açıklanan opreratörler kullanılır. Bazen bu operatörler tek başlarına kullanılmış olsa

da çoğu zaman hesap işlerinde birden fazla operatör kullanmak gerekir. Bu gibi

durumlarda operatörlerin belirli bir çalışma sırası olacaktır. Bütün dillerde olduğu

gibi Visual C# dilinde de operatör önceliği vardır. Mantıksal bir yol izlenerek

operatörlere öncelik sırası verilmiştir.

Örnek olarak “2 + 3 * 10” işlemini ele alalım. Bu işlemin sonucu önce

toplama işlemi yapılırsa sonuç: 50, çarpma işlemi yapılırsa sonuç: 32 çıkacaktır.

Page 29: •Operatörler•Aritmetik Operatörler R Okt. Mustafa AKBUĞA · Bu örnek programda int veri tipinde degiskenA ve degiskenB, değişkenleri tanımlanmış ve 99 ve 33 tamsayı

Operatörler

Atatürk Üniversitesi Açıköğretim Fakültesi 29

Operatörlerde işlem

öncelikleri tablosunu

ezberlemeye gerek

yoktur. Bu tablo

bilgisayarın yaptığı

işlemleri anlamayı

kolaylaştırmak amacıyla

hazırlanmıştır.

“2+3*10” işleminin doğru sonucu 32’dir. Çünkü matematiksel işlemlerde

bazı operatörlerin diğerlerine göre işlem önceliği vardır. Çarpma işlemi toplamadan

önce yapılır. Tersi bir işlem hatalı olan 50 sonucunu verir. Tablo 1.8’de opretörlerin

sembolleri ve öncelik sıraları gösterilmiştir.

Tablo 1.8’de aşağı doğru ilerleyen bir öncelik sıralaması vardır. Aynı satırda

belirtilmiş olan operatörler ise aynı önceliğe sahiptirler. Kendi aralarında eşit

önceliklere sahip operatörlerde işlemler, soldan başlanarak sağa doğru yapılır.

Parantezler ise çarpma, bölme, toplama ve çıkarma işlemlerine göre önceliklidir.

Bileşik operatör kullanımlarında, en öncelikli yapılması istenen işlemler

parantez içerisine alınmalıdır.

Tablo 1.8: operatörlerde işlem öncelik sırasını gösteren tablo

Öncelik

sırası

Operatör

Gurubu

Operatör

Sembolleri

1. Tek operand alan operatörler x++, x--,

2. Tek operand alan operatörler +, -, ! , ~, ++x , --x

3. Aritmetik operatörler *, /, %

4. Aritmetik operatörler +, -

5. Kaydırma operatörleri <<, >>

6. Karşılaştırma operatörleri <, >, <=, >=

7. Karşılaştırma operatörleri ==, !=

8. Bitsel Ve operatörü &

9. Bitsel Özel Veya operatörü ^

10. Bitsel Veya operatörü |

11. Mantıksal Ve operatörü &&

12. Mantıksal Veya operatörü ||

13. Koşul operatörü ?

14. Atama ve işlemli atama operatörleri =, *=, /=, %=,

15. Atama ve işlemli atama operatörleri +=, -=, <<=, >>=, &=, ^=, |=

Örnek program_22: Bu örnek uygulama ile tırnak içinde gösterilen

“(2* 18 / 6-(2 *(5-2)+ 12/ 4)+ 1) “ matematiksel ifadenin, sonucunu hesaplayan

bir visual c# dili ile bir program yazarak işlem sonucunu ekranda gösterin.

Page 30: •Operatörler•Aritmetik Operatörler R Okt. Mustafa AKBUĞA · Bu örnek programda int veri tipinde degiskenA ve degiskenB, değişkenleri tanımlanmış ve 99 ve 33 tamsayı

Operatörler

Atatürk Üniversitesi Açıköğretim Fakültesi 30

Şekil 1.43. Örnek_program_22 ‘e ait C# kodu

Şekil 1.44. Örnek program_22‘e ait kodların çalıştırılmasıyla ortaya çıkan ekran görüntüsü

Şekil 1.43’te Visual C# kodu gösterilen uygulamada;

2* 18 / 6-(2 *(5-2)+ 12/ 4)+ 1=?

Matematiksel ifadenin sonucu hesaplanarak degiskenA aktarılmış ve bu

durum şekil 3.44’de ekran çıktısında “-2” olarak gösterilmiştir.

Bu matematiksel ifadenin çözümü için işleme, ilk önce sol taraftaki

sayılardan başlanır ve öncelikle parantez içindeki ifadeler hesaplanır. Sonrasında

çarpma/bölme ve toplama /çıkarma işlemleri yapılır. 2*18/6-9+1 = 2*3-9+1 =

6-9+1=-2, sonuç (-2) olarak bulunur.

Page 31: •Operatörler•Aritmetik Operatörler R Okt. Mustafa AKBUĞA · Bu örnek programda int veri tipinde degiskenA ve degiskenB, değişkenleri tanımlanmış ve 99 ve 33 tamsayı

Operatörler

Atatürk Üniversitesi Açıköğretim Fakültesi 31

Öze

t•Programlama dillerinde tek başlarına herhangi bir anlamı olmayan ancak

programın işleyişine katkıda bulunan karakter topluluklarına operatör denir. Operatörlerin etki ettikleri sabit ya da değişkenlere ise "operand" denilmektedir.

•Yaptıkları işlevlere göre operatörler 6 gruba ayrılmaktadır. Bunlar Aritmetik, Mantıksal, Bitsel, Karşılaştırma, Atama ve Özel amaçlı operatörlerdir.

•Visual C# programlama dili, basit matematiksel işlemlerin yapılmasını sağlayan aritmetik toplama ( + ), çıkarma ( - ), çarpma ( * ), bölme ( / ) ve Modulus ( % ) operatörlerine sahiptir.

•Visual C# programlama dili,basit mantıksal işlemlerin yapılmasını sağlayan Değil ( ! ) , VEYA ( || ), VE ( && ) operatörlerini desteklemektedir. Bu operatörlerin operantları bool türünden olmak zorundadır.

•Visual C# programlama dili, Bitsel işlemlerin yapılması amacıyla, Bitsel Değil (~), Bitsel VEYA ( | ), Bitsel VE ( & ), Özel Bitsel VEYA( ^), Bitsel Sağa ve Sola kaydırma (>> , <<) operatörlerine sahiptir. Bitsel operatörler, sayıları bir bütün olarak ele almazlar, sayıları oluşturan her bit üzerinde ayrı ayrı işlem yaparlar. Bu operatörlerin bitsel işlem yapabilmeleri için operantları mutlaka tamsayı türünden olmak zorundadır.

•Visual C#’da karşılaştırma operatörleri (< ) Küçüktür, (>) Büyüktür, (<=) Küçük eşittir, (>=) Büyük eşittir, (==) Eşit Eşittir, (!=)Eşit değildir şeklindedir. Karşılaştırma operatörler iki değeri karşılaştırmada kullanılırlar ve ortaya mantıksal bir sonuç çıkarırlar; bu sonuç bool değişkeni ile temsil edilebilir ya da Akış kontrol ve döngü deyimlerinin hangi yöne ilerlemesi gerektiğini belirler.

•Atama işlemi yaparken Visual C# dilinde, aynı zamanda işlem yapan atama operatörleri vardır. Bunlar (=) Sadece atama, (+=) Ekle ve ata, (-=) Çıkar ata, (*=) çarp ata gibi birçok matematiksel operatörle birlikte atama operatörü kullanılabilmektedir.

•Özel amaçlı operatörlerin genel bir amacı yoktur. Her biri farklı bir amaç için kullanılmaktadır. Bunlar (?) Koşul Operatörü, (+,-) İşaret Operatörleri (++) Artırma Operatörü, (--) Eksiltme Operatörü olarak sayılabilir.Birden fazla operatör kullanmak gerektiği durumlarda operatörlerin belirli bir çalışma sırası olacaktır. Bütün dillerde olduğu gibi Visual C# dilinde de operatör önceliği vardır. Mantıksal bir yol izlenerek operatörlere öncelik sırası verilmiştir. Bu sırada ilk öncelik Tek operand alan operatörler, sonrasında ise sırayla Aritmetik operatörler, Kaydırma operatörleri, Karşılaştırma operatörleri, Bitsel VE operatörü, Mantıksal VE operatörü, Koşul operatörü, Atama ve işlemli atama operatörleri işlem önceliğine sahiptir.

•Aralarında eşit önceliklere sahip operatörlerde işlemler, soldan başlanarak sağa doğru yapılır. Parantezler ise çarpma, bölme, toplama ve çıkarma işlemlerine göre daha önceliklidir. Bileşik operatör kullanımlarında, en öncelikli yapılması istenen işlemler parantez içerisine alınmalıdır.

Page 32: •Operatörler•Aritmetik Operatörler R Okt. Mustafa AKBUĞA · Bu örnek programda int veri tipinde degiskenA ve degiskenB, değişkenleri tanımlanmış ve 99 ve 33 tamsayı

Operatörler

Atatürk Üniversitesi Açıköğretim Fakültesi 32

Değerlendirme

sorularını sistemde ilgili

ünite başlığı altında yer

alan “bölüm sonu testi”

bölümünde etkileşimli

olarak

cevaplayabilirsiniz.

DEĞERLENDİRME SORULARI

1. Tüm şartların doğru olduğunu sınayan operatör aşağıdakilerden hangisidir?

a) <<

b) >>

c) ||

d) &&

e) !=

2.

int degiskenA = 99;

int degiskenB = 01;

degiskenA = 33;

degiskenB =22

Console. WriteLine(degiskenA);

Yukarıda verilen kodların çalıştırılması sonucu hangi değer ekran çıktısında

görüntülenir?

a) 01

b) 22

c) 33

d) 99

e) 100

Page 33: •Operatörler•Aritmetik Operatörler R Okt. Mustafa AKBUĞA · Bu örnek programda int veri tipinde degiskenA ve degiskenB, değişkenleri tanımlanmış ve 99 ve 33 tamsayı

Operatörler

Atatürk Üniversitesi Açıköğretim Fakültesi 33

3.

int degiskenA = 99;

int degiskenB = 01;

degiskenA = 33;

degiskenB =22

Console. WriteLine(degiskenA<degiskenB);

Yukarıda verilen kodların çalıştırılması sonucu hangi değer ekran çıktısında

görüntülenir?

a) 01

b) 22

c) false

d) 99

e) true

4.

int deger=(7*2 +5-3*2/1);

Console. WriteLine(deger);

Yukarıda verilen kodların çalıştırılması sonucu hangi değer ekran çıktısında

görüntülenir?

a) 15

b) 18

c) 13

d) 21

e) 19

5.Operatörlerde işlem önceliği kavramına göre aşağıdakilerden hangisi doğrudur?

a) 7+14/7=3

b) 2+7*3=27

c) 12+3/3=13

d) 15-5/1=11

e) 3*(4-2)=10

Page 34: •Operatörler•Aritmetik Operatörler R Okt. Mustafa AKBUĞA · Bu örnek programda int veri tipinde degiskenA ve degiskenB, değişkenleri tanımlanmış ve 99 ve 33 tamsayı

Operatörler

Atatürk Üniversitesi Açıköğretim Fakültesi 34

6. Matematiksel mod alma(kalan) işlemi için hangi operatör kullanılır?

a) +

b) ?

c) *

d) %

e) /

7. Bitsel Sağa kaydırma işlemi için hangi operatör kullanılır?

a) >>

b) >=

c) >=

d) <<

e) ==

8. Bitsel Veya işlemi için hangi operatör kullanılır?

a) ||

b) &&

c) &

d) |

e) ^

9.

int degiskenA = 33;

int degiskenB=(…..)degiskenA;

Console. WriteLine(degiskenB);

Yukarıda verilen kodların çalıştırılması sonucu ekranda 34 değeri gösterildiğine

göre (….) işaretiyle gösterilen operatör hangisidir?

a) ++

b) --

c) !

d) ~

e) ?

Page 35: •Operatörler•Aritmetik Operatörler R Okt. Mustafa AKBUĞA · Bu örnek programda int veri tipinde degiskenA ve degiskenB, değişkenleri tanımlanmış ve 99 ve 33 tamsayı

Operatörler

Atatürk Üniversitesi Açıköğretim Fakültesi 35

10.

int degiskenA = 99;

int degiskenB = degiskenA;

int degiskenC = 1;

degiskenC(……)degiskenA;

Console. WriteLine(degiskenC);

Yukarıda verilen kodların çalıştırılması sonucu ekranda 100 değeri gösterildiğine

göre (….) işaretiyle gösterilen operatör hangisidir?

a) +=

b) -=

c) /=

d) *=

e) %=

Cevap Anahtarı:

1.C,2.C,3.D,4.B,5.C,6.D,7.A,8.D,9.A,10.A

Page 36: •Operatörler•Aritmetik Operatörler R Okt. Mustafa AKBUĞA · Bu örnek programda int veri tipinde degiskenA ve degiskenB, değişkenleri tanımlanmış ve 99 ve 33 tamsayı

Operatörler

Atatürk Üniversitesi Açıköğretim Fakültesi 36

YARARLANILAN VE BAŞVURULABİLECEK DİĞER

KAYNAKLAR

AKBUĞA. Mustafa, (2011), Atatürk Üniversitesi, Uzaktan Eğitim Merkezi, Nesne

Tabanlı programa-I Ders Notları

ALGAN, Sefer, (2010), Her Yönüyle C#, İstanbul: Pusula Yayıncılık, İstanbul.

AKTAŞ, Volkan, (2013), Her Yönüyle C# 5.0, KODLAB, İstanbul.

CLARK, Dan, (2013), Your visual blueprint for building.NET application, 2nd Edition,

Hungry Minds, New York.

SCHILDT, Herbert, (2002), The Complete Reference C#, çev. Duygu Arbatlı Yağcı,

Alfa Basım Yayım Dağıtım, İstanbul.

SHARP, John, (2002), Microsoft Visual C#.NET, çev. Mert Derman, Arkadaş

Yayınevi, Ankara.

YANIK, Memik, (2004), Microsoft Visual c#.NET, 1.Baskı, Seçkin Yayıncılık, Ankara.