Amiga Dünyası sayı 10, sayfa 29

Bu sayfadaki yazılar

Sayfanın metni

Sayfa 29

Burada da c=255 olur.

<< operatörü, bir değişkeni istediğimiz sayıda sola bir bit kaydırmamıza (shift) yarar.

n= x « 2;

Örnekten de anlaşılacağı gibi, bu işlemin sonunda x değişkeninin bitleri 2 bit sola kayar. Yani diğer bir deyişle x değişkeninin değerini 4 ile çarpmış oluruz, n = x >> 2 örneğinde ise x bitlerinin tamamını sağa kaydırmış yani 4'e bölmüş oluruz.

Aşağıdaki örnek ise, verilen integer değişkenindeki 1 olan bitleri saymaktadır.

bitcount(n) int n;

{

intb;

for(b=0;n!=0;n»=l)

if(n& l)b++;

return(b);

EŞLEME OPERATÖRLERİ: Eşleme işlemlerinde çeşitli kullanım kolaylıkları sağlanmıştır. i=i+2 yerine C dilinde, i+=2 yazmak mümkündür. Burada + (artırma) işlemi yapılmıştır. Bu operatörün yerine +, -, *, /, %, <<, >>, &, ^ ve | operatörleri de kullanılabilir.

ŞARTLI OPERATÖRLER: if(a>b) z=a; else z=b; Bu örnekte z, en büyük değeri alacaktır. C dilinde bunu yapmanın ikinci ve pratik bir yolu da, ?: ikilisidir. Genel gösterim e1 ? e2 : e3 şeklindedir, e1 şartlı ifade, e2 ve e3 ise bu ifadenin doğruluğuna bağlı olarak oluşan iki ifadedir. (a>b) ifadesinin sıfırdan farklı yani "doğru" olması durumunda z=a, aksi takdirde de z=b olacaktır. Burada (a>b) e1, a e2, b e3'e eşittir, e1, e2 ve e3 ifadeleri farklı türlerde olabilir. for(i=0;i<100;i+=10) for(j=1;j<=10;j++) printf("%d",i+j,(j==10) ? '\n' : ' '); Yukarıdaki örnekte, her ona kadar sayım sonucunda yeni bir satıra geçilir. OPERATÖR İŞLEM ÖNCELİK SIRASI: İşlemin doğru olabilmesi için operatör işlem öncelik sıralarını bilmek gerekmektedir. Ayrıca bu işlemlerin hesaplama yönleri de önem taşımaktadır. Genel olarak işlem öncelik sıraları ve yönleri şöyle sıralanmaktadır; Operatör İşlem yönü ( ) [ ] -> . soldan sağa ! ++ -- (tür) * & sizeof sağdan sola * / % soldan sağa + - soldan sağa << >> soldan sağa

<<= >>= soldan sağa == != soldan sağa & soldan sağa ^ soldan sağa | soldan sağa && soldan sağa || soldan sağa ?: sağdan sola = += -= ve benzerleri sağdan sola , soldan sağa şeklindedir. x=f() + g() örneğinde ise, sırasıyla g() ve f() fonksiyonları hesaplanır ve x'e aktarılır.

printf("%d %d ", ++n, power(2,n));

Buradaki kullanım şekli yanlıştır. Çünkü önce fonksiyon hesaplanacak sonra n bir artırılacaktır.

++n; printf("%d %d ", -H-n, power(2,n));

kullanımı daha doğrudur. Buradan da anlaşılacağı gibi öncelik sıralarını bilmek, programın doğruluğunu sağlamak için gereklidir.

Bu aylık bu kadar. Gelecek ay, program akış kontrollerini sağlayan cümleler ve bloklar, IF-ELSE ELSE-IF ikilileri, SWITCH, WHILE, FOR, DO-WHILE, BREAK, CONTINUE ve GOTO komutlarını toplu olarak göreceğiz.

Hoşçakalın...

Klavyeyle gezinmek için ← ve → tuşları.