10.11.2014 Views

Amiga Dunyasi - Sayi 02 (Temmuz 1990).pdf - Retro Dergi

Amiga Dunyasi - Sayi 02 (Temmuz 1990).pdf - Retro Dergi

Amiga Dunyasi - Sayi 02 (Temmuz 1990).pdf - Retro Dergi

SHOW MORE
SHOW LESS

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

DİLLER<br />

AMIGA<br />

ERDEM TAYLAN<br />

Bu ayki C yazıma üzülerek geçen sayıdaki<br />

önemli iki hatayı düzelterek başlamak<br />

istiyorum:<br />

Geçen ayki sayıda Aztec C'nin daha<br />

hızlı çalışmasını sağlamak amacıyla compiler'ın<br />

yaptığı ara işlemlerin Ram Disk'-<br />

te gerçekleşmesi gerektiğini belirtmiştim.<br />

Bunu yapabilmek için gerekli adımları da<br />

Kutu l'de belirtmiştim. Fakat Kutu l'de<br />

dizgi sırasında olan bir hata sonucu dördüncü<br />

adım atlanmış ve beşinci adım<br />

dördüncü adımın yerine yazılmış. Sizin<br />

de hatayı farkettiğinizi sanıyorum. Çünkü<br />

kutuda dört numaralı adımdan altı<br />

numaralı olana atlanıyor. Yapılan işlem<br />

Aztec C'de rahat çalışabilmek için oldukça<br />

önemli olduğundan bu ayki yazımda,<br />

birinci kutuda geçen ayın birinci kutusunu<br />

tekrarlıyorum. İkinci hata ise iki, üç<br />

ve dört numaralı kutularda. Hata şu: "\"<br />

(backslash) işaretleri yerine "/" (slash)<br />

işareti konmuş. Öyleyse bu ay yapacağınız<br />

ilk iş hataları düzeltmek. Öncelikle<br />

birinci kutudaki adımları yapın. Daha<br />

sonra geçen ayın dergisini açarak ikinci,<br />

üçüncü ve dördüncü kutulardaki "/"<br />

işaretlerini "\" işaretine çevirin. Böylece<br />

denediğinizde çalışmacuğını gördüğünüz<br />

adımların gerçekleştiğini göreceksiniz.<br />

Ayrıca derginizin bu gibi dizgi hatalarına<br />

karşı çok duyarlı olduğunu ve<br />

hatanın ilk sayı kargaşasından dolayı ortaya<br />

çıktığını belirtmek isterim.<br />

Hatamızı düzelttikten sonra artık biraz<br />

C konuşmaya başlayabiliriz sanırım.<br />

AMIGA DÜNYASI 32<br />

C DÜNYASI<br />

Bence (ve sanırım sizce de) bir dili öğrenmenin<br />

tek yolu, o dilde programlar<br />

yapmaktır. Bundan dolayı isterseniz C<br />

dünyasına çabuk bir giriş yapalım. Buradaki<br />

amacım, dilin önemli özelliklerini<br />

size gerçek programlarla göstermek.<br />

Dolayısıyla bu aşamada size C'nin tüm<br />

olanaklarını değil, genel kavramlarını<br />

göstermeye çalışacağım.<br />

Bütün dillerde öğrenilen ilk program,<br />

adınızı yazdırmaktır. C'de bunu yapmanın<br />

yolu aşağıdaki gibidir:<br />

Main ()<br />

{<br />

printf ("Erdem Taylan\n");<br />

}<br />

Bu programı nasıl derleyip çalıştıracağınızı<br />

merak ediyorsanız, hemen ikinci<br />

kutuya bakın ve merakınızı giderin.<br />

Şimdi programla ilgili açıklamalar:<br />

Herhangi bir C programı ne konuda<br />

olursa olsun bir veya daha fazla fonksiyondan<br />

oluşur. Bu fonksiyonlar Basic<br />

veya Fortran'daki subrutinlere benzer.<br />

Örneğimizdeki Main 'de bu fonksiyonlardan<br />

biridir. Normalde C fonksiyonlarına<br />

istediğiniz ismi verebilirsiniz. Fakat<br />

Main özel bir fonksiyonun adıdır. Programınız<br />

