Apakah Pernyataan Bersyarat di C?
Pernyataan Bersyarat dalam pengaturcaraan C digunakan untuk membuat keputusan berdasarkan syarat. Pernyataan bersyarat dilaksanakan secara berurutan apabila tidak ada keadaan di sekitar pernyataan tersebut. Sekiranya anda meletakkan beberapa syarat untuk sekatan penyataan, aliran pelaksanaan mungkin berubah berdasarkan hasil yang dinilai oleh keadaan. Proses ini dipanggil membuat keputusan dalam 'C.'
Dalam pengaturcaraan 'C' pernyataan bersyarat boleh dilakukan dengan bantuan dua konstruk berikut:
1. Sekiranya penyataan
2. Penyataan if-else
Ia juga disebut sebagai percabangan kerana program memutuskan pernyataan mana yang harus dilaksanakan berdasarkan hasil dari keadaan yang dinilai.
Dalam tutorial ini, anda akan belajar-
- Apakah Pernyataan Bersyarat?
- Sekiranya penyataan
- Pengendali Perhubungan
- Penyataan If-Else
- Ungkapan Bersyarat
- Penyataan If-else Bersarang
- Kenyataan Else-if bersarang
Sekiranya penyataan
Ini adalah salah satu pernyataan bersyarat yang kuat. Sekiranya pernyataan bertanggungjawab untuk mengubah aliran pelaksanaan program. Sekiranya pernyataan selalu digunakan dengan syarat. Keadaan dinilai terlebih dahulu sebelum melaksanakan sebarang penyataan di dalam badan If. Sintaks untuk pernyataan if adalah seperti berikut:
if (condition)instruction;
Keadaan dinilai sama ada benar atau salah. Benar selalu merupakan nilai bukan sifar, dan salah adalah nilai yang mengandungi sifar. Arahan boleh berupa arahan tunggal atau blok kod yang dilampirkan oleh pendakap kerinting {}.
Program berikut menggambarkan penggunaan if konstruk dalam 'C' pengaturcaraan:
#includeint main(){int num1=1;int num2=2;if(num1 Pengeluaran:
num1 is smaller than num2Program di atas menggambarkan penggunaan if konstruk untuk memeriksa persamaan dua nombor.
- Dalam program di atas, kami telah menginisialisasi dua pemboleh ubah dengan num1, num2 dengan nilai masing-masing sebagai 1, 2.
- Kemudian, kami telah menggunakan jika dengan ekspresi ujian untuk memeriksa nombor mana yang terkecil dan nombor mana yang terbesar. Kami telah menggunakan ungkapan relasional jika konstruk. Oleh kerana nilai num1 lebih kecil daripada num2, keadaan akan dinilai menjadi benar.
- Oleh itu ia akan mencetak pernyataan di dalam blok If. Selepas itu, kawalan akan keluar dari blok dan program akan dihentikan dengan hasil yang berjaya.
Pengendali Perhubungan
C mempunyai enam pengendali hubungan yang dapat digunakan untuk merumuskan ungkapan Boolean untuk membuat keputusan dan menguji keadaan, yang mengembalikan benar atau salah:
<= kurang daripada atau sama dengan
> lebih besar daripada
> = lebih besar daripada atau sama dengan
== sama dengan
! = tidak sama dengan
Perhatikan bahawa ujian sama (==) berbeza dengan pengendali tugasan (=) kerana ini adalah salah satu masalah paling biasa yang dihadapi oleh pengaturcara dengan mencampurkannya.
Sebagai contoh:
int x = 41;x =x+ 1;if (x == 42) {printf("You succeed!");}Pengeluaran :
You succeedPerlu diingat bahawa syarat yang menilai nilai bukan sifar dianggap benar.
Sebagai contoh:
int present = 1;if (present)printf("There is someone present in the classroom \n");Pengeluaran :
There is someone present in the classroomPenyataan If-Else
Pernyataan if-else adalah versi lanjutan dari If. Bentuk umum if-else adalah seperti berikut:
if (test-expression){True block of statements}Else{False block of statements}Statements;n jenis konstruk ini, jika nilai ekspresi ujian adalah benar, maka blok penyataan yang benar akan dilaksanakan. Sekiranya nilai ekspresi ujian jika salah, maka blok penyataan palsu akan dilaksanakan. Bagaimanapun, setelah pelaksanaannya, kawalan akan dipindahkan secara automatik ke pernyataan yang muncul di luar blok If.
Program berikut menggambarkan penggunaan konstruk if-else:
Kami akan memulakan pemboleh ubah dengan beberapa nilai dan menulis program untuk menentukan apakah nilainya kurang dari sepuluh atau lebih besar daripada sepuluh.
Mari mulakan.
#includeint main(){int num=19;if(num<10){printf("The value is less than 10");}else{printf("The value is greater than 10");}return 0;} Pengeluaran:
The value is greater than 10
- Kami telah memulakan pemboleh ubah dengan nilai 19. Kita harus mengetahui sama ada bilangannya lebih besar atau lebih kecil daripada 10 menggunakan program 'C'. Untuk melakukan ini, kami telah menggunakan konstruk if-else.
- Di sini kami telah memberikan bilangan syarat <10 kerana kita harus membandingkan nilai kita dengan 10.
- Seperti yang anda lihat blok pertama selalu merupakan blok benar yang bermaksud, jika nilai ekspresi ujian adalah benar maka blok pertama yang Jika, akan dilaksanakan.
- Blok kedua adalah blok lain. Blok ini mengandungi pernyataan yang akan dilaksanakan jika nilai ekspresi ujian menjadi salah. Dalam program kami, nilai num lebih besar daripada sepuluh maka syarat-syarat ujian menjadi salah dan blok lain dijalankan. Oleh itu, output kami akan dari blok lain iaitu "Nilainya lebih besar daripada 10". Selepas if-else, program akan berakhir dengan hasil yang berjaya.
Dalam pengaturcaraan 'C' kita dapat menggunakan beberapa konstruk if-else dalam satu sama lain yang disebut sebagai penyataan pernyataan if-else.
Ungkapan Bersyarat
Terdapat cara lain untuk menyatakan pernyataan if-else adalah dengan memperkenalkan operator ?: . Dalam ungkapan bersyarat : operator hanya mempunyai satu kenyataan berkaitan dengan jika dan yang lain.
Sebagai contoh:
#includeint main() {int y;int x = 2;y = (x >= 6) ? 6 : x;/* This is equivalent to: if (x >= 5) y = 5; else y = x; */printf("y =%d ",y);return 0;} Pengeluaran :
y =2Penyataan If-else Bersarang
Apabila satu siri keputusan diperlukan, bersarang jika-lain digunakan. Bersarang bermaksud menggunakan satu konstruk if-else dalam yang lain.
Mari tulis program untuk menggambarkan penggunaan bersarang jika-lain.
#includeint main(){int num=1;if(num<10){if(num==1){printf("The value is:%d\n",num);}else{printf("The value is greater than 1");}}else{printf("The value is greater than 10");}return 0;} Pengeluaran:
The value is:1Program di atas memeriksa sama ada nombor kurang atau lebih besar daripada 10 dan mencetak hasilnya menggunakan konstruk bersarang if-else.
- Pertama, kita telah menyatakan pemboleh ubah bilangan dengan nilai sebagai 1. Kemudian kita telah menggunakan if-else konstruk.
- Di luar jika-lain, keadaan yang disediakan memeriksa apakah nombor kurang dari 10. Sekiranya keadaan itu benar maka dan hanya itu maka ia akan menjalankan gelung dalam. Dalam kes ini, keadaannya benar maka blok dalaman diproses.
- Di blok dalaman, kita sekali lagi mempunyai syarat yang memeriksa sama ada pemboleh ubah kita mengandungi nilai 1 atau tidak. Apabila keadaan benar, maka ia akan memproses blok If sebaliknya akan memproses blok yang lain. Dalam kes ini, syaratnya adalah benar maka blok If dijalankan dan nilainya dicetak pada layar output.
- Program di atas akan mencetak nilai pemboleh ubah dan keluar dengan berjaya.
Cuba ubah nilai pemboleh ubah lihat bagaimana tingkah laku program.
CATATAN: Dalam bersarang jika-lain, kita harus berhati-hati dengan lekukan kerana banyak konstruksi if-else terlibat dalam proses ini, jadi sukar untuk mengetahui konstruk individu. Lekukan yang betul memudahkan membaca program.
Kenyataan Else-if bersarang
Bersarang lain jika digunakan apabila keputusan multipath diperlukan.
Sintaks umum bagaimana tangga jika dibina dalam pengaturcaraan 'C' adalah seperti berikut:
if (test - expression 1) {statement1;} else if (test - expression 2) {Statement2;} else if (test - expression 3) {Statement3;} else if (test - expression n) {Statement n;} else {default;}Statement x;Struktur jenis ini dikenali sebagai tangga lain-jika Rantai ini umumnya kelihatan seperti tangga maka ia juga disebut sebagai tangga yang lain. Ujian-ekspresi dinilai dari atas ke bawah. Bila ada ujian-ekspresi yang benar jika dijumpai, pernyataan yang berkaitan dengannya akan dilaksanakan. Apabila semua ekspresi ujian-n menjadi salah, maka pernyataan lalai lain akan dilaksanakan.
Mari kita lihat kerja sebenar dengan bantuan program.
#includeint main(){int marks=83;if(marks>75){printf("First class");}else if(marks>65){printf("Second class");}else if(marks>55){printf("Third class");}else{printf("Fourth class");}return 0;} Pengeluaran:
First classProgram di atas mencetak nilai mengikut markah yang dijaringkan dalam ujian. Kami telah menggunakan konstruk tangga lain jika program di atas.
- Kami telah memulakan pemboleh ubah dengan tanda. Dalam struktur tangga jika-lain, kami telah menyediakan pelbagai syarat.
- Nilai dari tanda pemboleh ubah akan dibandingkan dengan keadaan pertama kerana benar pernyataan yang berkaitan dengannya akan dicetak pada skrin output.
- Sekiranya keadaan ujian pertama ternyata salah, maka dibandingkan dengan keadaan kedua.
- Proses ini akan berterusan sehingga semua ungkapan dinilai jika tidak, kawalan akan keluar dari tangga lain-jika tangga, dan pernyataan lalai akan dicetak.
Cuba ubah nilai dan perhatikan perubahan output.
Ringkasan
- Pernyataan membuat keputusan atau bercabang digunakan untuk memilih satu jalan berdasarkan hasil ungkapan yang dinilai.
- Ia juga disebut sebagai pernyataan kawalan kerana mengawal aliran pelaksanaan program.
- 'C' menyediakan jika, jika-lain membina untuk pernyataan membuat keputusan.
- Kita juga dapat bersarang jika-dalam satu sama lain apabila beberapa jalan harus diuji.
- Tangga lain jika digunakan ketika kita harus memeriksa pelbagai cara berdasarkan hasil ungkapan.