Sunuyu indir
Sunum yükleniyor. Lütfen bekleyiniz
YayınlayanYucel Karabulut Değiştirilmiş 10 yıl önce
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?*/
Benzer bir sunumlar
© 2024 SlidePlayer.biz.tr Inc.
All rights reserved.