Herkese selamlar, uzun zamandır ilgilenemediğim blogumda yeni bir yazı serisi başlatmaya karar verdim.
Bu yazı serisinde temelden ileri bir seviyeye kadar "c" programlama ile ilgili birçok bilgiye yer vereceğim. Derleyici olarak GCC kullanacağım.
GNU Compiler Collection [GCC]
GNU Linux dağıtımlarının vazgeçilmez derleyicisidir. Terminalde çalışır. Daha önceden sadece "c" compile ettiği için gnu "c" compiler denilirmiş.
Sonradan diğer diller de eklenince
GCC olarak hitab edilmeye başlanmış.
Algoritma
Algoritmaya kısaca belirli bir problemi veya ulaşılmak istenen yeri en kısa ve masrafız şekilde bulmak için yapılan işlemlerin bütünü diyebiliriz.
Örnek ile pekiştirelim
İki sayıyı toplamak için gerekli programa ait algoritmanın oluşturulması
Algoritma:
1. X değerini gir
2. Y değerini gir
3. Z ? X+Y
4. Z' yi yaz
5. Bitir.
Görüldüğü üzere bu şekilde bir algoritma ile çözüm yolunu izlemek daha kolaydır.
Bir problemin çözümü için birden çok yol olabilir. Algoritma bize en kısa ve en masrafsız yolu bulmamızda yardımcı olur
Toparlamamız gerekirse, Bir problemin çözümü için 3 farklı yol olduğunu varsayalım
A
B
C
A yolu bizi sonuca çok kısa bir süre de ulaştırsa da çok masraflıdır. Burda kastedilen masraf ise ram cpu gibi donanımların yüksek oranda kullanılması.
B yolu ram cpu gibi bileşenleri fazla yormuyor fakat çok yavaş çalışıyor. Bu yol bize zamandan kaybettiriyor.
C yolunda ise hem ram cpu bileşenler az kullanılıyor hem de hızlı bir şekilde problemin çözümüne ulaşıyoruz.
C Programlama
1972 de "Dennis Ritchie" tarafından AT&T Bell Laboratuarlarında B dilinden geliştirildi.
C Dilinin Özellikleri
1- C dili donanımdan bağımsız (machine independent) ve taşınabilirdir (portable).
2 - Taşınabilirlik, aynı programın farklı donanımlarda ve farklı işletim sistemlerinde
işletilebilirliğini ifade eder.
3- Bir dilin verimliliği (productivity), hızlı fakat fazla yer kaplamayan yazılımlar geliştirmeye olanak
sağlaması ile ölçülür.
Bir "C" programı iki bölümden oluşur.
Preprocessor Directives yani önişlemci direktifleri
Main Function birde ana fonksiyon
Önişlemci direktifleri # ile başlar ve henüz program derlenmeden "c" önişlemcisi tarafından işletilir.
#include ve #define en sık kullanılanlardır. Hepsinin farklı görevleri vardır.
Sıklıkla kullanacağımız #include direktifi program içerisinde kullanılan fonksiyonlar için gerekli kodları programa dahil etmek için kullanılır.
Hello World!
Yazdığımız programın ekrana hello world yazdırmasını istiyoruz. Bunun için "c" dilinin standart fonksiyonu olan printf i kullanacağız
Ancak bu fonksiyonu çalıştırabilmemiz için <stadio.h> dosyasına ihtiyacımız olacak.
O halde programımızın tepesi şu şekilde olmalı
#include <stadio.h>
Bir sonra ki fonksiyonumuz main() bu fonksiyon tüm "c" programlarında bulunması gereken ana fonksiyondur. Yazılan kodlar ise küme parantezleri içerisine yazılır {}
Dosya uzantımız "c" gcc ile derleyip sonucu almak istiyoruz.
Komut satırını açtıktan sonra
gcc berk.c -o program
Komudunu kullanıyoruz. Burda gcc den berk.c dosyasını derleyip output olarak program isminde bir dosya çıkarmasını istiyoruz. Ardından ./program ile çalıştırıyoruz
İkinci bölümde görüşmek üzere sağlıcakla kalın