3 - Kontrol Akışı - Programın Yönlendiricisi
2024
if
İfadesi: Karar Vermeif
ifadesi, bir koşulu kontrol eder ve koşul doğruysa belirtilen kod bloğunu çalıştırır.Sözdizimi:
if-else
İfadesi: İki Seçenekif-else
ifadesi, bir koşulu kontrol eder ve koşul doğruysa bir kod bloğunu, yanlışsa başka bir kod bloğunu çalıştırır.Sözdizimi:
?:
), if-else
yapısının kısa bir alternatifidir ve tek bir satırda koşullu ifadeler yazmamızı sağlar.Sözdizimi:
koşul
: Değerlendirilmek üzere bir mantıksal ifade.ifade1
: koşul
doğru ise değerlendirilecek ifade.ifade2
: koşul
yanlış ise değerlendirilecek ifade.Bu örnekte, sayi1 > sayi2
koşulu doğru ise enBuyuk
değişkenine sayi1
değeri, yanlış ise sayi2
değeri atanır.
else if
İfadesi: Çoklu Koşullarelse if
ifadelerini kullanabiliriz.Sözdizimi:
#include <stdio.h>
int main() {
int puan = 75;
if (puan >= 90) {
printf("Harf notunuz: AA\n");
} else if (puan >= 80) {
printf("Harf notunuz: BA\n");
} else if (puan >= 70) {
printf("Harf notunuz: BB\n");
} else if (puan >= 60) {
printf("Harf notunuz: CB\n");
} else if (puan >= 50) {
printf("Harf notunuz: CC\n");
} else {
printf("Harf notunuz: FF\n");
}
return 0;
}
if
İfadeleriif
ifadelerini iç içe kullanarak daha karmaşık koşullu durumları kontrol edebiliriz.if
İfadeleri&&
(VE) ve ||
(VEYA) operatörlerini kullanarak birden fazla koşulu birleştirebiliriz.switch-case
Yapısı: Çoklu Seçeneklerswitch-case
yapısı, bir değişkenin değerine bağlı olarak farklı kod bloklarını çalıştırır.case
etiketi, değişkenin olası bir değerini temsil eder.break
ifadesi, switch
bloğundan çıkmak için kullanılır.default
etiketi, hiçbir case
etiketi eşleşmediğinde çalışacak kod bloğunu belirtir.switch-case
Sözdizimiswitch-case
Örneği 1: Haftanın Günleri#include <stdio.h>
int main() {
int gun = 3;
switch (gun) {
case 1:
printf("Pazartesi\n");
break;
case 2:
printf("Salı\n");
break;
case 3:
printf("Çarşamba\n");
break;
case 4:
printf("Perşembe\n");
break;
case 5:
printf("Cuma\n");
break;
case 6:
printf("Cumartesi\n");
break;
case 7:
printf("Pazar\n");
break;
default:
printf("Geçersiz gün!\n");
}
return 0;
}
switch-case
Örneği 2: Harf Notlarıswitch-case
Örneği 3: Ayları Yazdırmaswitch-case
Örneği 4: Hesap Makinesi#include <stdio.h>
int main() {
char operator;
float sayi1, sayi2, sonuc;
printf("İki sayı girin: ");
scanf("%f %f", &sayi1, &sayi2);
printf("Operatörü girin (+, -, *, /): ");
scanf(" %c", &operator);
switch (operator) {
case '+':
sonuc = sayi1 + sayi2;
printf("Sonuç: %.2f\n", sonuc);
break;
case '-':
sonuc = sayi1 - sayi2;
printf("Sonuç: %.2f\n", sonuc);
break;
case '*':
sonuc = sayi1 * sayi2;
printf("Sonuç: %.2f\n", sonuc);
break;
case '/':
if (sayi2 == 0) {
printf("Sıfıra bölme hatası!\n");
} else {
sonuc = sayi1 / sayi2;
printf("Sonuç: %.2f\n", sonuc);
}
break;
default:
printf("Geçersiz operatör!\n");
}
return 0;
}
switch-case
’de break
İfadesinin Önemibreak
ifadesi, switch
bloğundan çıkmak için kullanılır.break
ifadesi kullanılmazsa, program bir sonraki case
bloğuna “düşer” ve o kod bloğunu da çalıştırır.break
Kullanımıgun
değişkeninin değeri 3 olduğu için, program “Çarşamba” yazdırır ve break
ifadesine ulaşarak switch
bloğundan çıkar.break
Kullanılmaması#include <stdio.h>
int main() {
int gun = 3;
switch (gun) {
case 1:
printf("Pazartesi\n");
case 2:
printf("Salı\n");
case 3:
printf("Çarşamba\n");
// ... diğer günler ...
default:
printf("Geçersiz gün!\n");
}
return 0;
}
// Çıktı:
// Çarşamba
// Perşembe
// Cuma
// Cumartesi
// Pazar
// Geçersiz gün!
gun
değişkeninin değeri 3 olduğu için, program “Çarşamba” yazdırır, ancak break
ifadesi olmadığı için bir sonraki case
bloğuna “düşer” ve “Perşembe”, “Cuma”, “Cumartesi”, “Pazar” ve “Geçersiz gün!” mesajlarını da yazdırır.for
, while
ve do-while
.for
Döngüsüfor
döngüsü, belirli bir sayıda tekrar yapmak için kullanılır.Sözdizimi:
Başlangıç, Koşul ve Artış:
i++
ve i--
Operatörlerii++
operatörü, i
değişkeninin değerini her adımda 1 artırır.i--
operatörü, i
değişkeninin değerini her adımda 1 azaltır.for
Döngüleriwhile
Döngüsüwhile
döngüsü, belirtilen koşul doğru olduğu sürece döngü bloğunu çalıştırır.Sözdizimi:
do-while
Döngüsüdo-while
döngüsü, döngü bloğunu en az bir kez çalıştırır, sonra koşulu kontrol eder.Sözdizimi:
break
İfadesi: Döngüyü Sonlandırmakbreak
ifadesi, bir döngüyü (for
, while
veya do-while
) hemen sonlandırmak için kullanılır.break
ifadesine ulaşıldığında, döngü sona erer ve program akışı döngüden sonraki ifadeye geçer.continue
İfadesi: Döngünün Bir Sonraki Adımına Geçmekcontinue
ifadesi, döngünün mevcut iterasyonunu sonlandırır ve döngünün bir sonraki adımına geçer.continue
ifadesine ulaşıldığında, döngü bloğunun geri kalanı atlanır ve döngü koşulunun kontrolüne geri dönülür.[Kolay] Kullanıcıdan bir sayı girmesini isteyin ve bu sayının pozitif, negatif veya sıfır olduğunu ekrana yazdırın.
[Kolay] Kullanıcıdan iki sayı girmesini isteyin ve bu sayılardan büyük olanını ekrana yazdırın.
[Orta] Kullanıcıdan bir sayı girmesini isteyin ve bu sayının faktöriyelini hesaplayıp ekrana yazdırın. Faktöriyel hesaplamak için bir for
döngüsü kullanın.
[Kolay] Kullanıcıdan bir sayı girmesini isteyin. Girilen sayı 10’dan küçük ise “Küçük”, 10 ile 20 arasında ise “Orta”, 20’den büyük ise “Büyük” yazdırın.
[Orta] 1’den 100’e kadar olan sayılardan 3’e ve 5’e tam bölünebilenleri ekrana yazdıran bir program yazın.
[Kolay] Kullanıcıdan bir sayı girmesini isteyin ve 1’den girilen sayıya kadar olan sayıların toplamını hesaplayan bir program yazın. while
döngüsünü kullanın.
[Zor] Kullanıcıdan bir sayı girmesini isteyin ve bu sayının asal olup olmadığını kontrol eden bir program yazın. Asal sayı, sadece 1’e ve kendisine bölünebilen sayıdır. Programınız, girilen sayının asal olup olmadığını ekrana yazdırmalıdır. while
döngüsünü kullanın. Kullanıcı 0 girdiğinde programı sonlandırsın.
[Zor] Fibonacci serisinin ilk n terimini hesaplayan bir program yazın. Kullanıcıdan n değerini alın ve serinin ilk n terimini ekrana yazdırın. Fibonacci serisi, her sayının kendinden önceki iki sayının toplamı olduğu bir sayı dizisidir (örneğin: 0, 1, 1, 2, 3, 5, 8, 13, 21, …).
Menü:
1- Toplama
2- Çıkarma
3- Çarpma
4- Bölme
0- Çıkış
Seçiminiz:
Örnek:
Bir sayı girin: 5
1
4
9
16
25
while
döngüsünü kullanın.for
döngüsünü kullanın.if-else
: Bir koşula göre farklı kod bloklarını çalıştırır.else if
: Birden fazla koşulu kontrol etmek için kullanılır.if
: Daha karmaşık koşulları kontrol etmek için kullanılır.switch-case
: Bir değişkenin değerine göre farklı kod bloklarını çalıştırır.break
: Bir döngüyü sonlandırır.continue
: Döngünün bir sonraki adımına geçer.