Manufaktur industri
Industri Internet of Things | bahan industri | Pemeliharaan dan Perbaikan Peralatan | Pemrograman industri |
home  MfgRobots >> Manufaktur industri >  >> Industrial programming >> Bahasa C

C Pernyataan Bersyarat:IF, IF Else dan Nested IF Else dengan Contoh

Apa itu Pernyataan Bersyarat dalam C?

Pernyataan Bersyarat dalam C pemrograman digunakan untuk membuat keputusan berdasarkan kondisi. Pernyataan bersyarat dieksekusi secara berurutan ketika tidak ada kondisi di sekitar pernyataan. Jika Anda menempatkan beberapa kondisi untuk blok pernyataan, alur eksekusi dapat berubah berdasarkan hasil yang dievaluasi oleh kondisi tersebut. Proses ini disebut pengambilan keputusan dalam 'C.'

Dalam pemrograman 'C' pernyataan kondisional dimungkinkan dengan bantuan dua konstruksi berikut:

1. Jika pernyataan

2. Pernyataan if-else

Ini juga disebut percabangan karena program memutuskan pernyataan mana yang akan dieksekusi berdasarkan hasil dari kondisi yang dievaluasi.

Dalam tutorial ini, Anda akan belajar-

Jika pernyataan

Ini adalah salah satu pernyataan kondisional yang kuat. Jika pernyataan bertanggung jawab untuk memodifikasi aliran eksekusi suatu program. Jika pernyataan selalu digunakan dengan kondisi. Kondisi dievaluasi terlebih dahulu sebelum mengeksekusi pernyataan apa pun di dalam tubuh If. Sintaks untuk pernyataan if adalah sebagai berikut:

 if (condition) 
     instruction;

Kondisi dievaluasi menjadi benar atau salah. Benar selalu merupakan nilai bukan nol, dan salah adalah nilai yang mengandung nol. Instruksi dapat berupa instruksi tunggal atau blok kode yang diapit oleh kurung kurawal {}.

Program berikut mengilustrasikan penggunaan if construct dalam pemrograman 'C':

#include<stdio.h>
int main()
{
	int num1=1;
	int num2=2;
	if(num1<num2)		//test-condition
	{
		printf("num1 is smaller than num2");
	}
	return 0;
}

Keluaran:

num1 is smaller than num2

Program di atas mengilustrasikan penggunaan konstruk if untuk memeriksa persamaan dua bilangan.

  1. Pada program di atas, kita telah menginisialisasi dua variabel dengan angka1, angka2 dengan nilai masing-masing sebagai 1, 2.
  2. Kemudian, kami telah menggunakan if dengan ekspresi uji untuk memeriksa angka mana yang terkecil dan mana yang terbesar. Kami telah menggunakan ekspresi relasional dalam konstruksi if. Karena nilai num1 lebih kecil dari num2, kondisinya akan bernilai true.
  3. Dengan demikian akan mencetak pernyataan di dalam blok If. Setelah itu, kontrol akan keluar dari blok dan program akan dihentikan dengan hasil yang berhasil.

Operator Relasional

C memiliki enam operator relasional yang dapat digunakan untuk merumuskan ekspresi Boolean untuk membuat keputusan dan kondisi pengujian, yang mengembalikan nilai true atau false :

<=kurang dari atau sama dengan

> lebih besar dari

>=lebih besar dari atau sama dengan

==sama dengan

!=tidak sama dengan

Perhatikan bahwa equal test (==) berbeda dari operator penugasan (=) karena ini adalah salah satu masalah paling umum yang dihadapi programmer dengan mencampurkannya.

Misalnya:

int x = 41;
x =x+ 1;
if (x == 42) {
   printf("You succeed!");}

Keluaran :

 You succeed

Perlu diingat bahwa kondisi yang mengevaluasi ke nilai bukan nol dianggap benar.

Misalnya:

int present = 1;
if (present)
  printf("There is someone present in the classroom \n");

Keluaran :

There is someone present in the classroom

Pernyataan If-Else

Pernyataan if-else adalah versi lanjutan dari If. Bentuk umum if-else adalah sebagai berikut:

if (test-expression)
{
    True block of statements
}
Else
{
    False block of statements
}
Statements;

n jenis konstruk ini, jika nilai ekspresi-tes benar, maka blok pernyataan yang benar akan dieksekusi. Jika nilai ekspresi-tes jika salah, maka blok pernyataan yang salah akan dieksekusi. Bagaimanapun, setelah eksekusi, kontrol akan secara otomatis ditransfer ke pernyataan yang muncul di luar blok If.

Program berikut mengilustrasikan penggunaan konstruk if-else:

Kami akan menginisialisasi variabel dengan beberapa nilai dan menulis program untuk menentukan apakah nilainya kurang dari sepuluh atau lebih besar dari sepuluh.

Mari kita mulai.

#include<stdio.h>
int main()
{
	int num=19;
	if(num<10)
	{
		printf("The value is less than 10");
	}
	else
	{
		printf("The value is greater than 10");
	}
	return 0;
}

Keluaran:

