Ünite 6: İşleçler, Koşul ve Yineleme Deyimleri

İşleç Nedir?

İşleçler, derleyiciye bazı özel matematiksel veya mantıksal fonksiyonları icra etmesini söyleyen simgelerdir. İşleçler program içinde kendi başlarına anlam ifade etmezler. Her işlecin anlamlı hâle gelebilmesi için bir veya birden fazla değişken veya sabit ile birlikte kullanılması gerekmektedir. Bu değişken veya sabitlere işlenen denir. İşleçler işlevlerine göre aşağıdaki gibi sınıflandırılabilir:

  • Aritmetik İşleçler
  • İlişkisel İşleçler
  • Mantıksal İşleçler
  • Bit İşleçleri
  • Atama İşleci
  • Diğer İşleçler

Aritmetik İşleçler

Aritmetik işleçler denildiğinde akla ilk olarak dört işlem işleçleri yani toplama, çıkarma, çarpma ve bölme gelir. Bu işleçler hem tam sayı hem de kayan noktalı veri tiplerinde kullanılır. Kullanışları matematikteki kullanımlarına çok yakındır. Bu işleçlerin dışında daha az karşılaşılan aritmetik işleçler de bulunmaktadır.

İlişkisel İşleçler

İki değeri karşılaştıran işleçler ilişkisel işleçler olarak adlandırılır. Karşılaştırmalarda küçüktür, büyüktür, eşittir, küçük eşittir gibi ilişkiler kullanılır. İşlem sonucunda doğru veya yanlış¸ değer döndürülür. Örnek olarak eşitlik açısından karşılaştırılan iki değer ya birbirine eşittir (doğru) ya da değildir (yanlış¸). Kullanılan ilişkisel işleçler şunlardır:

  1. >Büyüktür
  2. < Küçüktür
  3. == Eşittir
  4. != Eşit değildir
  5. >= Büyüktür veya eşittir
  6. <= Küçüktür veya eşittir

Mantıksal İşleçler

Mantıksal işleçler, true ve false (doğru ve yanlış¸) olmak üzere sadece iki adet değer tutabilen boolean tipi değişkenlerin, mantıksal olarak birbiri ile değerlendirilmesine yararlar. Örneğin, “ Kemal okula araba ile gitti. ” ifadesi boolean bir değere sahiptir. Diğer bir deyişle bu ifade ya doğrudur ya da yanlıştır. Bir diğer ifade de “ Bakım sebebiyle bugün tramvaylar çalışmayacak .” şeklinde olabilir. Bu iki ifadeyi mantıksal işleçler yardımıyla işleme tabi tutabiliriz: Kemal okula araba ile gittiyse VE bakım sebebiyle bugün tramvaylar çalışmayacaksa o zaman Ahmet de otobüsle gitmek zorundadır. Burada iki ifadeyi birbiri ile bağlayan “ve” yani “ and ” bağlacıdır. Burada verilen iki ifadenin alacağı farklı değerler sonucu bir değer belirlenir. Öyle ki sadece iki ifadenin de doğru olması durumunda Ahmet otobüsle gitmek zorundadır.

Üç adet mantıksal işleç vardır:

  1. && Mantıksal AND (ve)
  2. || Mantıksal OR (veya)
  3. ! Mantıksal NOT (değil)

Bit İşleçleri

Bit seviyesinde işlem yapan işleçlere bitsel işleçler denir. Bu işleçler sadece tam sayı türünden olan işlenenlerle çalışır, double ve float türündeki işlenenler ile işlem yapılamaz. Bit işleçler şunlardır:

  1. & Bitsel AND (VE)
  2. | Bitsel OR (VEYA)
  3. ^ Bitsel XOR (ÖZEL VEYA)
  4. ~ Bitsel NOT (DEĞİL)
  5. << Sola Öteleme
  6. >> Sağa Öteleme

Atama İşleci

Atama işleci = , adından da anlaşılacağı üzere degˆer ataması için kullanılır. Kısaca sağ tarafında yer alan değeri üretir denilebilir. B=12 örneğinde B değişkenine 12 değeri ataması yapılmaktadır.

Diğer İşleçler

Yukarıda tanıtılan işleçler dışında, gösterici işleçleri, işlemli atama işleçleri ve virgül, öncelik işleçleri gibi işleçler de bulunmaktadır.

İşleçler Arasındaki Öncelik İlişkisi

Matematikte sıklıkla karşımıza çıkan işlem önceliği, aynı şekilde işleçlerin kullanımı sırasında da ortaya çıkmaktadır. Birden fazla işlecin aynı satırda kullanıldığı durumlarda eğer parantez kullanılmamışsa işleçlerin kendi aralarındaki işlem önceliğine bakılarak karar verilir. Örneğin çarpma işlecinin çıkarma işlecine göre, çıkarma işlecinin ise atama işlecine göre bir önceliği vardır. Bir örnekle açıklayalım:

