C Koşullu İfade: Örnekle IF, IF Else ve İç İçe IF Else

C'de Koşullu İfade Nedir?

C'de Koşullu İfadeler Koşullara göre karar vermek için programlama kullanılır. Koşullu ifadeler, ifadelerin çevresinde hiçbir koşul olmadığında sırayla yürütülür. Bir ifade bloğuna bir koşul koyarsanız yürütme akışı, koşulun değerlendirdiği sonuca göre değişebilir. Bu sürece 'C'de karar verme denir.

'C' programlamada koşullu ifadeler aşağıdaki iki yapının yardımıyla mümkündür:

1. If ifadesi

2. If-else ifadesi

Bir program, değerlendirilen koşulun sonucuna göre hangi ifadenin yürütüleceğine karar verdiği için buna dallanma da denir.

If ifadesi

Güçlü koşullu ifadelerden biridir. If ifadesi bir programın yürütme akışını değiştirmekten sorumludur. If ifadesi her zaman bir koşulla birlikte kullanılır. If'in gövdesinde herhangi bir ifade yürütülmeden önce ilk olarak koşul değerlendirilir. If ifadesinin sözdizimi aşağıdaki gibidir:

 if (condition) 
     instruction;

Koşul doğru veya yanlış olarak değerlendirilir. True her zaman sıfır olmayan bir değerdir, false ise sıfır içeren bir değerdir. Talimatlar tek bir talimat veya küme parantezleri { } içine alınmış bir kod bloğu olabilir.

Aşağıdaki program, 'C' programlamada if yapısının kullanımını göstermektedir:

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

Çıktı:

num1 is smaller than num2

Yukarıdaki program, iki sayının eşitliğini kontrol etmek için if yapısının kullanımını göstermektedir.

If İfadesi

  1. Yukarıdaki programda num1, num2 ile değerleri sırasıyla 1, 2 olan iki değişkeni başlattık.
  2. Daha sonra hangi sayının en küçük, hangi sayının en büyük olduğunu kontrol etmek için bir test ifadesiyle if'i kullandık. İf yapısında ilişkisel bir ifade kullandık. num1'in değeri num2'den küçük olduğundan koşul doğru olarak değerlendirilecektir.
  3. Böylece ifadeyi If bloğunun içine yazdıracaktır. Bundan sonra kontrol bloğun dışına çıkacak ve program başarılı bir sonuçla sonlandırılacaktır.

İlişkisel Operaları

C'de, karar vermek ve koşulları test etmek için doğru veya yanlış döndüren bir Boole ifadesi formüle etmek için kullanılabilecek altı ilişkisel operatör vardır:

< daha az

<= küçük veya eşittir

> daha büyük

>= büyük veya eşittir

== eşittir

!= eşit değil

Eşitlik testinin (==) atama operatöründen (=) farklı olduğuna dikkat edin çünkü bu, bir programcının bunları karıştırırken karşılaştığı en yaygın sorunlardan biridir.

Örneğin:

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

Çıkış:

 You succeed

Sıfır dışında bir değer olarak değerlendirilen bir koşulun doğru olarak kabul edildiğini unutmayın.

Örneğin:

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

Çıkış:

There is someone present in the classroom

If-Else ifadesi

If-Else İfadesi

if-else is ifadesi If'in genişletilmiş versiyonudur. If-else'in genel şekli şu şekildedir:

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

Bu tür bir yapıda, eğer test ifadesinin değeri doğruysa, o zaman doğru ifade bloğu yürütülür. Test ifadesinin değeri false ise, false ifade bloğu yürütülecektir. Her durumda, yürütme sonrasında kontrol otomatik olarak If bloğunun dışında görünen ifadelere aktarılacaktır.

Aşağıdaki programlar if-else yapısının kullanımını göstermektedir:


Bir değişkeni belirli bir değerle başlatacağız ve değerin ondan küçük veya ondan büyük olup olmadığını belirleyecek bir program yazacağız.

Hadi başlayalım.

#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;
}

Çıktı:

The value is greater than 10

If-Else İfadesi

  1. 19 değerinde bir değişken başlattık. Bir 'C' programı kullanarak sayının 10'dan büyük veya küçük olduğunu bulmamız gerekiyor. Bunun için if-else yapısını kullandık.
  2. Burada num<10 koşulunu sağladık çünkü değerimizi 10 ile karşılaştırmamız gerekiyor.
  3. Gördüğünüz gibi ilk blok her zaman doğru bir bloktur; bu, eğer test ifadesinin değeri doğruysa o zaman If olan ilk bloğun yürütüleceği anlamına gelir.
  4. İkinci blok bir else bloğudur. Bu blok, test ifadesinin değerinin yanlış olması durumunda yürütülecek ifadeleri içerir. Programımızda num değeri 10'dan büyük olduğundan test koşulu false olur, aksi halde blok çalıştırılır. Böylece çıktımız “Değeri XNUMX’dan büyük” olan else bloğundan olacaktır. If-else sonrasında program başarılı bir sonuçla sonlandırılacaktır.

