hasan yasin abinin önerisi ile önce C öğrenme kararı aldım.kazaa'dan 20MB İng. pdf çektim C ile ilgili.İlk kısımlarını okudum.Yalnız İngilizce oluşundan da dolayı bi iki şeyi anlayamadım.
<< ve >> operatörleri neye yarar?pointer nedir neye yarar?
Döngüleri hiç anlayamadım hele for'u bi ara oturup anlamaya kasıcam
C programlamanın latincesi
Bu başlık kilitlidir. Yeni mesajlar gönderilemez veya mevcut mesajlar düzenlenemez.2<x<10
böyle bi olayı c de yazman için <<ve>> operatörüne ihtiyacın var çünkü böyle bi yazılımı c anlamıyo o yüzden ona
2<x && x<10 diye anlatman lazım
diğerlerine bende daha gelemedim :)
Sevgili arkadaşlar, azminizi ve istekli tutumunuzu tebrik ediyor ve sizi desteklediğimi tekrardan belirtmek istiyorum. Lakin underdark'tan bir ricam olacak, başlığın değişmesiyle ilgili. "C programlamanın latincesi" dediğimiz zaman bir isim tamlaması kurmuş oluyoruz ve şu anlaşılıyor bu konuyla ilgili olarak: C programlama diye bir şey var, bir de bu işin latincesi var. Eğer "C: Programlamanın Latincesi" yazarsak, amacımızı doğru bir şekilde ifade etmiş oluruz sanırım.
Gelelim <<, >>, < ve > operatörlerinin ne anlama geldiğine. Öncelikle, daha basit olan < ve > operatöründen bahsedelim. Bu iki operatör, kıyaslama yapmamıza yarıyor. Bu operatörleri kullandığımız bir ifade, doğru [true] ya da yanlış [false] değerini döndürür. Yani, 5>4 dediğimizde bu operatör bize "doğru" sonucunu döndürecek ve bu koşula bağladığımız kodlarımız varsa, çalıştırılacaktır.
<< ve >> ise daha farklı. Bunlar C'de "shift" [öteleme] operatörleri olarak anılırlar ve operatörün solundaki ifadeyi, sağdaki kadar bit ötelerler. Biraz karışık mı oldu ne?
Mesela 4<<5 yazdığımız zaman ne yapmış oluruz? 4 sayısını bellekteki 16 bitlik bir alana yazdığımız düşünelim. Bu 16 bitlik alandaki değerler şöyle olacaktır:
0000 0000 0000 0100
[Bunlar çok zor şeyler değil. Biraz düşünseniz anlarsınız. Bilgisayar hep bu 0-1 ikilisiyle çalışıyor zaten.]
4<<5 yaptığımız zaman, bu değeri 5 bit sola kaydırmış oluruz. Bu da soldaki 5 bitin silinip gitmesi, sağa da 0 değerli 5 bit eklenmesi anlamına gelir:
0 0000 0000 0000 1000 0000
[Atılan bitleri lacivert, eklenenleri de yeşille gösterdim.]
Yeni değerimiz [0000 0000 1000 0000] kaç oldu peki? 128 oldu. Bunu, ikilik sistemden, ondalık sisteme çevirme yapabilen herkes anlamıştır zaten. Peki o zaman sola 5 bit kaydırmak ne anlama geliyor? Birazcık düşününce anlarız ki, bir değeri sola 5 bit kaydırmak, o değeri 2 üzeri 5 ile çarpmak anlamına gelir. Aynı şeyi >> operatörüyle yaparsak, yani sağa 5 bit kaydırırsak, o zaman da bu değeri 2 üzeri 5 sayısına bölmüş oluruz...
<< >> operatörleri C++'ta input-output [girdi-çıktı] operatörleri aynı zamanda. Bunu da öğrenmek istiyorsanız ayrıca bahsedebiliriz...
Gelelim "for" olayına. Programcıların en sevdiği şeylerden biridir sanırım döngüler. [Yani en azından benim için öyle.] Bir döngüyü anlatabilmek için, matematikteki toplam çarpım sembollerinin de birer döngü olduğunu söylememin yararı olur sanırım. Bir for döngüsünü kısaca anlatalım şimdilik ve mesajımı tamamlayayım...
for (ifade1;ifade2;ifade3) { ...kod... }
Standart bir for döngüsünün sözdizimi bu.
ifade1: Sadece döngü başlarken, bir defaya mahsus çalıştırılır.
ifade2: Bu ifade "doğru" ya da "yanlış" değerini döndüren bir ifade olmalıdır. C'de 0'ın yanlış, diğer tüm sayıların "doğru" anlamına geldiğini de hatırlatayım.
ifade3: Bu ifade ise, döngünün çalıştığı her seferde çalıştırılır. { ifadesinden sonraki ilk satır olduğunu düşünebilirsiniz.
...kod... : Bu da döngünün her devredişinde bir kez çalıştırılacak koddur.
Umarım her şey anlaşılmıştır... Anlaşılmayan bir şey olursa, gene sorun, çekinmeyin...
İyi güzel de shift operatörü nerde kullanılıyo o zaman
Programcılıkta ilerlemeye başladıkça bunu çok iyi anlayacaksın sevgili underdark...
C'nin en güzel [bazıları için de en kötü] yanı bizi bellekle baş başa bırakması. İstediğimiz zaman, byte'larla yakından ilgilenebiliyoruz. Burada da olduğu gibi...
Bunu kullanabileceğimiz bir sürü yer var ve çalışmaya devam ettikçe, bir şeyler ürettikçe daha da açık hale gelecek.