Percabangan: if-else, ternary, switch-case
Pilih rangkaian if-else, ekspresi ternary, atau pernyataan switch untuk percabangan yang jelas
Percabangan: if-else, ternary, switch-case adalah pelajaran C++ Academy gratis di CoddyKit. Ini adalah pelajaran 1 dari 4. Kamu bisa membaca pelajaran lengkapnya di bawah secara gratis — lalu praktikkan langsung di browser dengan editor kode bawaan dan tutor AI 24/7. Ini adalah bagian dari jalur belajar C++ Academy, dan progresmu tersinkronisasi di web dan aplikasi CoddyKit. Kursus C++ Academy mencakup 4 pelajaran total.
Pernyataan if
Kondisional dasar. Isinya dijalankan ketika kondisi bernilai benar. Kurung kurawal bersifat opsional untuk satu pernyataan, tetapi selalu disarankan.
int score = 85;
if (score >= 60) {
std::cout << "Pass\n";
}Rangkaian if-else
Uji beberapa alternatif dengan else if dan akhiri dengan else. Cabang pertama yang bernilai benar akan dijalankan.
if (score >= 90) std::cout << "A";
else if (score >= 80) std::cout << "B";
else if (score >= 70) std::cout << "C";
else std::cout << "F";Kondisi Boolean
Setiap ekspresi yang dapat dikonversi menjadi bool dapat digunakan. Pointer bernilai false ketika null, dan bilangan bulat bernilai false ketika nol. Nyatakan maksud secara eksplisit agar lebih jelas.
Inisialisasi dalam if (C++17)
C++17 memungkinkan Anda mendeklarasikan variabel di dalam if. Cakupan variabel tersebut terbatas pada isi if-else.
if (auto it = map.find(key); it != map.end()) {
std::cout << it->second;
}Operator Ternary
condition ? a : b mengembalikan salah satu dari dua nilai. Sangat baik untuk pilihan sederhana, tetapi buruk untuk logika bertingkat.
int max = (a > b) ? a : b;
std::string msg = (n == 1) ? "item" : "items";Hindari Ternary Bertingkat
Ternary bertingkat sulit dibaca. Gunakan if-else atau susun ulang menjadi fungsi pembantu.
// 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";Pernyataan switch
Bandingkan satu nilai dengan beberapa konstanta. Setiap cabang memerlukan break agar tidak berlanjut ke case berikutnya.
switch (day) {
case 1: std::cout << "Mon"; break;
case 2: std::cout << "Tue"; break;
default: std::cout << "?"; break;
}Fallthrough yang Disengaja
Kelompokkan beberapa case yang menggunakan kode yang sama. C++17 menambahkan [[fallthrough]] sebagai penanda untuk kompiler.
switch (c) {
case 'a': case 'e': case 'i': case 'o': case 'u':
std::cout << "vowel"; break;
default:
std::cout << "consonant";
}Batasan switch
switch hanya berfungsi pada tipe bilangan bulat dan enum. Untuk string, gunakan if-else atau peta hash.
Inisialisasi dalam switch (C++17)
Serupa dengan if, Anda dapat mendeklarasikan variabel di dalam header switch.
switch (auto value = compute(); value) {
case 0: ...
default: ...
}Pola: Peta Pencarian
Untuk cabang dengan kunci string, std::unordered_map dapat lebih rapi daripada rangkaian if-else.
std::unordered_map<std::string, std::function<void()>> commands = {
{"start", []{ start(); }},
{"stop", []{ stop(); }}
};
if (auto it = commands.find(cmd); it != commands.end())
it->second();Pemeriksaan Singkat
Apa yang terjadi jika sebuah case dalam switch tidak memiliki break dan case berikutnya tidak kosong?
Ringkasan
Gunakan if-else untuk percabangan umum, operator ternary untuk pilihan nilai yang singkat, dan switch ketika membandingkan satu nilai dengan banyak konstanta bilangan bulat. Pernyataan inisialisasi C++17 merapikan cakupan.
Belajar C++ dengan tutor AI — gratis
Tulis dan jalankan kode asli di browser kamu, dapatkan bantuan instan dari tutor AI 24/7, dan lanjutkan di mana kamu tinggalkan di web atau aplikasi.
- Kursus
- 51
- Pelajaran
- 203
Pertanyaan yang Sering Diajukan
Apakah pelajaran “Percabangan: if-else, ternary, switch-case” gratis?
Ya — teks lengkap “Percabangan: if-else, ternary, switch-case” gratis dibaca di sini di web. Untuk praktiknya secara interaktif (editor kode bawaan dan tutor AI 24/7) dan buka sisa kursus C++ Academy, upgrade ke CoddyKit PRO. Kursus C++ Academy mencakup 4 pelajaran total.
Apa yang akan aku pelajari di “Percabangan: if-else, ternary, switch-case”?
Pilih rangkaian if-else, ekspresi ternary, atau pernyataan switch untuk percabangan yang jelas Kamu berlatih C++ Academy dengan kode praktik yang langsung kamu jalankan di browser, dan tutor AI 24/7 menjawab pertanyaanmu saat kamu mengerjakan pelajaran ini.
Apakah aku perlu pengalaman untuk memulai C++ Academy?
Tidak diperlukan pengalaman sebelumnya. C++ Academy di CoddyKit dirancang untuk pemula hingga pelajar tingkat lanjut, jadi kamu bisa memulai di sini atau dari awal dan belajar sesuai kecepatan kamu sendiri. Ini adalah pelajaran 1 dari 4.
Berapa lama pelajaran “Percabangan: if-else, ternary, switch-case” memakan waktu?
Sebagian besar pelajaran CoddyKit memakan waktu sekitar 5–10 menit. Setiap pelajaran ringkas dan interaktif, jadi kamu membuat kemajuan stabil dan melanjutkan dari tempat kamu tinggalkan di web dan aplikasi.
Bisakah aku menulis dan menjalankan kode dalam pelajaran C++ Academy ini?
Ya. Setiap pelajaran C++ Academy menyertakan editor kode bawaan, jadi kamu menulis dan menjalankan kode nyata langsung di browser dan mendapatkan umpan balik AI instan — tidak diperlukan penyiapan lokal.
Semua pelajaran dalam kursus ini
- Percabangan: if-else, ternary, switch-case
- Pola Perulangan: for, while, do-while
- Perulangan for Berbasis Rentang dengan Kontainer
- Pengembalian Awal, break, continue, dan goto