'C' programlamasında, if-else ifadelerinin iç içe geçmesi olarak adlandırılan birden fazla if-else yapısını birbiri içinde kullanabiliriz.

Koşullu İfadeler

If-else ifadesini ifade etmenin başka bir yolu da, ?: Şebeke. Koşullu bir ifadede ?: operatörün if ve else ile ilişkili yalnızca bir ifadesi vardır.

Örneğin:

#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;}

Çıkış:

y =2

İç İçe If-else İfadeleri

Bir dizi karar gerektiğinde iç içe if-else kullanılır. Yuvalama, bir if-else yapısının başka bir yapı içinde kullanılması anlamına gelir.

İç içe if-else kullanımını gösteren bir program yazalım.

#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;
}

Çıktı:

The value is:1

Yukarıdaki program bir sayının 10'dan küçük veya büyük olup olmadığını kontrol eder ve sonucu iç içe if-else yapısını kullanarak yazdırır.

İç İçe If-else İfadeleri

  1. Öncelikle değeri 1 olan bir num değişkeni tanımladık. Daha sonra if-else yapısını kullandık.
  2. Dış if-else'de sağlanan koşul, bir sayının 10'dan küçük olup olmadığını kontrol eder. Koşul doğruysa ancak o zaman çalıştırılır. iç döngü. Bu durumda koşul doğrudur ve dolayısıyla iç blok işlenir.
  3. İç blokta, değişkenimizin 1 değerini içerip içermediğini kontrol eden bir koşulumuz daha var. Bir koşul doğru olduğunda, If bloğunu işleyecek, aksi takdirde else bloğunu işleyecek. Bu durumda, koşul doğrudur, dolayısıyla If bloğu yürütülür ve değer çıktı ekranına yazdırılır.
  4. Yukarıdaki program bir değeri yazdıracaktır. değişken ve başarıyla çıkın.

Değişkenin değerini değiştirmeyi deneyin, programın nasıl davrandığını görün.

NOT: İç içe if-else'de girinti konusunda dikkatli olmalıyız çünkü bu süreçte birden fazla if-else yapısı yer alır, dolayısıyla tek tek yapıları anlamak zorlaşır. Doğru girinti programın okunmasını kolaylaştırır.

İç içe Else-if ifadeleri

Çok yollu kararlar gerektiğinde iç içe else-if kullanılır.

'C' programlamasında else-if merdivenlerinin nasıl oluşturulduğunun genel sözdizimi aşağıdaki gibidir:

 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;

Bu tür yapıya else-if merdiveni adı verilir. Bu zincir genel olarak bir merdivene benzediği için else-if merdiveni olarak da adlandırılır. Test ifadeleri yukarıdan aşağıya doğru değerlendirilir. Gerçek bir test ifadesi bulunduğunda, onunla ilişkili ifade yürütülür. N test ifadesinin tümü yanlış olduğunda, varsayılan else ifadesi yürütülür.

Bir program yardımıyla gerçek çalışmayı görelim.

#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;
}

Çıktı:

First class

Yukarıdaki program notu bir testte alınan notlara göre yazdırır. Yukarıdaki programda else-if ladder yapısını kullandık.

İç İçe Else-if İfadeleri

  1. İşaretli bir değişkeni başlattık. else-if ladder yapısında çeşitli şartları sağladık.
  2. Değişken işaretlerinden elde edilen değer, ilk koşulla karşılaştırılacaktır çünkü onunla ilişkili ifadenin doğru olması çıkış ekranında yazdırılacaktır.
  3. İlk test koşulu yanlış çıkarsa ikinci koşulla karşılaştırılır.
  4. Bu işlem tüm ifadeler değerlendirilene kadar devam edecektir, aksi takdirde kontrol else-if merdiveninin dışına çıkacak ve default ifadesi yazdırılacaktır.

Değeri değiştirmeyi deneyin ve çıktıdaki değişikliği fark edin.

ÖZET

  • Değerlendirilen ifadenin sonucuna göre bir yol seçmek için karar verme veya dallanma ifadeleri kullanılır.
  • Bir programın yürütme akışını kontrol ettiği için kontrol ifadeleri olarak da adlandırılır.
  • 'C' karar verme ifadeleri için if, if-else yapılarını sağlar.
  • Birden fazla yolun test edilmesi gerektiğinde if-else'i de iç içe yerleştirebiliriz.
  • İfadenin sonucuna göre çeşitli yolları kontrol etmemiz gerektiğinde else-if merdiveni kullanılır.