View
7
Download
0
Category
Preview:
Citation preview
İÇİ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
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.
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.
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
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.
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.
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
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ü
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.
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.
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ü
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.
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.
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.
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
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.
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ü
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.
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
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ü
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.
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.
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.
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.
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
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.
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.
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.
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.
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.
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.
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
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
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) ?
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
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.
Recommended