Main adlı fonksiyonun başladığı<br />

yerden çalışmaya başlar. Bu demektir<br />

ki, programınızın çalışması için bir yerlerde<br />

Main adlı bir fonksiyonun mutlaka<br />

olması gerekli. Main fonksiyonunun<br />

yaptığı iş genellikle programın diğer<br />

fonksiyonlarını harekete geçirmektir.<br />

Dolayısıyla Basic'te olduğu gibi programınızdaki<br />

her değişiklikte ana programı<br />

tekrar düzenleme zorunluluğu ortadan<br />

kalkmış olur. C'de böyle bir durumda<br />

yapacağınız iş programdaki yardımcı<br />

fonksiyonları değiştirmektir.<br />

C'deki fonksiyonlar birbirleriyle argü-<br />

manlar yoluyla haberleşirler. Argümanlar,<br />

fonksiyon adından sonra gelen<br />

"( )" parantezler içinde belirtilir. Bizim<br />

programımızdaki Main hiçbir argümanı<br />

olmayan bir fonksiyon olduğu için parantezlerin<br />

içi boş durumda. Main satırından<br />

sonraki süslü parantezler ("{" veya<br />

"}") ise, programı oluşturan satırları<br />

sınırlamak için kullanılmakta. Bir fonksiyon,<br />

ana isim ve hemen isimden sonra<br />

parantez içinde argüman listesi yazılarak<br />

tanımlanır. Fonksiyonları çağırmak için<br />

sadece adının yazılması yeterlidir. Dolayısıyla<br />

Basic'te olduğu gibi "CALL<br />

fonksiyon-ismi (argümanlar)" yerine sadece<br />

"fonksiyon-ismi (argümanlar)"<br />

yazmanız yeterli. Fonksiyon isminden<br />

sonraki parantezler, hiçbir argüman yoksa<br />

da mutlaka gerekli (Main'de olduğu<br />

gibi). Programdaki;<br />

printf ("Erdem Taylan\");<br />

satırı bir fonksiyonun -bu durumda<br />

printf- çağrılmasını göstermektedir. Burada<br />

printf'in argümanı "Erdem Tayland'dır.<br />

Buradaki printf, C kütüphanelerindeki<br />

bir fonksiyondur.<br />

Printf'in argümanı içindeki "\n",<br />

"Erdem Taylan" yazısından sonra bir<br />

satır atlanmasını sağlamaktadır. Yani<br />

printf, bir argümanı ekrana yazdıktan<br />

sonra otomatik olarak bir satır atlamamaktadır.<br />

Bunu göstermek için ilk programının<br />

değişik bir versiyonunu üçüncü<br />

kutuda bulabilirsiniz.<br />

Dikkat ederseniz "\n" sadece tek bir<br />

karakter gibi düşünülmektedir (bu durumda<br />

new line = yeni satır) karakteri).<br />

C "\n"den başka; tab karakteri için<br />

"\t", backspace (geri silme) için "\b",<br />

çift tırnak için "\"" ve backslash'in kendisi<br />

için "\\" karakterlerini bize sunmaktadır.<br />

DEĞİŞKENLER<br />

VE ARİTMETİK<br />

Yazacağımız ikinci program, size C'de<br />

değişken kullanımının ve aritmetik işlemlerin<br />

nasıl yapıldığını göstermek için hazırlandı.<br />

Programı yazmak için, dördüncü<br />

kutudaki adımları uygulayın ve programın<br />

çalışmasından sonra tekrar buraya<br />

gelin (bekliyorum?).<br />

Programdaki ilk iki satır:<br />

/*bu program Fahrenheit-Celsius sıcaklık<br />

tablosunu O'dan 300'e kadar sıcaklıklar<br />

için çıkarır*/<br />

bir açıklamadır (comment). "/*" ve<br />

"*/" işaretleri arasında kalan her türlü<br />

bilgi, compiler (derleyici) tarafından<br />

açıklama olarak değerlendirilir ve işleme<br />

konmaz. Açıklamalar programda herhangi<br />

bir yerde olabilirler ve Basic'teki<br />

REMark'larla aynı görevi yaparlar.<br />

C'de bütün değişkenler kullanılmadan

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!