C# Programlama Karşılaştırma Operatörü

Durum
Üzgünüz bu konu cevaplar için kapatılmıştır...
▃ ▅ ησ ♥ яєѕρєcт ▅ ▃
Süper Üye
Katılım
24 Eyl 2016
Mesajlar
600
Tepki puanı
10
Ödüller
9
9 HİZMET YILI
Karşılaştırma Operatörü

Bu operatör, if-else karşılaştırma deyiminin yaptığı işi sınırlı olarak yapan bir operatördür. Genel yazım biçimi:​
[size=undefined]
     (koşul) ? deyim1 : deyim2;
[/SIZE]

İlk önce koşul sınanır. Eğer koşul olumluysa deyim1 aksi takdirde deyim2 değerlendirilir. deyim1 ve deyim2 de atama işlemi yapılamaz. Ancak koşul deyiminde atama işlemi yapılabilir. deyim1 ve deyim2 yerine fonksiyon da kullanılabilir. Aşağıda bu deyimin kullanımına ait örnekler verilmiştir.​
[size=undefined]
     x = ( a > b ) ? a : b;
[/SIZE]

Yukarıdaki ifadede koşul a'nın b'den büyük olmasıdır. Eğer olumluysa x adlı değişkene a, değilse b değeri atanır. Bu şekilde kullanım if-else yapısı ile kurulmak istenirse:​
[size=undefined]
     if( a > b )  x = a;
     else         x = b;
[/SIZE]

şeklinde olacaktır. Program 6.7 ? karşılaştırma operatörünün basit bir kullanımını göstermektedir.​
[size=undefined]
Bağlantıları görmek için lütfen Giriş Yap
 ? ve if kullanımı
01:
02:
03:
04:
05:
06:
07:
08:
09:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:

/* 06prg07.c: ? ve if-else yapısının kullanımı */

#include <stdio.h>

int main(void)
{
   float x, y, z;

   printf("x : "); scanf("%f",&x);
   printf("y : "); scanf("%f",&y);

     if(y)                        /* y, 0'dan farklı mı? */
       z = ( y > x ) ? x/y : x*y; /* y>x ise z = x/y, değilse z = x*y  */
     else
       z = 0.0;

   printf("z = %f\n",z);

return 0;
}


ÇIKTI

x : 3
y : 5
z = 0.600000


ÇIKTI

x : 11
y : 0
z = 0.000000

[/SIZE]

12. satırdaki if deyimindeki koşul biraz farklıdır. Genel olarak koşul bu şekilde bildirilirse, koşulun 0 dan farklı olup olmadığı sınanır. Yani:​
[size=undefined]
     if(y)
ile
     if( y != 0 )
aynı anlamdadır.[/SIZE]

Bu kullanım çok yagındır. Eğer y, 0 dan farklı ise koşul olumlu olarak değerlendirilecektir. 13. satırda ? ile bir sınama yapılmaktadır. Eğer y, x den büyük ise z değişkeninex/y, aksi takdirde x*y değeri atanmaktadır. Eğer y = 0 ise z değişkenine 0 değeri atanmaktadır.​
 
Durum
Üzgünüz bu konu cevaplar için kapatılmıştır...
Üst