C programlamanın latincesi

Bu başlık kilitlidir. Yeni mesajlar gönderilemez veya mevcut mesajlar düzenlenemez.
underdark
16-02-2004, 14:52   |  #1  
OP Üye
Teşekkür Sayısı: 0
50 mesaj
Kayıt Tarihi:Kayıt: Şub 2004

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

small_ticket
16-02-2004, 14:56   |  #2  
Yıllanmış Üye
Teşekkür Sayısı: 0
167 mesaj
Kayıt Tarihi:Kayıt: Şub 2004

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 :)

hasanyasin
16-02-2004, 16:26   |  #3  
Yıllanmış Üye
Teşekkür Sayısı: 0
1,100 mesaj
Kayıt Tarihi:Kayıt: Oca 2004

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. Gülümseme 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? Gülümseme

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...Gülümseme

underdark
19-02-2004, 13:14   |  #4  
OP Üye
Teşekkür Sayısı: 0
50 mesaj
Kayıt Tarihi:Kayıt: Şub 2004

İyi güzel de shift operatörü nerde kullanılıyo o zaman

hasanyasin
19-02-2004, 18:34   |  #5  
Yıllanmış Üye
Teşekkür Sayısı: 0
1,100 mesaj
Kayıt Tarihi:Kayıt: Oca 2004

Programcılıkta ilerlemeye başladıkça bunu çok iyi anlayacaksın sevgili underdark... Gülümseme

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... Gülümseme

Bunu kullanabileceğimiz bir sürü yer var ve çalışmaya devam ettikçe, bir şeyler ürettikçe daha da açık hale gelecek.