Dallanma: if-else, üçlü ifade, switch-case
Açık bir dallanma için if-else zincirleri, üçlü ifadeler ve switch deyimleri arasından uygun olanı seçin
Dallanma: if-else, üçlü ifade, switch-case, CoddyKit'te ücretsiz bir C++ Academy dersidir. Bu, 4 dersinin 1. dersidir. Aşağıdan dersin tamamını ücretsiz okuyabilir, sonra tarayıcıda yerleşik kod editörü ve 7/24 yapay zeka koçu ile uygulamalı olarak pratik yapabilirsin. Bu, C++ Academy öğrenme yolunun bir parçasıdır ve ilerlemeniz web ve CoddyKit uygulaması arasında senkronize olur. C++ Academy kursu toplamda 4 dersten oluşur.
if İfadesi
Temel koşullu ifade. Gövde, koşul doğru olduğunda çalışır. Küme parantezleri tek bir ifade için isteğe bağlıdır ancak her zaman önerilir.
int score = 85;
if (score >= 60) {
std::cout << "Pass\n";
}if-else Zincirleri
Alternatifleri else if ve son bir else ile sınayın. İlk doğru dal çalışır.
if (score >= 90) std::cout << "A";
else if (score >= 80) std::cout << "B";
else if (score >= 70) std::cout << "C";
else std::cout << "F";Boole Koşulları
bool'a dönüştürülebilen her ifade çalışır. İşaretçiler null olduğunda, tamsayılar ise sıfır olduğunda false olarak değerlendirilir. Açıklık için açık olun.
if İçinde Başlatma (C++17)
C++17, if içinde bir değişken bildirmenize izin verir. Değişkenin kapsamı if-else gövdesiyle sınırlıdır.
if (auto it = map.find(key); it != map.end()) {
std::cout << it->second;
}Üçlü İşleç
condition ? a : b, iki değerden birini döndürür. Basit seçimler için harikadır, iç içe mantık için berbattır.
int max = (a > b) ? a : b;
std::string msg = (n == 1) ? "item" : "items";İç İçe Üçlü İşleçlerden Kaçının
İç içe üçlü işleçleri okumak zordur. Bunun yerine if-else kullanın veya kodu bir yardımcı işleve yeniden düzenleyin.
// Hard to read
auto label = (n < 0) ? "neg" : (n == 0) ? "zero" : "pos";
// Clearer
std::string label;
if (n < 0) label = "neg";
else if (n == 0) label = "zero";
else label = "pos";switch İfadesi
Tek bir değeri birkaç sabitle karşılaştırın. Sonraki case'e düşmeyi önlemek için her dalda break gerekir.
switch (day) {
case 1: std::cout << "Mon"; break;
case 2: std::cout << "Tue"; break;
default: std::cout << "?"; break;
}Bilerek Sonraki Dala Geçme
Aynı kodu paylaşan birden çok case'i gruplayın. C++17, derleyiciye yönelik bir işaretleyici olarak [[fallthrough]] ekledi.
switch (c) {
case 'a': case 'e': case 'i': case 'o': case 'u':
std::cout << "vowel"; break;
default:
std::cout << "consonant";
}switch Kısıtlamaları
switch yalnızca tamsayı ve enum türleriyle çalışır. Dizgeler için if-else veya bir karma haritası kullanın.
switch İçinde Başlatıcı (C++17)
if'e benzer şekilde, switch başlığının içinde bir değişken bildirebilirsiniz.
switch (auto value = compute(); value) {
case 0: ...
default: ...
}Örüntü: Arama Haritası
Dizge anahtarlı dallar için bir std::unordered_map, if-else zincirinden daha temiz olabilir.
std::unordered_map<std::string, std::function<void()>> commands = {
{"start", []{ start(); }},
{"stop", []{ stop(); }}
};
if (auto it = commands.find(cmd); it != commands.end())
it->second();Hızlı Kontrol
Bir switch içindeki case ifadesinde break yoksa ve sonraki case boş değilse ne olur?
Özet
Genel dallanma için if-else'i, kısa değer seçimleri için üçlü işleci ve tek bir değeri birçok tamsayı sabitiyle karşılaştırırken switch'i kullanın. C++17 başlatma ifadeleri kapsam yönetimini kolaylaştırır.
Sıkça Sorulan Sorular
“Dallanma: if-else, üçlü ifade, switch-case” dersi ücretsiz mi?
Evet — “Dallanma: if-else, üçlü ifade, switch-case” dersin tüm metni burada web'de ücretsiz olarak okunabilir. Etkileşimli olarak pratik yapmak (yerleşik kod editörü ve 7/24 yapay zeka koçu) ve C++ Academy kursunun geri kalanını açmak için CoddyKit PRO'ya yükselt. C++ Academy kursu toplamda 4 dersten oluşur.
“Dallanma: if-else, üçlü ifade, switch-case” dersinde ne öğreneceğim?
Açık bir dallanma için if-else zincirleri, üçlü ifadeler ve switch deyimleri arasından uygun olanı seçin C++ Academy ile uygulamalı kodu tarayıcıda doğrudan çalıştırarak pratik yaparsın ve 7/24 yapay zeka koçu dersi çalışırken sorularını yanıtlar.
C++ Academy öğrenmeye başlamak için deneyim gerekli mi?
Önceden deneyim gerekmez. CoddyKit'te C++ Academy, başlangıçtan ileri seviyeye kadar yapılandırıldığı için buradan başlayabilir veya başından başlayıp kendi hızında ilerleme yapabilirsin. Bu, 4 dersinin 1. dersidir.
“Dallanma: if-else, üçlü ifade, switch-case” dersi ne kadar sürer?
Çoğu CoddyKit dersi yaklaşık 5–10 dakika sürer. Her biri kısa ve etkileşimli olduğu için sabit ilerleme yaparsın ve web ile uygulama arasında tam olarak bıraktığın yerden devam edebilirsin.
Bu C++ Academy dersinde kod yazıp çalıştırabilir miyim?
Evet. Her C++ Academy dersi yerleşik bir kod editörü içerir, bu sayede tarayıcıda gerçek kod yazıp çalıştırabilir ve anlık yapay zeka geri bildirimi alırsın — yerel kurulum gerekli değildir.
Bu kursun tüm dersleri
- Dallanma: if-else, üçlü ifade, switch-case
- Döngü Kalıpları: for, while, do-while
- Kapsayıcılarla Aralık Tabanlı for Döngüsü
- Erken Dönüşler, break, continue ve goto