C'de Koşullu İfade nedir?
C programlamadaki Koşullu İfadeler , koşullara dayalı kararlar almak için kullanılır. İfadelerin etrafında herhangi bir koşul olmadığında koşullu ifadeler sırayla yürütülür. Bir ifade bloğu için bir koşul koyarsanız, yürütme akışı koşul tarafından değerlendirilen 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 dallanma olarak da adlandırılır.
Bu eğitimde öğreneceksiniz-
- Koşullu İfade nedir?
- If ifadesi
- İlişkisel Operatörler
- If-Else ifadesi
- Koşullu İfadeler
- İç içe geçmiş If-else İfadeleri
- İç içe geçmiş Else-if ifadeleri
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 kullanılır. Koşul, If gövdesi içinde herhangi bir ifade çalıştırılmadan önce değerlendirilir. İf ifadesi için sözdizimi aşağıdaki gibidir:
if (condition)instruction;
Koşul, doğru veya yanlış olarak değerlendirilir. Doğru, her zaman sıfır olmayan bir değerdir ve yanlış, 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, if construct'ın 'C' programlamasında kullanımını göstermektedir:
#includeint main(){int num1=1;int num2=2;if(num1 Çıktı:
num1 is smaller than num2Yukarıdaki program, iki sayının eşitliğini kontrol etmek için if yapısının kullanımını göstermektedir.
- Yukarıdaki programda sırasıyla num1, num2 ile değeri 1, 2 olan iki değişkeni başlattık.
- Ardından, hangi sayının en küçük ve hangi sayının en büyük olduğunu kontrol etmek için bir test ifadesi ile if kullandık. If construct'ta ilişkisel bir ifade kullandık. Num1'in değeri num2'den küçük olduğundan, koşul true olarak değerlendirilecektir.
- Böylece ifadeyi If bloğunun içine yazdıracaktır. Bundan sonra, kontrol bloğun dışına çıkacak ve başarılı bir sonuçla program sonlandırılacaktır.
İlişkisel Operatörler
C, bir karar vermek ve doğru veya yanlışı döndüren koşulları test etmek için bir Boole ifadesini formüle etmek için kullanılabilen altı ilişkisel operatöre sahiptir:
<= küçüktür veya eşittir
> büyüktür
> = büyüktür veya eşittir
== eşittir
! = eşit değildir
Eşit testin (==) atama operatöründen (=) farklı olduğuna dikkat edin çünkü bu, bir programcının bunları karıştırarak karşılaştığı en yaygın sorunlardan biridir.
Örneğin:
int x = 41;x =x+ 1;if (x == 42) {printf("You succeed!");}Çıktı :
You succeedSıfır olmayan 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");Çıktı :
There is someone present in the classroomIf-Else ifadesi
İf-else is ifadesi, If'nin genişletilmiş bir sürümüdür. İf-else'in genel biçimi aşağıdaki gibidir:
if (test-expression){True block of statements}Else{False block of statements}Statements;Bu tür bir yapı, test ifadesinin değeri doğruysa, gerçek ifade bloğu çalıştırılacaktır. Test ifadesinin değeri yanlışsa, yanlış ifadeler bloğu çalıştırılacaktır. Her durumda, yürütmeden sonra, 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 bir değerle başlatacağız ve değerin ondan küçük veya ondan büyük olup olmadığını belirlemek için bir program yazacağız.
Hadi başlayalım.
#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;} Çıktı:
The value is greater than 10
- Değeri 19 olan bir değişkeni başlattık. Bir 'C' programı kullanarak sayının 10'dan büyük mü yoksa küçük mü olduğunu bulmalıyız. Bunu yapmak için if-else yapısını kullandık.
- Burada <10 koşulunu sağladık çünkü değerimizi 10 ile karşılaştırmamız gerekiyor.
- Gördüğünüz gibi ilk blok her zaman gerçek bir bloktur, yani test ifadesinin değeri doğruysa ilk blok olan If çalıştırılacaktır.
- İkinci blok başka bir bloktur. Bu blok, test ifadesinin değeri yanlış olursa yürütülecek ifadeleri içerir. Programımızda num değeri ondan büyüktür, bu nedenle test koşulu yanlış olur ve aksi takdirde blok yürütülür. Böylece, çıktımız "Değer 10'dan büyük" olan başka bir bloktan olacaktır. İf-else seçeneğinden sonra, program başarılı bir sonuçla sona erecektir.
'C' programlamasında, if-else ifadelerinin iç içe geçmesi olarak adlandırılan, birbirinin içinde birden çok if-else yapısını kullanabiliriz.
Koşullu İfadeler
Bir if-else deyimi ifade etmek başka bir yolu tanıtarak mi ?: Operatörünü. Bir koşullu ifadede :? Operatör if ve else ile ilişkili tek bir deyimi vardır.
Örneğin:
#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;} Çıktı :
y =2İç içe geçmiş If-else İfadeleri
Bir dizi karar gerektiğinde, iç içe geçmiş if-else kullanılır. İç içe yerleştirme, başka bir if-else yapısının başka bir içinde kullanılması anlamına gelir.
İç içe geçmiş if-else kullanımını göstermek için bir program yazalım.
#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;} Çıktı:
The value is:1Yukarıdaki program, bir sayının 10'dan küçük veya büyük olup olmadığını kontrol eder ve sonucu iç içe geçmişse-else yapısını kullanarak yazdırır.
- Öncelikle değeri 1 olan bir num değişkenini tanımladık. Sonra if-else yapısını kullandık.
- Dış eğer değilse, sağlanan koşul, bir sayının 10'dan küçük olup olmadığını kontrol eder. Koşul doğruysa ve ancak o zaman iç döngüyü çalıştırır. Bu durumda, koşul doğrudur, dolayısıyla iç blok işlenir.
- İç blokta, değişkenimizin 1 değerini içerip içermediğini kontrol eden bir koşulumuz var. Bir koşul doğru olduğunda, If bloğunu işler, aksi takdirde başka bir bloğu işler. Bu durumda, koşul doğrudur, dolayısıyla Bir blok yürütülürse ve değer çıktı ekranına yazdırılırsa.
- Yukarıdaki program bir değişkenin değerini yazdıracak ve başarılı bir şekilde çıkacaktır.
Değişkenin değerini değiştirmeyi deneyin, programın nasıl davrandığını görün.
NOT: İç içe geçmiş if-else'te, girintiye dikkat etmeliyiz çünkü bu süreçte birden çok if-else yapısı yer aldığından, tek tek yapıları anlamak zorlaşır. Doğru girinti, programı okumayı kolaylaştırır.
İç içe geçmiş Else-if ifadeleri
İç içe geçmiş else-if, çok yollu kararlar gerektiğinde kullanılır.
'C' programlamasında başka nasıl yapılırsa merdivenlerinin 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 bir yapı, eğer başka bir merdiven olarak bilinir. Bu zincir genellikle bir merdivene benzediğinden, başka bir merdiven 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 çalıştırılır. Tüm n test ifadeleri yanlış olduğunda, varsayılan else ifadesi çalıştırılır.
Bir program yardımıyla gerçek çalışmayı görelim.
#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;} Çıktı:
First classYukarıdaki program, bir testte alınan notlara göre notu yazdırır. Yukarıdaki programda else-if ladder yapısını kullandık.
- İşaretli bir değişkeni başlattık. Aksi takdirde merdiven yapısında çeşitli koşullar sağladık.
- Değişken işaretlerinden gelen değer ilk koşulla karşılaştırılacaktır çünkü bu doğru olduğundan, onunla ilişkili ifade çıktı ekranında yazdırılacaktır.
- İlk test koşulu yanlış çıkarsa, ikinci koşulla karşılaştırılır.
- Bu süreç tüm ifade değerlendirilene kadar devam edecek, aksi takdirde kontrol else-if merdiveninden çıkacak ve varsayılan ifade yazdırılacaktır.
Değeri değiştirmeyi deneyin ve çıktıdaki değişikliğe dikkat edin.
Özet
- Karar verme veya dallanma ifadeleri, değerlendirilen ifadenin sonucuna göre bir yol seçmek için 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 beyanları için if, if-else oluşturur.
- Ayrıca, birden çok yolun test edilmesi gerektiğinde birbirinin içinde if-else iç içe geçebiliriz.
- Aksi takdirde merdiveni, ifadenin sonucuna göre çeşitli yolları kontrol etmemiz gerektiğinde kullanılır.