Mobil Programlama

iOS

DERS PROGRAMI
iOS 201 Ders Programı

Mantıksal Operatörler

Lisans: Creative Commons 11.12.2020 tarihinde güncellendi
Bakabileceğiniz Etiketler: Eğitmen: Geleceği Yazanlar Ekibi

Aşağıdaki tabloda C’deki mantıksal operatörler listeleniyor:

Operatör

Sembol

Kullanılışı

İşlem sonucu

Mantıksal AND

&&

 a && b

a ve b’nin her ikisi sıfırdan farklı ise sonuç 1 aksi takdirde 0

Mantıksal OR

||

a || b

a veya b’den biri sıfırdan farklı ise sonuç 1 aksi takdirde sonuç 0

Mantıksal değil

!

! a

a sıfırsa sonuç 1 aksi takdirde sonuç 0

Matematiksel olarak a < b < c şeklinde ifade edilebilen bir özellik, C’de aynı şekilde yazılırsa, önceliklerden dolayı ( a < b ) < c şeklinde yorumlanarak sonuç bulur. Önce a < b kontrolü yapılır, a < b ise 1 sonucu bulunarak 1 < c mukayesesi yapılır. Biz ilk ifadede olduğu gibi, b’nin a ile c arasında olup olmadığını kontrol etmek istiyorsak, ifadeyi a < b && b < c şeklinde yazmalıyız. Böylece a < b ve b < c karşılaştırmalarının her ikisi de doğru iken sonuç doğru alınır yani b’nin a ile c arasında olduğu (ya da tersi durumun söz konusu olduğu) anlaşılır. Aşağıdaki tablo mantıksal AND (&&) ve mantıksal OR(″) operatörleri ve değil operatörü (!) için mümkün olaan durumları veriyor:

 

Mantıksal AND

Operand 1

Operatör

Operand 2

Sonuç

0

&&

Sıfırdan farklı

0

Sıfırdan farklı

&&

0

0

0

&&

0

0

Sıfırdan farklı

&&

Sıfırdan farklı

1

 

 

Mantıksal OR

Operand 1

Operatör

Operand 2

Sonuç

0

||

Sıfırdan farklı

1

Sıfırdan farklı

||

0

1

0

||

0

0

Sıfırdan farklı

||

Sıfırdan farklı

1

 

 

Değil Sembolü

Operatör

Operand

Sonuç

!

Sıfırdan farklı

0

!

0

1

 

Aşağıdaki programda, mantıksal AND, OR ve değil ile ilgili ifadeler kullanıldı.

 

#import <Foundation/Foundation.h>
 
int main(int argc, char* argv[])
{
    int m=4, n=0, p=-2;
    float x=4.5, y=2.2, z=3.4;
    NSLog(@ " \np < 4 && n = % i \n", p < 4 && n);
    NSLog(@"\n (x < y) - ! p || m ++ =% i\n", (x < y) - ! p || m ++);
    NSLog(@ "\n p <= 8 &&y >= 2 && !n ||1 =%i \n", (p <= 8 && y >=2 && !n) ||1);
    NSLog(@"\n(3 * m - !n)* 2&& x - y ||z + y =%i\n\n", ((3 * m - !n)* 2&& x - y) ||z + y);
    return 0;
}

 

PROGRAMIN ÇIKTISI:

 

AÇIKLAMA:

1)

p < 4 &&n

–2 < 4&& 0

1&&0

SONUÇ: 0

 

2)

(x <y) – !p || m++

(4.5 < 2.2) – !(–2) || 4++

0 – !(-2) || 4++

0 – 0 || 4++

0 || 4++

SONUÇ: 1

 

3)

p < = 8 && y > = 2 &&  !n ||1

–2 < = 8 &&  2.2 > = 2 && ! 0 ||1

–2 < = 8 && 2.2 > = 2 && 1|| 1

1 && 1 &&  1 || 1

1 && 1 ||1

1 || 1

SONUÇ:1

 

4)

(3 * m – !n)  * 2  &&  x – y || z + y

(3 * 4 – ! 0) * && 4.5 – 2.2 ||3.4 + 2.2

(3 * 4 – 1) * 2 && 4.5 – 2.2 || 3.4 + 2.2

11 * 2 && 4.5 – 2.2 || 3.4 + 2.2

22  &&  2.3 || 5.6

1 || 5.6

1 || 1

SONUÇ: 1