-
Sadrazamv4
ig:sadrazam_v4 tg: Sadrazam.spy
🚀 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", ¬u);
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! 💻✨
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", ¬u);
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