13 Kasım 2015 Cuma

Koşul Operatörü-1

Koşul Operatörü-1

C koşul operatörü yapısı ve nasıl  çalıştığı ele alındı.
 ifade1?ifade2:ifade3
#include <stdio.h>
#include <stdlib.h>


int func1()
{
return 0;
}
int func2()
{
return 6;
}

int func3()
{
return 5;
}

int main(void) {

{
/* Koşul operatörünün if karşılığı.
* Aşağıdaki if-else yapısı ile yapılan işlem tek bir koşul operatörü
* ile gerçeklenmiştir.
*/
int condition = 0;
int x = 10;
int y = 5;

if( x > y )
{
condition = x;
}
else
{
condition = y;
}
printf("ifli condition  = %d\n", condition);

/* koşul operatorünün genel yapısı (ifade1 ? ifade2 : ifade3;).
* Koşul operatörü ifade1 deki kısımın sıfır ve sıfır harici bir değer olmasına göre
* ifade2 ve ifade3 'ü işler. Eğer ifade1 sıfır harici değer ise ifade2 işleme alınır.
* Eğer ifade1 sıfır ise ifade3 işleme tabi tutulur.
* Aşağıdaki işlemde x>y karşılaştırılmasında sonuc sıfır harici ise x , sıfır ise y
* nesnesi değeri condition nesnesine atanır.
*/
//
condition = ( ( x > y ) ? x : y );
printf("kosul operatorlu condition  = %d\n", condition);

}

/* Koşul operatörüne örnek aşağıda da verilmiştir */
{
int toplam = 0;

int x = 7;
int y = 6;

toplam = ( (x > y ) ? x : y );
printf("toplam = %d\n", toplam);
}
/* Koşul operatörünün ifade1 kısmı sabit bir değer de olabilir. */
{
int condition = 0;
int x = 5;
int y = 6;
condition = (1)?x:y;
printf("condition = %d\n", condition);
}

/* Koşul operatöründe fonksiyonlar da kullanılabilir. Aşağıdaki örnekte
* ifade1 kısmına func1 fonksiyonu çağrılmış. func1 fonksiyonun geri dönüş değerine
* göre ifade2(func2) veya ifade3(func3) çalıştırılacak. Eğer func1 geri dönüş değeri
* sıfır harici değer dönerse func2 fonksiyonu çalıştırılacak ve ger dönüş değeri
* condition değişkenine atanacak. Eğer func1 çalıştırıldıktan sonra geri dönüş
* değeri sıfır ise func3 fonksiyonu çalıştırılacak ve geri dönüş değeri condition değişkenine
* atanacak.
*/

{
int condition = 0;

condition = func1()?func2():func3();
printf("function condition = %d\n", condition);
}




return EXIT_SUCCESS;
}

Konu ile ilgili video izlemek için tıklayınız.


Hiç yorum yok:

Yorum Gönder