ÜNİTE İÇİNDEKİLER. NESNE TABANLI PROGRAMLAMA I Okt. Mustafa AKBUĞA HEDEFLER OPERATÖRLER

Benzer belgeler
C# Programlama Dili. İlk programımız Tür dönüşümü Yorum ekleme Operatörler

2.3- OPERATÖRLER ÇALIŞMA YAPRAĞI

BTP 207 İNTERNET PROGRAMCILIĞI I. Ders 8

Programlama Dilleri 3

ÜNİTE İÇİNDEKİLER HEDEFLER MATEMATİKSEL METOTLAR. NESNE TABANLI PROGRAMLAMA I Okt. Mustafa AKBUĞA. (Math Sınıfı ve Metotları)

C++ Operatörler (Operators)

Nesne Yönelimli Programlama

ÜNİTE. NESNE TABANLI PROGRAMLAMA I Okt. Mustafa AKBUĞA İÇİNDEKİLER HEDEFLER KARAR KONTROL DEYİMLERİ

mikroc Dili ile Mikrodenetleyici Programlama Ders Notları

Toplama işlemi için bir ikili operatör olan artı işareti aynı zamanda tekli operatör olarak da kullanılabilir.

Nesne Tabanlı Programlama

ÜNİTE. NESNE TABANLI PROGRAMLAMA I Okt. Mustafa AKBUĞA İÇİNDEKİLER HEDEFLER DEĞİŞKENLER VE VERİ TİPLERİ

BLM-111 PROGRAMLAMA DİLLERİ I. Ders-2 Değişken Kavramı ve Temel Operatörler

BİLGİSAYAR BİLİMİ DERSİ (KUR 1) PYTHON PROGRAMLAMA DİLİ ÇALIŞMA KÂĞIDI - 1

BMT 101 Algoritma ve Programlama I 6. Hafta. Yük. Müh. Köksal Gündoğdu 1

ÜNİTE. NESNE TABANLI PROGRAMLAMA I Okt. Mustafa AKBUĞA İÇİNDEKİLER HEDEFLER METOTLAR

ESM-361 Mikroişlemciler. 3. Hafta Ders Öğretim Üyesi Dr.Öğr.Üyesi Ayşe DEMİRHAN

Kodlanacak programlama dilinin kaynaklarından faydalanılarak kod yazımı yapılır.

BİLİŞİM TEKNOLOJİLERİ 6. SINIF DERS NOTLARI 2

Kodlanacak programlama dilinin kaynaklarından faydalanılarak kod yazımı yapılır.

YZM 2105 Nesneye Yönelik Programlama


Programlama Dilleri. C Dili. Programlama Dilleri-ders02/ 1

İnternet Programcılığı Dersi 2.Dönem Ders Notu

Değişkenler. Geçerli değişken isimleri : baslamazamani, ad_soyad, x5 Geçersiz değişken isimleri : 3x, while

