🚀 BAŞTAN SONA C DİLİ BÖLÜM-3: Operatörler, Karar Yapıları (`if/else`) ve `switch-case` 💻

Konu Özeti

C programlama dilinde operatörler, if/else karar yapıları, ternary operatörü ve switch-case yapısı detaylı olarak ele alınıyor. Aritmetik, ilişkisel ve mantıksal operatörlerin kullanımı örneklerle açıklanıyor. if/else bloklarıyla not hesaplama uygulaması yapılıyor, ternary operatörü ile tek satırda koşul kontrolü gösteriliyor. switch-case yapısıyla dört işlem hesap makinesi örneği veriliyor ve break ifadesinin önemi vurgulanıyor. Bir sonraki bölümde döngüler ve akış kontrol ifadelerinin işleneceği belirtiliyor.

🚀 BAŞTAN SONA C DİLİ BÖLÜM-3: Operatörler, Karar Yapıları (`if/else`) ve `switch-case` 💻

Selamlar! Serimizin 3. bölümüne hoş geldiniz.

Önceki bölümde C dilindeki temel veri tiplerini, `sizeof` operatörünü, format belirleyicileri ve `scanf` ile bellek adreslerine (`&`) veri okumayı incelemiştik. Bu bölümde ise hesaplamaları yapmamızı sağlayan **Operatörleri**, akışı yönlendiren **`if/else` karar bloklarını**, **Ternary Operatörünü** ve **`switch-case` yapısını** öğreneceğiz.

---

🔢 1. C Dilinde Operatörler 🧮

### A. Aritmetik Operatörler:
- `+` Toplama
- `-` Çıkarma
- `*` Çarpma
- `/` Bölme (İki tam sayı bölünürse sonuç küsuratsız tam sayı çıkar!)
- `%` Mod Alma (Kalan bulma — Sadece tam sayılarla kullanılır)
- `++` / `--` 1 Artırma / 1 Eksiltme (`i++` ve `++i` farkı önemlidir)

### B. İlişkisel (Karşılaştırma) Operatörleri:
C dilinde yerleşik bir `boolean` türü geleneksel olarak yoktur (C99 ile `<stdbool.h>` eklendi). Karşılaştırma sonuçları **1 (Doğru / True)** veya **0 (Yanlış / False)** olarak döner.
- `==` Eşit mi?
- `!=` Eşit değil mi?
- `>` / `<` Büyük mü? / Küçük mü?
- `>=` / `<=` Büyük-eşit mü? / Küçük-eşit mi?

### C. Mantıksal Operatörler:
- `&&` (VE - AND): Tüm koşullar doğruysa `1` döner.
- `||` (VEYA - OR): Koşullardan biri doğruysa `1` döner.
- `!` (DEĞİL - NOT): Koşulun tersini alır (`!1` -> `0`).

---

🚦 2. Karar Yapıları: `if`, `else if`, `else` 🛣️

Belirli şartlara göre kod bloklarını çalıştırmak için kullanılır. C dilinde `0` dışındaki tüm sayılar (pozitif veya negatif) `true` kabul edilir!

#include <stdio.h>

int main() {
int notu;

printf("Lutfen notunuzu giriniz (0-100): ");
scanf("%d", &notu);

if (notu >= 90 && notu <= 100) {
printf("Harf Notu: AA - Mükemmel! 🌟\n");
} else if (notu >= 70 && notu < 90) {
printf("Harf Notu: BB - Basarili 👍\n");
} else if (notu >= 50 && notu < 70) {
printf("Harf Notu: CC - Gecti 😐\n");
} else if (notu >= 0 && notu < 50) {
printf("Harf Notu: FF - Kaldiniz ❌\n");
} else {
printf("Hata: Gecersiz bir not girdiniz!\n");
}

return 0;
}

---

❓ 3. Ternary (Üçlü) Koşul Operatörü (`? :`) ⚡

Tek satırda basit `if-else` kararları vermek için kullanılır.

Sözdizimi: `koşul ? doğruysa_değer : yanlışsa_değer;`

#include <stdio.h>

int main() {
int sayi = 15;

// Sayının çift mi tek mi olduğunu kontrol etme
(sayi % 2 == 0) ? printf("%d cifttir.\n", sayi) : printf("%d tektir.\n", sayi);

return 0;
}

---

🔀 4. Seçim Yapısı: `switch-case` 🎛️

Bir değişkenin alabileceği **sabit tam sayı (int)** veya **karakter (char)** değerlerine göre dallanma sağlar. Ondalıklı sayılar (`float`/`double`) `switch-case` içinde kullanılamaz!

⚠️ **Kritik Kural:** Her `case` bloğunun sonuna `break;` konulmalıdır. Aksi halde altındaki case'ler kontrol edilmeden sırayla çalışmaya devam eder (Fall-through).

#include <stdio.h>

int main() {
char islem;
double a, b;

printf("Yapmak istediginiz islemi secin (+, -, *, /): ");
scanf(" %c", &islem);

printf("Iki sayi giriniz: ");
scanf("%lf %lf", &a, &b);

switch (islem) {
case '+':
printf("Sonuc: %.2lf\n", a + b);
break;
case '-':
printf("Sonuc: %.2lf\n", a - b);
break;
case '*':
printf("Sonuc: %.2lf\n", a * b);
break;
case '/':
if (b != 0)
printf("Sonuc: %.2lf\n", a / b);
else
printf("Hata: Sifira bolme hatasi!\n");
break;
default:
printf("Hata: Gecersiz operator girdiniz!\n");
break;
}

return 0;
}

---

📝 Bölüm Özeti ve Gelecek Bölüm 🔮

Bu bölümde Aritmetik, İlişkisel ve Mantıksal operatörleri, `if/else` karar yapılarını, Ternary operatörünü ve `switch-case` kullanımını öğrendik.

👉 **Bölüm 4'te Bizi Ne Bekliyor?**
• Döngüler (Loops): `for`, `while`, `do-while`
• Akış Kontrol İfadeleri (`break` ve `continue`)
• İç İçe Döngüler (Nested Loops) ile Desen/Matris Uygul
amaları
• Sonsuz Döngüler ve Önleme Yöntemleri

Sorularınızı konu altından iletebilirsiniz. Bir sonraki bölümde görüşmek üzere! 💻✨

🔒 Bu içeriği görmek için giriş yapın

 
Yanıt yazmak için giriş yapmalısınız
Forum özelliklerini kullanmak ve Level 2 üyelik satın almak için hesabınıza giriş yapın.
136,618Threads
3,307,050Messages
328,463Members
zmemos22Latest member
Top Bottom