Ünitenin tamamını tek sayfada görPremium
Üst düzey dillerden biri ile yazılmış olan bir programı, makine diline çeviren yazılımlara derleyici denir. C++ gibi diller de bu kapsamda değerlendirilir. C programlama dili, günümüz yazılım dünyasında pek çok farklı avantajı beraberinde getiren orta sınıf bir dil olarak kabul edilmektedir.
C dilini diğer programlama dillerinden ayıran en temel özellikler; orta sınıf yapıda olması, yapısal bir programlama dilini benimsemesi, gerçek programcılar tarafından kabul görmüş olması ve farklı bilgisayar mimarilerine kolayca adapte edilebilmesidir.
Genel amaçlı bir dil olarak tasarlanan C, kişisel bilgisayarların (PC) BASIC veya PASCAL gibi dillerle ulaşılamayan donanım katmanlarına erişmesini sağlar. Bu esneklik, uygulama programcılarının C dilini tercih etmesindeki en büyük etkenlerden biridir.
C dili kullanırken yapılan mantıksal veya yapısal hataların düzeltilmesi bazen zahmetli olabilir; öyle ki bazı durumlarda en basit hata yalnızca bilgisayarı kapatıp açarak düzeltilebilir. Bu nedenle C dilinde dikkatli kod yazmak büyük önem taşır.
C dili, kişisel bilgisayarların ortaya çıkışından çok daha önce, 1970'li yılların başında AT&T tarafından mini bilgisayarlarda kullanılmak üzere tasarlanmıştır. Kısa sürede büyük bir beğeni toplayan bu dil hızla yaygınlaşmıştır.
Geliştirilen bu dil, zamanla dünyaca ünlü UNIX adı verilen işletim sisteminin oluşturulmasında temel araç olarak kullanılmıştır. 1978 yılında American National Standards Institute (ANSI) tarafından standart hale getirilmiştir.
Yapısal programlama kavramı, yazılım geliştirme sürecindeki karmaşıklığı azaltmayı amaçlar. Programların daha kolay anlaşılabilir, okunabilir, geliştirilebilir ve değiştirilebilir bir biçime getirilmesini sağlayan genel bir programlama yöntemidir.
Kaynak kodların yazılması aşamasında metin kütükleri oluşturulur. Bu kütükleri yazmak için standart bir metin editörü veya kelime işlemci kullanılmalıdır, çünkü pek çok derleyicinin kendine ait dahili bir editörü bulunmaz.
C çevresi, metin editörünü ve derleyiciyi tek bir yazılım programında birleştirerek program yazma ve düzenleme (edit etme) süreçlerini büyük ölçüde kolaylaştırır. Ayrı programlar kullanma zorunluluğunu ortadan kaldırır.
Bir program oluşturmak için doğrudan C editörüne girilerek program metni yazılır. Kodların tamamı yazıldıktan sonra, derleyiciye harici bir dosya kaydetme zorunluluğu olmaksızın doğrudan editör içerisinden erişilebilir.
Üzerinde çalışılan kütük bellekte tutulduğu için birleşik çevre, ayrı derleyicilere kıyasla derleme işlemlerini çok daha hızlı gerçekleştirir. Ayrıca bu yapı, hataların yerini doğrudan gösterme yeteneğiyle geliştiriciye zaman kazandırır.
Birleşik C çevresinde temel işleyiş döngüsü; programın yazılması, işletilmesi, gerektiğinde değiştirilmesi ve tekrar işletilmesi adımlarından oluşur. C programlamada sıkça kullanılan menüler, kullanıcılara yapabilecekleri işlemleri net bir şekilde gösterir.
Bütün C programları bir dizi tümceden (statement) oluşur. Genellikle tek bir eylem olarak düşünülen tümceler bir dizi sözcük veya komuttan meydana gelir ve C dilinde her tümcenin sonuna mutlaka ';' (noktalı virgül) karakteri konulur.
Tümceler genel olarak iki temel gruba ayrılır: işletilebilen tümceler ve bildirim tümceleridir. İşletilebilen tümceler işlem yapabilen komutlar içerir ve bu tür tümcelerin bir blok içine ({ } parantezleri) yerleştirilmesi zorunludur.
Bildirim tümceleri ise programın işletmek zorunda olduğu yapıları belirler. Örneğin 'main()' özel bildirim tümcesi, tüm C programlarında bulunmak zorunda olup programın nerede çalışmaya başlayacağını gösteren başlangıç noktasıdır.
Tümceler 'blok' adı verilen birimlerde bir araya toplanır. Bloklar, herhangi bir tümce veya blok grubundan oluşabilir. Blokların başlangıcı ve bitişi süslü parantezler ({ }) ile belirlenir ve bu yapı kodun okunabilirliğini artırır.
Bir C programı, temel tümcelere ek olarak derleyici için özel komutlar da içerebilir. Derleyici komutları gerçek program mantığının bir parçası olmayıp, diğer tümcelerin çeviri sürecini yönetirler ve her zaman '#' (numara) sembolüyle başlarlar.
Açıklama satırları kodun herhangi bir yerinde yer alabilir; '/*' karakterleriyle başlamalı ve '*/' karakterleriyle sonlandırılmalıdır. Bu kısımlar derleyici tarafından çalıştırılmaz, sadece yazılımcıya bilgi verir.
Örneğin '#include <stdio.h>' ifadesi bir derleyici komutudur ve standart girdi/çıktı kütüphanesinin programa dahil edilmesini sağlar. 'stdio.h', giriş ve çıkış işlemlerini gerçekleştiren komutları barındıran özel bir kütüktür.
Ekrana çıktı vermek için 'printf()' işletilebilir komutu kullanılır. Çift tırnak (" ") arasına yazılan metinler ekrana basılır. Metin içerisinde yer alan '\n' karakteri ise imleci alt satırın başına taşıyarak bir alt satıra geçilmesini sağlar.
C dilinde değişkenler veri saklamak için kullanılan birer kutuya benzer. Değişkenlerin farklı veri tipleri bulunur ve değişkenin tipi, o kutunun içerisinde ne tür bir nesnenin saklanabileceğini kesin olarak belirler.
En temel değişken tiplerinden biri 'int' (integer - tamsayı) tipidir. Bir int değişkeni içerisinde -32768 ile 32767 arasındaki tam sayılar saklanabilir; ancak bu tipte kesirli veya ondalıklı sayılar kullanılamaz.
Bir değişkenin programda kullanılabilmesi için bildiriminin (declaration) yapılması gerekir. Bildirim sırasında önce değişkenin veri tipi, ardından da değişkenin adı yazılır. Değişken isimleri belirlenirken belirli kurallara uyulmalıdır.
Değişken isimleri mutlaka bir harfle başlamalıdır; yalnızca harfler, sayılar ve alt çizgi ('_') karakterini içerebilir. Ayrıca değişken isimlerinin uzunluğu 32 karakterden fazla olmamalıdır ve boşluk içeremez.
C programlama dilinde tanımlanmış bir değişkene bilgi veya değer yerleştirmek amacıyla '=' (eşit) işareti kullanılır. Bu işlem matematiksel bir eşitlikten ziyade bir atama (assignment) operasyonudur.
Atama işlemine örnek olarak 'a = 10;', 'b = 100;' veya 'c = 0;' gibi ifadeler verilebilir. Değişkene atanacak değer, değişkenin veri tipiyle uyumlu olmak zorundadır.
Basit bir C programında değişkenler tanımlandıktan sonra printf fonksiyonu yardımıyla ekrana yazdırılabilir. Örneğin '%d' format belirteci, tamsayı türündeki değişkenlerin değerini ekrana yazdırmak için kullanılır.
Programın doğru çalışabilmesi için main() fonksiyonunun gövdesi süslü parantezler arasına yazılmalı ve her komut satırı kuralına uygun şekilde sonlandırılmalıdır.