/*int sayi1, sayi2,toplam=0;

HSancak Nesne Tabanlı Programlama I Ders Notları

Nesne Tabanlı Programlama

Algoritma ve Programlamaya Giriş

Internet Programming II. Elbistan Meslek Yüksek Okulu Bahar Yarıyılı

Java da Program Denetimi ve Operatörler

Mantıksal İşlemler. 7.1 true, false, nil

PHP, nesne-yönelimli (object-oriented) bir dil olduğu için, nesne oluşturma imkânına ve bunların kullanılmasını sağlayan metodlara da sahiptir.

Uzaktan Eğitim Uygulama ve Araştırma Merkezi

C# Yazım Kuralları ERCİYES. Ü. BİLGİSAYAR M. COMPUTER PROGRAMMING II 1 FEHİM KÖYLÜ

Adı soyadı :... Öğrenci no :... İmza :... Tarih, Süre : dak.

Internet Programming II. Elbistan Meslek Yüksek Okulu Bahar Yarıyılı

BÖLÜM 2: ALGORİTMALAR

Microsoft Excel Uygulaması 2

Degişken Tanımlama Ve Operatörler

NESNE YÖNELİMLİ PROGRAMLAMA HAFTA # 2

Sayı sistemleri-hesaplamalar. Sakarya Üniversitesi

Yrd. Doç. Dr. Caner ÖZCAN

C#(Sharp) Programlama Dili

ÜNİTE İÇİNDEKİLER HEDEFLER DÖNGÜ KONTROL DEYİMLERİ. NESNE TABANLI PROGRAMLAMA I Okt. Mustafa AKBUĞA

Algoritma ve Programlama: Karar Yapıları ve Döngüler

ÜNİTE NESNE TABANLI PROGRAMLAMA I. Uzm. Orhan ÇELİKER VERİTABANI SORGULARI İÇİNDEKİLER HEDEFLER

Bilgisayar Teknolojileri Bölümü Bilgisayar Programcılığı Programı. Öğr. Gör. Cansu AYVAZ GÜVEN

ÜNİTE. MATEMATİK-1 Yrd.Doç.Dr.Ömer TARAKÇI İÇİNDEKİLER HEDEFLER DOĞRULAR VE PARABOLLER

Diziler İndisli Değişkenler

OPERATÖRLER Alıştırmalar

/ C Bilgisayar Programlama Yıliçi Sınavı Test Soruları. Adı soyadı :... Öğrenci no :... İmza :... Tarih, Süre : , 60 dak.

Uzaktan Eğitim Uygulama ve Araştırma Merkezi

ÜNİTE 02, Algoritmalarda Kullanılan Temel Operatörler, Öğr. Gör. Erkan HÜRNALI

EGE ÜNİVERSİTESİ EGE MYO MEKATRONİK PROGRAMI

Bölüm 7. İfadeler ve atamalar ISBN

BÖLÜM 6: KARŞILAŞTIRMALI KONTROL YAPILARI

Uzaktan Eğitim Uygulama ve Araştırma Merkezi

ÜNİTE. MATEMATİK-1 Doç.Dr.Erdal KARADUMAN İÇİNDEKİLER HEDEFLER ÖZDEŞLİKLER, DENKLEMLER VE EŞİTSİZLİKLER

Bit, Byte ve Integer. BIL-304: Bilgisayar Mimarisi. Dersi veren öğretim üyesi: Yrd. Doç. Dr. Fatih Gökçe

if (ad == "Sabri") Console.WriteLine("Merhaba Sabri. Ne zamandır gözükmüyodun...");

TAMSAYILAR. 9www.unkapani.com.tr. Z = {.., -3, -2, -1, 0, 1, 2, 3, } kümesinin her bir elemanına. a, b, c birer tamsayı olmak üzere, Burada,

MTK467 Nesneye Yönelik Programlama. Hafta 4 - Döngüler Zümra Kavafoğlu

Bölüm 2 - C ile Programlamaya Giriş

BMÜ-111 ALGORİTMA VE PROGRAMLAMA AKIŞ KONTROLÜ YRD. DOÇ. DR. İLHAN AYDIN

PASCAL PROGRAMLAMA DİLİ YAPISI

ÜNİTE 1: TEMEL KAVRAMLAR

ÜNİTE İÇİNDEKİLER HEDEFLER. Tarih, Zaman ve Metinsel Metotlar. NESNE TABANLI PROGRAMLAMA I Okt. Mustafa AKBUĞA

C Programlama Dilininin Basit Yapıları

BİLGİSAYAR PROGRAMLAMA DERSİ

Atatürk Anadolu. Temel Kavramlar Üzerine Kısa Çalışmalar

J A V A D A P R O G R A M D E N E T İ M İ V E O P E R A T Ö R L E R

JAVA DEĞİŞKEN VE OPERATÖRLER. M.İLKUÇAR - 1

Öğr. Gör. Musa AYDIN Fatih Sultan Mehmet Vakıf Üniversitesi

BİLGİSAYAR TEMELLERİ VE PROGRAMLAMAYA GİRİŞ

BIL1202 ALGORİTMA VE PROGRAMLAMAYA GİRİŞ (Algoritma Geliştirmek, Satır Kod)

TEMEL BİLGİSAYAR BİLİMLERİ

Javascript. 1) Notepad++ aşağıdaki kodları yazıp deneme.html olarak kaydedelim. 2) Biraz önceki sayfa sadece html kodların içeriyordu.

Günümüz bilgi toplumunda bilgisayar, her alanda kendine yer edinmiş ve insana, bir çok işlemde yardımcı olarak büyük kolaylık sağlamaktadır.

/ C Bilgisayar Programlama Final Sınavı Test Soruları. Adı soyadı :... Öğrenci no :... İmza :... Tarih, Süre : , 60 dak.

Yrd. Doç. Dr. Caner ÖZCAN

1- Sayı - Tam sayıları ifade etmek için kullanılır. İfade edilen değişkene isim ve değer verilir.

BIL1202 ALGORİTMA VE PROGRAMLAMAYA GİRİŞ

BÖLÜM 3 OPERAT A ÖRLER

BİLGİSAYAR MÜHENDİSLİĞİ ALGORİTMA VE PROGRAMLAMA II 2.HAFTA SWİTCH (CASE), SAYAÇLAR, DÖNGÜLER,

ÜNİTE NESNE TABANLI PROGRAMLAMA I İÇİNDEKİLER. Okt. Mustafa AKBUĞA HEDEFLER DOSYA VE KLASÖR İŞLEMLERİ

Koşullu Önermeler (if else)

TAM SAYILARLA TOPLAMA ÇIKARMA

JAVASCRIPT JAVASCRIPT DİLİ

ÜNİTE: TAM SAYILAR KONU: Tam Sayılar Kümesinde Çıkarma İşlemi

ÜNİTE. MATEMATİK-1 Doç.Dr.Murat SUBAŞI İÇİNDEKİLER HEDEFLER TÜREV UYGULAMALARI-I

WEB TASARIM I. Öğr. Gör. M. Mutlu YAPICI. Ankara Üniversitesi Elmadağ Meslek Yüksekokulu

BİLGİSAYAR PROGRAMLAMAYA GİRİŞ

FORMÜLLER VE FONKSİYONLAR

ALGORİTMA VE PROGRAMLAMA I

Ünite 01 Algoritma Geliştirme

Algoritma ve Akış Diyagramları

Sınav tarihi : Süre : 60 dak. a) ABCDE b) BCDE c) ABCD d) kod hatalı e) BCD

2 PYTHON A GIRIŞ 13 PyCharm İle Python Projesi Oluşturma 15 Projenin Çalıştırılması 18 İlk Python Programımız 19 Açıklama Satırları 21

Transkript:

HEDEFLER İÇİNDEKİLER OPERATÖRLER 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 NESNE TABANLI PROGRAMLAMA I Okt. Mustafa AKBUĞA 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. ÜNİTE 3

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 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. 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. Atatürk Üniversitesi Açıköğretim Fakültesi 2

Ş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. Fark operatörü string tipindeki değişkenlerde kullanılmaz. Ö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. Atatürk Üniversitesi Açıköğretim Fakültesi 3

Ş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 Atatürk Üniversitesi Açıköğretim Fakültesi 4

Ş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. 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. Ö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. Atatürk Üniversitesi Açıköğretim Fakültesi 5

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. Bir değişken içinde yer alan sayının tek ya da çift olup olmadığı kalan operatörü ile kolayca tespit edilebilir. Ş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. Atatürk Üniversitesi Açıköğretim Fakültesi 6

Tablo 1.1: Değil(Not) operatörünün doğruluk tablosu A True False (!) A 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. Birden fazla yapılan karşılaştırma işlemlerinde mantıksal operatörler kullanılı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 Atatürk Üniversitesi Açıköğretim Fakültesi 7

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ü Atatürk Üniversitesi Açıköğretim Fakültesi 8

Ş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. Atatürk Üniversitesi Açıköğretim Fakültesi 9

Şekil 1.15. Örnek_program_8 e ait C# kodu Genelde mantıksal operatörler boolean tipi verilerle çalışırken, Bitsel operatörler tamsayı tipindeki değişkenler ile çalışırlar. Ş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. Atatürk Üniversitesi Açıköğretim Fakültesi 10

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ü Atatürk Üniversitesi Açıköğretim Fakültesi 11

Ş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. Bitsel VEYA ( ): 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 İ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. Atatürk Üniversitesi Açıköğretim Fakültesi 12

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. Atatürk Üniversitesi Açıköğretim Fakültesi 13

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. Atatürk Üniversitesi Açıköğretim Fakültesi 14

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 Atatürk Üniversitesi Açıköğretim Fakültesi 15

Ş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. Atatürk Üniversitesi Açıköğretim Fakültesi 16

Ö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. Genelde Bitsel Veya operatörü donanımsal iletişim hatlarından (I/O) portundan veri okuyup değerlendirmekte kullanılır. Ş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ü Atatürk Üniversitesi Açıköğretim Fakültesi 17

Ş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. Atatürk Üniversitesi Açıköğretim Fakültesi 18

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. 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. Ö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 Atatürk Üniversitesi Açıköğretim Fakültesi 19

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 Bir kez bitsel sağa kaydırma işlemi, kaydırılan sayının yarısını vermektedir. 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ü Atatürk Üniversitesi Açıköğretim Fakültesi 20

Ş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 Genelde Akış kontrol ifadelerde karşılaştırma operatörleri kullanılı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ş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. Atatürk Üniversitesi Açıköğretim Fakültesi 21

Ş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 En yaygın kullanılan operatör Atama operatörüdür. 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. Atatürk Üniversitesi Açıköğretim Fakültesi 22

Ö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. Atatürk Üniversitesi Açıköğretim Fakültesi 23

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. Atatürk Üniversitesi Açıköğretim Fakültesi 24

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 Atatürk Üniversitesi Açıköğretim Fakültesi 25

gösterilmektedir. Yazılan kodun çalıştırılması sonucu Şekil 1.38 deki gibi bir ekran görüntüsü elde edilecektir. İşlem içerisinde bir değişkenin pozitif ya da negatif yapılması işaret operatörleri ile sağlanır. Ş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. Atatürk Üniversitesi Açıköğretim Fakültesi 26

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. Atatürk Üniversitesi Açıköğretim Fakültesi 27

Ş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. Atatürk Üniversitesi Açıköğretim Fakültesi 28

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 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. 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. Atatürk Üniversitesi Açıköğretim Fakültesi 29

Ş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. Atatürk Üniversitesi Açıköğretim Fakültesi 30

Özet Operatörler 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. Atatürk Üniversitesi Açıköğretim Fakültesi 31

DEĞERLENDİRME SORULARI 1. Tüm şartların doğru olduğunu sınayan operatör aşağıdakilerden hangisidir? 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. 2. a) << b) >> c) d) && e)!= 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 Atatürk Üniversitesi Açıköğretim Fakültesi 32

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? 4. a) 01 b) 22 c) false d) 99 e) true 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 Atatürk Üniversitesi Açıköğretim Fakültesi 33

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? 9. a) b) && c) & d) e) ^ 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)? Atatürk Üniversitesi Açıköğretim Fakültesi 34

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 Atatürk Üniversitesi Açıköğretim Fakültesi 35

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. Atatürk Üniversitesi Açıköğretim Fakültesi 36