Eylül 2018

20 Eylül 2018 Perşembe

TR | "C" Programlamaya Giriş [ Bölüm 1 ]


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

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