13 Kasım 2015 Cuma

if-else Statement - 3

if-else Statement - 3

C if-else koşul ifadesinin genel yapisi.And ve or operatörünün if icindeki kısa devre olarak kullanılması.
#include <stdio.h>
#include <stdlib.h>

/* Açıklama : if-else durumu(statement) ayrıntılı incelenmesi. if içindeki
 * deyimin sabit değer olması. C de sıfır değeri false, sıfır harici değerler true
 * olarak olarak kabul edilir. (5) sayısı ture olduğu gibi (-5) sayısıda true.
 * Bundan dolayı if deyimi içine yazılacak -5 sayısı true olacaktır.
 * && ve || operatörlerinin kısa devre olması durumu : &&(and-ve) operatörü
 * iki terimi işleme sokar. sadece  ( true && true ) durumunu true olarak geri döner.
 * ilk terim false ise ikinci terim ne olursa olsun sonuç false olur.
 * Bundan dolayı ilk terim false elde edilirse ikinci terim işleme girmez.
 *
 * ||(veya-or) operatörüde sadece ( false || false ) işlmeinde false sonucu verir.
 * ilk terim true ise ikinci terim ne olursa olsun işlem true çıkacağı için ikinci
 * terim işleme girmez.
 */


int function1()
{
printf("function1\n");

return 10;
}

int function2()
{
printf("function2\n");

return 10;
}

int main(void) {

// (1 < 5) = 1;
{
int buyuk = (1 > 5);
int esit = (5 == 5);
printf("sonuc:%d\n", buyuk);
printf("sonuc:%d\n", esit);
}
/*if deyimi olarak iki durum önemlidir. deyimin sıfır olması false olarak,
* sıfır harici değer olması true olarak değerlendirilir.
* sabit deger ile if denemeleri: if deyiminin sabit değer olması durumu incelendi.
*/
{
if (-10) {
printf("sifir degil\n");
}
else
{
printf("sifir\n");
}
}

//karsilastirma islemleri sonucu elede edilen değer sıfır veya birdir.
//aşağıdaki örnekteki karşılaştırma işlemi sonucu sıfır elde edilir. ve a değeri sıfır gösterir.
{
int a = (5 >= 8);
if( a )
{
printf("a sifir degil(if ici)\n");
}
else
{
printf("a sifir(else ici)\n");
}
}

/* &&(and-ve) operatörünün kısa devre durumu anlatimi
* && operatörününün ilk terimi false ise diğer terim işlenmez.
* aşağıdaki örnekte ilk terim(5 > 7) false döneceği için ikinci terim olan
* ( 6 < 8 ) işlemi sonucuna hiç bakılmaz.
*/
{
if( (5 > 7) && ( 6 < 8) )
{
printf("a sifir degil(if ici)\n");
}
else
{
printf("a sifir(else ici)\n");
}
}

// ||(or-veya) operatörünün kısa devre durumu anlatimi
// || operatörünün ilk terimi true ise ikinci terim işlnemez.
{
if( (5 < 7) || ( 6 < 8) )
{
printf("a sifir degil(if ici)\n");
}
else
{
printf("a sifir(else ici)\n");
}
}

/* && operatörünün kısa devre durumunun fonksiyonlar ile ilgili kısmı.
* && operatörünün ilk terimi false ise ikinci terimi işlemez.
* (15 > function1()) teriminde function1 çağrılır ve terim false döner.
* ilk terim false olduğu için ikinci terimdeki function2 çağrılmaz.
*/
{
if( (15 > function1()) && ( 6 < function2()) )
{
printf("(and if ici)\n");
}
else
{
printf("(and else ici)\n");
}
}

printf("\n\n");
/* || operatörünün kısa devre durumunda. ilk terim true ise ikinci terim işlenmez.
* (5 < function1()) işlmeinde function1 fonksiyonu çağrılır. Ve karşılaştırma işlemi yapılır.
* Karşılaştırma işlemi sonucu true olur. || operatörünün ilk terimi true ise
* ikinci terim işleme girmeyeceği için function2 fonksiyonu çağrılmaz.
*/
{
if( (5 < function1()) || ( 6 < function2()) )
{
printf("(veya if ici)\n");
}
else
{
printf("(veya else ici)\n");
}
}

return EXIT_SUCCESS;
}

Youtube if-else video

if-else Durmu ile ilgili video izlemek için



Hiç yorum yok:

Yorum Gönder