Sunum yükleniyor. Lütfen bekleyiniz

Sunum yükleniyor. Lütfen bekleyiniz

Öğrenilmesi gerekenler: Operatör, operand Öncelik sırası

Benzer bir sunumlar


... konulu sunumlar: "Öğrenilmesi gerekenler: Operatör, operand Öncelik sırası"— Sunum transkripti:

1 Öğrenilmesi gerekenler: Operatör, operand Öncelik sırası
OPERATÖRLER Öğrenilmesi gerekenler: Operatör, operand Öncelik sırası

2 Operatör nedir? Operatörler, nesneler veya sabitler üzerinde önceden tanımlanmış birtakım işlemleri yapan atomlardır.

3 C de her ifade en az bir operatör içerir.
c=a*b/2; 3 operatör var: =*/ d=fonk(); 2 operatör var: =() c=a>4; 2 operatör var: => ++x; 1 operatör var: ++

4 Her operatörün operandları vardır
Her operatörün operandları vardır. Operandlar operatörlerin işleme soktukları nesneler ya da sabitlerdir. a+b operatör: +, operandları: 2 tane a,b c++ operatör: ++, operandları: 1 tane c b>c operatör: >, operandları: 2 tane b,c

5 Yüksek Öncelik Düşük Öncelik

6 UYARI Operatörlerin içinde bir kısmı soldan sağa incelenir,
Bir kısmı da sağdan sola incelenir.

7 > >= < <= soldan sağa == != soldan sağa && soldan sağa
Operatörlerin hangi yönde önceliklerine bakılacağını gösteren tablo () soldan sağa ! sağdan sola * / % soldan sağa + - soldan sağa > >= < <= soldan sağa == != soldan sağa && soldan sağa || soldan sağa = sağdan sola

8 Operatörler arasındaki öncelik ilişkisi
c=a+b*2; ifadesi derleyici tarafından şu sırada ele alınır. işlem1: b*2; işlem2: a+işlem1; işlem3: c=işlem2;

9 x=a*b-2/3; işlem1: a*b; işlem2: 2/3; işlem3: işlem1 – işlem2; İşlem4: x=işlem3; Aynı önceliğe sahip olan operatörler arasında işlem sırası iki şekilde de olabilir.

10 a=x-b/2*c; Bölme ve çarpma operatörleri aynı önceliğe sahiptir. İ1: b/2 İ2: İ1*c İ3: x-İ2 İ4: a=İ3

11 C de atama operatörü sağdan sola öncelikli operatördür.
a=b=c; İ1: b=c İ2: a=İ1

12 a=(b+2)*80; İ1: (b+2) İ2: İ1*80 İ3: a=İ2

13 Operatörleri 3 sınıfa sınıflandırılır
İşlevlerine göre Operan sayılarına göre Operatörün konumuna göre

14 İşlevlerine göre operatörler
Aritmetik İlişkisel Mantıksal Bit Gösterici Özel amaçlı operatörler İlk 3 tanesi diğer programlama dillerinde olabilir. Bit ve gösterici operatörleri bir çok programlama dillerinde olmazlar.

15 Aritmetik operatörler
Dört işlemle ilgili olan; * çarpma / bölme % mod alma (bölümden kalan) + toplama - çıkartma

16 İlişkisel(karşılaştırma)operatörleri
> büyük < küçük >= büyük yada eşit <= küçük yada eşit == eşit != eşit değil

17 Mantıksal operatörler
! Değil (not) && ve (and) || veya(or)

18 Bit operatörleri ~ değil << sola kaydırma >> sağa kaydırma
& ve ^ özel veya | veya

19 Gösterici operatörleri
* içerik alma & adres alma [ ] indeks ->

20 Özel amaçlı operatörler
( ) fonksiyon çağırma ve öncelik değiştirme . Yapı elemanlarına erişme (tür) tür değiştirme ?: koşul = atama +=, *=, /=,… işlemli atama

21 Aritmetik operatörler
Aritmetik operatörler öncelik sırası ++ -- sağdan sola c=10%4+1; İ1:10%4 2 İ2:İ1+1 3 İ3:c=i2 3

22 Artırma(++) Eksiltme(--)
++, 1 artır eksilt anlamındadır. ++a ile a++; ikisi de aynı anlamdadır. a=a+1; --a ile a--; ikisi de aynı anlamdadır. a=a-1;

23 #include<stdio.h> void main(void) { int a,b; a=10; b=++a;
printf("a=%d b=%d\n",a,b); b=a++; printf("a=%d b=%d\n", a,b); } a ve b değerlerini yorumlayınız.

24 İlişkisel operatörler
C’de ilişkisel operatörlerin ürettiği değer, koşul sağlanıyorsa 1, sağlamıyorsa 0 değerini üretir. a=5>2; /*a=1*/ b=3==3 /*b=1*/ c=4<=1 /*c=0*/

25 z=y<=x+10; /*z değeri nedir?*/ a=5; b=10;
c=a==10<b+1; /*c değeri nedir?*/ Ödev: a=10*2+1>=4*4+5==5>5-3*2; /*a değeri nedir?*/ 1 0 1

26 İ1: 10*2 20 İ2: 4*4 16 İ3: 3*2 6 İ4: İ İ5: İ İ6: 5-İ3 -1 İ7: İ4>=İ5 1 İ8: 5>İ6 1 İ9: İ7==İ8 1 İ10: a=İ9 Sonuç a=1

27 Mantıksal operatör ! değil tek operandlı && ve iki operandlı
|| veya iki operandlı İlişkisel operatörlerde; koşul sağlanıyorsa 1, sağlamıyorsa 0 değerini alır. Mantıksalda ise; Sayı 0 ise YANLIŞ, sıfır değil(sıfır dışında bir sayı) ise DOĞRU değerini alır.

28 a=!6 /*a nin değeri nedir?*/
6 sayısı sıfır dışı bir sayı olduğu için DOĞRU dur. Ancak “!” ile bunun tersi alınmıştır. Doğrunun tersi yanlıştır. Sonuç yanlış olacaktır.

29 Ödev 1 b=10+4>5+!2; /*b nin değeri nedir?*/ İ1:!2 0 İ2:10+4 14
İ4:i2>i3 1 İ5:b=i4 1 Sonuç 1 dir.

30 Ödev 2 a=10; b=!++a>10!=5; /*b nin değeri nedir?*/ i1: ++a 11
i2: !i1 0 i3: i2>10 0 i4: i3!=5 1 i5: b=i4 1 sonuç 1 dir.

31 Ve(and) - && operatörü İlişkisel operatörlerin hepsinden düşük önceliklidir. Operandların ikisi doğru ise doğru(1) değerini, operandların bir tanesi yanlış ise yanlış değerini(0) alır. a=4 && 0; /*a değeri 0 dir*/ b=10 && -4 /*b değeri 1 dir*/ c=0 && 0 /*c değeri 0 dir*/ Yani bir operand 0 ise sonuç 0 dır.

32 ödevler a=5; b=!a>10&&fonk()==10; /*b nin değeri nedir?*/ a=15;
x=a>=10&&a<=20; /*x nin değeri nedir?*/


"Öğrenilmesi gerekenler: Operatör, operand Öncelik sırası" indir ppt

Benzer bir sunumlar


Google Reklamları