The value is greater than 10

  1. Kita telah menginisialisasi sebuah variabel dengan nilai 19. Kita harus mencari tahu apakah bilangan tersebut lebih besar atau lebih kecil dari 10 menggunakan program ‘C’. Untuk melakukan ini, kami telah menggunakan konstruksi if-else.
  2. Di sini kami menyediakan kondisi num<10 karena kami harus membandingkan nilai kami dengan 10.
  3. Seperti yang Anda lihat, blok pertama selalu merupakan blok yang benar yang artinya, jika nilai ekspresi uji benar, maka blok pertama yaitu If, akan dieksekusi.
  4. Blok kedua adalah blok lain. Blok ini berisi pernyataan-pernyataan yang akan dieksekusi jika nilai ekspresi-tes menjadi salah. Dalam program kami, nilai num lebih besar dari sepuluh maka kondisi pengujian menjadi salah dan blok lain dijalankan. Dengan demikian, output kami akan berasal dari blok lain yaitu "Nilainya lebih besar dari 10". Setelah if-else, program akan dihentikan dengan hasil yang berhasil.

Dalam pemrograman 'C' kita dapat menggunakan beberapa konstruksi if-else dalam satu sama lain yang disebut sebagai bersarang dari pernyataan if-else.

Ekspresi Bersyarat

Ada cara lain untuk mengekspresikan pernyataan if-else adalah dengan memperkenalkan ?: operator. Dalam ekspresi bersyarat ?: operator hanya memiliki satu pernyataan yang terkait dengan if dan yang lainnya.

Misalnya:

#include <stdio.h>
int 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;}

Keluaran :

y =2

Pernyataan If-else Bersarang

Ketika serangkaian keputusan diperlukan, if-else bersarang digunakan. Bersarang berarti menggunakan satu konstruksi if-else di dalam konstruksi lainnya.

Mari kita buat program untuk mengilustrasikan penggunaan if-else bersarang.

#include<stdio.h>
int 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;
}

Keluaran:

The value is:1

Program di atas memeriksa apakah suatu angka lebih kecil atau lebih besar dari 10 dan mencetak hasilnya menggunakan konstruksi if-else bersarang.

  1. Pertama, kita telah mendeklarasikan variabel num dengan nilai 1. Kemudian kita menggunakan konstruk if-else.
  2. Dalam if-else luar, kondisi yang disediakan memeriksa apakah suatu angka kurang dari 10. Jika kondisinya benar maka dan hanya maka itu akan mengeksekusi loop dalam. Dalam hal ini, kondisinya benar maka blok bagian dalam diproses.
  3. Di blok bagian dalam, kita kembali memiliki kondisi yang memeriksa apakah variabel kita berisi nilai 1 atau tidak. Ketika suatu kondisi benar, maka akan memproses blok If jika tidak maka akan memproses blok lain. Dalam hal ini, kondisinya benar maka jika blok dieksekusi dan nilainya dicetak pada layar output.
  4. Program di atas akan mencetak nilai variabel dan keluar dengan sukses.

Coba ubah nilai variabel, lihat bagaimana program berperilaku.

CATATAN: Dalam if-else bersarang, kita harus berhati-hati dengan indentasi karena beberapa konstruksi if-else terlibat dalam proses ini, sehingga menjadi sulit untuk mengetahui konstruksi individu. Indentasi yang tepat memudahkan untuk membaca program.

Pernyataan Else-if bertingkat

Nested else-if digunakan ketika keputusan multipath diperlukan.

Sintaks umum bagaimana tangga else-if dibangun dalam pemrograman 'C' adalah sebagai 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;

Jenis struktur ini dikenal sebagai tangga else-if. Rantai ini umumnya terlihat seperti tangga sehingga disebut juga sebagai tangga else-if. Ekspresi tes dievaluasi dari atas ke bawah. Setiap kali ekspresi uji yang benar jika ditemukan, pernyataan yang terkait dengannya dieksekusi. Ketika semua n ekspresi uji menjadi salah, maka pernyataan default else dijalankan.

Mari kita lihat cara kerja sebenarnya dengan bantuan sebuah program.

#include<stdio.h>
int 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;
}

Keluaran:

First class

Program di atas mencetak nilai sesuai nilai yang dicetak dalam ujian. Kami telah menggunakan konstruksi tangga else-if dalam program di atas.

  1. Kami telah menginisialisasi variabel dengan tanda. Dalam struktur tangga else-if, kami telah menyediakan berbagai kondisi.
  2. Nilai dari tanda variabel akan dibandingkan dengan kondisi pertama karena benar pernyataan yang terkait dengannya akan dicetak pada layar output.
  3. Jika kondisi pengujian pertama ternyata salah, maka dibandingkan dengan kondisi kedua.
  4. Proses ini akan berlangsung sampai semua ekspresi dievaluasi jika tidak, kontrol akan keluar dari tangga else-if, dan pernyataan default akan dicetak.

Coba ubah nilainya dan perhatikan perubahan pada output.

Ringkasan


Bahasa C

  1. C# Ekspresi, Pernyataan, dan Blok (Dengan Contoh)
  2. C# if, if...else, if...else if dan Nested if Statement
  3. C++ if, if...else dan Nested if...else
  4. C if...else Pernyataan
  5. Pernyataan Java if...else
  6. Operator di C++ dengan Contoh:Apa itu, Jenis dan Program
  7. C++ Switch Case Statement dengan CONTOH
  8. Struktur C++ Dengan Contoh
  9. std::daftar di C++ dengan Contoh
  10. Perbedaan antara Struktur dan Kelas:Dijelaskan dengan Contoh C++