Dalam tutorial ini, Anda akan belajar tentang pernyataan if (termasuk if… else dan nested if… else) dalam pemrograman C dengan bantuan contoh.
Pernyataan C if
Sintaks if
pernyataan dalam pemrograman C adalah:
if (test expression) ( // statements to be executed if the test expression is true )
Bagaimana jika pernyataan berhasil?
The if
pernyataan mengevaluasi ekspresi tes dalam kurung ()
.
- Jika ekspresi pengujian dievaluasi ke true, pernyataan di dalam tubuh
if
dieksekusi. - Jika ekspresi pengujian dievaluasi ke false, pernyataan di dalam tubuh
if
tidak akan dijalankan.
Untuk mempelajari lebih lanjut tentang kapan ekspresi pengujian dievaluasi menjadi benar (nilai bukan nol) dan salah (0), periksa operator relasional dan logika.
Contoh 1: pernyataan if
// Program to display a number if it is negative #include int main() ( int number; printf("Enter an integer: "); scanf("%d", &number); // true if number is less than 0 if (number < 0) ( printf("You entered %d.", number); ) printf("The if statement is easy."); return 0; )
Keluaran 1
Masukkan integer: -2 Anda memasukkan -2. Pernyataan if itu mudah.
Saat pengguna memasukkan -2, ekspresi pengujian number<0
dievaluasi menjadi benar. Karenanya, Anda memasukkan -2 ditampilkan di layar.
Keluaran 2
Masukkan integer: 5 Pernyataan if itu mudah.
Ketika pengguna memasukkan 5, ekspresi tes number<0
dievaluasi menjadi false dan pernyataan di dalam tubuh if
tidak dieksekusi
Pernyataan C if… else
The if
pernyataan mungkin memiliki opsional else
blok. Sintaks dari if… else
pernyataan tersebut adalah:
if (test expression) ( // statements to be executed if the test expression is true ) else ( // statements to be executed if the test expression is false )
Bagaimana jika… pernyataan lain berhasil?
Jika ekspresi tes dievaluasi menjadi benar,
- pernyataan di dalam tubuh
if
dieksekusi. - pernyataan di dalam tubuh
else
akan dilewati dari eksekusi.
Jika ekspresi tes dinilai salah,
- pernyataan di dalam tubuh
else
dieksekusi - pernyataan di dalam tubuh
if
akan dilewati dari eksekusi.
Contoh 2: pernyataan if… else
// Check whether an integer is odd or even #include int main() ( int number; printf("Enter an integer: "); scanf("%d", &number); // True if the remainder is 0 if (number%2 == 0) ( printf("%d is an even integer.",number); ) else ( printf("%d is an odd integer.",number); ) return 0; )
Keluaran
Masukkan bilangan bulat: 7 7 adalah bilangan bulat ganjil.
Saat pengguna memasukkan 7, ekspresi tes number%2==0
dievaluasi menjadi salah. Oleh karena itu, pernyataan di dalam tubuh else
dieksekusi.
C jika… Ladder lainnya
The if… else
pernyataan mengeksekusi dua kode yang berbeda tergantung pada apakah ekspresi tes benar atau salah. Terkadang, pilihan harus dibuat dari lebih dari 2 kemungkinan.
Tangga if… else memungkinkan Anda untuk memeriksa di antara beberapa ekspresi pengujian dan menjalankan pernyataan yang berbeda.
Sintaks dari if… else Ladder
if (test expression1) ( // statement(s) ) else if(test expression2) ( // statement(s) ) else if (test expression3) ( // statement(s) )… else ( // statement(s) )
Contoh 3: C if… else Ladder
// Program to relate two integers using =,> or < symbol #include int main() ( int number1, number2; printf("Enter two integers: "); scanf("%d %d", &number1, &number2); //checks if the two integers are equal. if(number1 == number2) ( printf("Result: %d = %d",number1,number2); ) //checks if number1 is greater than number2. else if (number1> number2) ( printf("Result: %d> %d", number1, number2); ) //checks if both test expressions are false else ( printf("Result: %d < %d",number1, number2); ) return 0; )
Keluaran
Masukkan dua bilangan bulat: 12 23 Hasil: 12 <23
Bersarang jika… lain
Dimungkinkan untuk menyertakan if… else
pernyataan di dalam tubuh if… else
pernyataan lain .
Contoh 4: Bersarang if… else
Program yang diberikan di bawah ini menghubungkan dua bilangan bulat menggunakan salah satu <
, >
dan =
mirip dengan contoh if… else
ladder. Namun, kami akan menggunakan if… else
pernyataan bersarang untuk menyelesaikan masalah ini.
#include int main() ( int number1, number2; printf("Enter two integers: "); scanf("%d %d", &number1, &number2); if (number1>= number2) ( if (number1 == number2) ( printf("Result: %d = %d",number1,number2); ) else ( printf("Result: %d> %d", number1, number2); ) ) else ( printf("Result: %d < %d",number1, number2); ) return 0; )
Jika badan if… else
pernyataan hanya memiliki satu pernyataan, Anda tidak perlu menggunakan tanda kurung ()
.
Misalnya kode ini
if (a> b) ( print("Hello"); ) print("Hi");
setara dengan
if (a> b) print("Hello"); print("Hi");