Menguasai Pernyataan Kondisional C: If, Else, dan Lainnya
Menguasai Pernyataan Kondisional C: If, Else, dan Lainnya
Panduan komprehensif ini memandu Anda melalui dasar-dasar pernyataan if, else, dan kondisional bersarang dalam C, lengkap dengan contoh yang jelas dan tips praktik terbaik.
Video: Pernyataan if-else C
Tonton tutorial singkat di bawah ini untuk melihat konsep-konsep ini dalam aksi.
Pernyataan if C
Pernyataan if dalam C mengikuti sintaks ini:
if (test expression) { // kode yang dieksekusi ketika kondisi benar }
Cara Kerja Pernyataan if
Ekspresi uji di dalam kurung dievaluasi. Jika hasilnya non-nol (benar), blok kode di dalam kurung kurawal dieksekusi; jika nol (salah), blok tersebut dilewati.
Benar: mengeksekusi body.
Salah: melewati body.
Pelajari lebih lanjut tentang nilai truthy dan falsy dalam operator relasional dan logika C di Wikipedia atau GeeksforGeeks.
Contoh 1: Pernyataan if Sederhana
// Program untuk menampilkan angka jika negatif #include <stdio.h> int main() { int number; printf("Masukkan integer: "); scanf("%d", &number); // benar jika number kurang dari 0 if (number < 0) { printf("Anda memasukkan %d.\n", number); } printf("Pernyataan if mudah."); return 0; }
Output 1
Masukkan integer: -2 Anda memasukkan -2. Pernyataan if mudah.
Ketika pengguna memasukkan -2, ekspresi number < 0 dievaluasi menjadi benar, sehingga pesan dicetak.
Output 2
Masukkan integer: 5 Pernyataan if mudah.
Dengan 5, ekspresi dievaluasi menjadi salah, melewatkan printf di dalam blok.
Pernyataan if…else C
Menambahkan blok else memungkinkan Anda menentukan kode alternatif untuk kasus salah. Sintaks:
if (test expression) { // kode ketika benar } else { // kode ketika salah }
Cara Kerja Pernyataan if…else
• Jika uji benar: mengeksekusi blok if dan melewati else. • Jika uji salah: mengeksekusi blok else dan melewati if.
Contoh 2: Periksa Ganjil atau Genap
// Periksa apakah integer ganjil atau genap #include <stdio.h> int main() { int number; printf("Masukkan integer: "); scanf("%d", &number); // Benar jika sisa pembagian adalah 0 if (number % 2 == 0) { printf("%d adalah integer genap.", number); } else { printf("%d adalah integer ganjil.", number); } return 0; }
Output
Masukkan integer: 7 7 adalah integer ganjil.
Di sini operator modulus menentukan paritas, dan blok else menangani kasus ganjil.
Tangga if…else C
Ketika beberapa kondisi harus dievaluasi secara berurutan, tangga if…else if…else adalah pilihan yang ideal.
Sintaks Tangga
if (condition1) { // statements } else if (condition2) { // statements } else if (condition3) { // statements } else { // statements }
Contoh 3: Hubungkan Dua Integer
// Program untuk membandingkan dua integer #include <stdio.h> int main() { int number1, number2; printf("Masukkan dua integer: "); scanf("%d %d", &number1, &number2); if (number1 == number2) { printf("Hasil: %d = %d", number1, number2); } else if (number1 > number2) { printf("Hasil: %d > %d", number1, number2); } else { printf("Hasil: %d < %d", number1, number2); } return 0; }
Output
Masukkan dua integer: 12 23 Hasil: 12 < 23
if…else Bersarang
Menyisipkan if…else di dalam yang lain memungkinkan cabang yang lebih halus tanpa tangga yang luas.