A = B – C * D

ile verilen ifade, derleyiciler tarafından aşağıdaki sırayla ele alınır:

  1. C * D
  2. B – (Birinci işlem)
  3. A = (İkinci işlem)

Eşit önceliğe sahip olan çarpma ve bölme gibi işleçlerde ise işlem önceliği C dili için soldan sağa doğrudur.

Koşul ve Yineleme Deyimleri

Program akışını kontrol etmek için deyimlere ihtiyaç vardır. Bu kısımda birçok programlama dilinde yer bulan karşılaştırma ve yineleme deyimlerine değineceğiz.

IF Deyimi

Program içerisinde karşılaştırma yapılması gerektiği durumlarda koşul deyimleri kullanılır. Yaygın olarak kullanılan koşul deyimlerinden birisi de if deyimidir. En sade şekliyle if deyimi, if sözcüğünün yanına yazılmış¸ parantez içindeki bir ifade ve sonrasında gelen deyimden oluşur. İfadenin alabileceği iki değer mevcuttur: doğru veya yanlış¸. Eğer ki bu iki durum için de program da bir akış¸ planlanıyorsa, bu durumda if deyimine else sözcüğü de eklenir. If deyiminin genel kullanım yapısı Resim 6.23’te verilmiştir.

SWITCH Deyimi

Birçok if – else yapısının kullanılmasını gerektirecek kadar fazla seçenek mevcutsa ve tüm kararlar aynı seçim değerine göre belirleniyorsa, bu durumlarda switch deyimini kullanmak iyi bir seçenek olabilir. If deyimi ile üretilebilecek karar sayısı doğru ve yanlış¸ olmak üzere iki tanedir. Fakat switch deyimi ile istenilen sayıda karar üretmek mümkündür.

Derleyici işlem sırası şu şekildedir: İlk önce switch sözcüğünün yanındaki parantez içindeki ifade hesaplanır. Bu hesaplama sonucunda sayısal bir değer üretilmesi beklenir. Bulunan sayısal değer hangi case sözcüğünün yanındaki seçenek ile aynı değerde ise o satıra gidilir ve buradaki deyim işlenir. Eğer ki seçeneklerden hiçbiri hesaplanan ifade değeri ile aynı değilse o zaman default satırına gidilir ve buradaki deyim işlenir. Satır sonlarında bulunan break sözcüğü, program akışının diğer case ifadelerine geçmemesini sağlar.

FOR Deyimi

Programımızın bir bölümünün sabit bir sayıda yinelenmesini istediğimizde for deyimini kullanırız. For deyimi for anahtar sözcüğü ile başlar. Anahtar sözcükten sonra içinde üç farklı deyimin yer aldığı parantezler gelir.

Burada ifade1 , döngü değişkenine ilk değer ataması yapılması amacıyla kullanılır. Sadece 1 kez çalıştırılır. İ fade 2 mantıksal bir değere sahiptir. Doğru değere sahip olduğu sürece döngü devam eder. Her yinelemede işlem görür. İfade 3 döngü değişkeninin değerinin artırılması veya azaltılması amacı ile kullanılır. Her yinelemede işlem görür. Örneğin Resim 6.29’da verilen kod parçasında:

Döngü değişkeni i dir. Parantez içindeki ilk ifadede i değişkenine 0 değeri atanmıştır. Noktalı virgülden sonra ikinci ifade başlar ve bu ifadede i değişkeninin değeri 10’dan küçükse deyim işlenir ve ekrana “Merhaba” yazdırılır. Ardından son ifade olan i değişkenini 1 artırma işlenir ve ikinci ifadeye gidilir. Bu döngü i değerinin 10’dan küçük olmadığı duruma kadar devam eder.

WHILE Deyimi

Bir kod parçasının ne kadar tekrarlanacağını döngüye girene kadar bilmiyorsak while deyimini kullanırız. While sözcüğünün yanındaki parantez içinde yer alan ifade doğru olduğu sürece deyim işlenmeye devam eder.

DO-WHILE Deyimi

For ve while döngülerinde ifadenin doğruluğu döngünün başında hesaplanıyordu. Bu durumda ifade yanlışsa döngüye girilmeden program akışına devam ediyordu. Fakat bazı durumlarda ifadenin değerine bakılmaksızın döngünün en az bir kez çalıştırılması istenir. I·s¸te böyle bir durumda do – while deyimini kullanmak doğru olacaktır. Öyle ki döngü do anahtar sözcüğü ile bas¸lar ve while anahtar sözcüğüne kadar devam eder. While sözcüğünün yanında bulunan ifade değeri doğru olduğu sürece döngü devam eder. Resim 6.29’da do – while deyiminin genel kullanım yapısı verilmiştir.