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.