Sunum yükleniyor. Lütfen bekleyiniz

Sunum yükleniyor. Lütfen bekleyiniz

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

Benzer bir sunumlar


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

1 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. Operandlar operatörlerin işleme soktukları nesneler ya da sabitlerdir. •a+boperatör: +, operandları: 2 tane a,b •c++ operatör: ++, operandları: 1 tane c •b>c operatör: >, operandları: 2 tane b,c

5 Düşük Öncelik Yüksek Ö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 ! ++ --sağdan sola * / %soldan sağa + -soldan sağa > >= < <=soldan sağa == !=soldan sağa &&soldan sağa ||soldan sağa = sağdan sola Operatörlerin hangi yönde önceliklerine bakılacağını gösteren tablo

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 1.Aritmetik 2.İlişkisel 3.Mantıksal 4.Bit 5.Gösterici 6.Ö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 •= 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 •<>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+13 •İ3:c=i23

22 Artırma(++) Eksiltme(--) •++, 1 artır -- 1 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 void main(void) { int a,b; a=10; b=++a; printf("a=%d b=%d\n",a,b); a=10; b=a++; printf("a=%d b=%d\n", a,b); }

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 x=10; y=20; z=y<=x+10; /*z değeri nedir?*/ a=5; b=10; c=a==10=4*4+5==5>5-3*2; /*a değeri nedir?*/

26 •İ1: 10*220 •İ2: 4*416 •İ3: 3*26 •İ4: İ1+121 •İ5: İ2+521 •İ6: 5-İ3-1 •İ7:İ4>=İ51 •İ8: 5>İ61 •İ9: İ7==İ81 •İ10: a=İ9 •Sonuç a=1

27 Mantıksal operatör •!değiltek operandlı •&&veiki operandlı •||veyaiki 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:!20 İ2: İ3:5+i15 İ4:i2>i31 İ5:b=i41 Sonuç 1 dir.

30 Ödev 2 •a=10; •b=!++a>10!=5; /*b nin değeri nedir?*/ •i1: ++a11 •i2: !i10 •i3: i2>100 •i4: i3!=51 •i5: b=i41 •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?*/


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

Benzer bir sunumlar


Google Reklamları