İşletim sistemi, oyun, stok ve muhasebe gibi programların oluşması açısından bir alt yapıyı oluşturan programlama tekniği kullanıcıların arzularını yerine getirmesi amacıyla kullanılmaktadır. Programcı olarak adlandırılan alt yapıyı oluşturan kişiler kullanıcıların isteklerinin yerine getirilmesi amacıyla hazırlanan kodları oluşturmaya çalışırlar. Mikro işlemciye daha önceden bir kod yığının iletilmesiyle aynı anlamı taşıyan program çalışması olayı birçok işletim sisteminde yer almaktadır. Kullanılması en zor olan ve bunun yanında ASM dili kullanılarak yazılımı gerçekleşmiş olan bu kodlar işlemcinin anlaması mümkün olacak şekilde hazırlanmıştır. Yalnızca donanıma ve işlemciye hitap edilen ASM dilinde yer alan kodlar karşımıza çıkmaktadır. Donanımı bilmesi konusunda bu programı yazan kişinin tam bir performans göstermesi ve her şeyi bilmesi gerekmektedir. Donanımsal açıdan aykırılıklar meydana gelen durumlarda farklı markalara ait programlar çalışma fırsatı yakalayamaz. Sadece ASM kodlarını kavrayabilecek yapıda olan CPU bu konuda göze çarpan bir sistemdir.
C programlama diline genel bir göz atıldığında onun günümüzde yer alan en ünlü programlama dilleri arasında yer aldığı bir gerçektir. Taşınabilir olması yönünden ötürü tercih edilen bu programlama dili ayrıca donanımdan bağımsız olarak var olmasıyla da çok kullanılmaktadır. Gnu/Linux ya da Windows gibi pek çok işletim sisteminin ortaya çıkışı ve temeli kendisinden kaynaklanmıştır. Derlenme metotluya çalışan bir dil olarak bilinen C programlama dili derleyicilere ihtiyaç duyularak çalışır. Uygulama geliştirilmesi bu programda derleyicilerin ortaya çıkmasına bağlıdır.
Nasıl ki geçmişte pek çok ihtiyaç için çeşitli yöntemler geliştirilmişse bilgisayar kullanıcıları da eksik gördüğü yerleri ortaya çıkardıkları yeni bilgisayar programlama dilleriyle tamamlamaya çalışmıştır. 1960’lı senelerden itibaren gelişme yaşanmaya başlayan bilgisayar programlama dilinde üst düzey dillerin varlığı mümkün olmaktadır. Makine dilinin çok yaygın kullanıldığı zamanlarda en ufak bir işlem dahi çok fazla zaman harcamakta ve birçok çabayı da beraberinde getirmektedir. En ufak bir kodun yazılımı bile bu dille çok zor olmaktaydı.
Yalnızca ASM dili olduğu gerekçesiyle program yazabilmek PC işlemcilerinin ilk çıktığı zamanlarda daha zor bir haldeydi. Gerekenler arasında her işlemci ya da değişen donanım için yeni bir program yazılması yer almaktaydı. Tek bir harf için bile birçok kodun ekrana iletilmesi gerekmekteydi. C programlama dili üst seviye dili olmasıyla beraber bu tarz problemlerin önüne geçmesi amacıyla ortaya konmuş bir dildir. En ufak bir durum için dahi çok fazla kod yazılmasının önüne geçen bu sistemle farklı programlama dilleri ortaya çıkartılmış oldu. İşlemci tarafından anlaşılması mümkün olmayan kodlar arasında üst seviye programlama dillerinin kullanılarak hazırlandığı kodlar yer almaktadır. Soruna yönelik bir çözüm geliştirilmesi gerekliliği ve bu çözümün ne şekilde uygulanacağının belirlenmesi programlamaya geçmeden önce yapılacaklar arasında yer almaktadır.
Bir algoritmanın ortaya çıkarılmasının gerekli görüldüğü programlama öncesi işlemlerde sorunların ne şekilde çözüleceğine karar verilmeli ve bu karar uygulanmalıdır. Bunlar yapılmadan programlamanın ortaya çıkması mümkün değildir. Küçük ya da büyük harf kullanımının çok fazla önem teşkil ettiği c programlama dilinde yazılım konusunda yer alan her programlama açısından fonksiyonlara yönelik başlıklar ilave olarak programın baş kısmına yerleştirilmelidir. Her zaman küçük harfle yazılması gerekli görülen bir diğer kavram da komutlar olarak karşımıza çıkmaktadır. Main başlangıç noktası olarak bilinmekte ve bu dilin başladığı yer alarak adlandırılmaktadır. Bu kısımda herhangi bir kavramın kullanılmadığını ortaya koymak için içi boş parantezlerin kendisi oraya eklenmiştir. Birçok büyük ya da küçük programın bir araya gelmesinden oluşan C programı içerisinde her bir programa ait farklı özellikler barındırmaktadır. Kullandığı parametrelere bakıldığında her fonksiyonun farklı bir isminin olduğu da gözlerden kaçmamıştır.
Sabitler ve değişkenler olarak programın içerisinde yer alan tüm metotların tanımı yapılmalı ve bunların belirtilmesi sağlanmalıdır. İki ayrı bölümden meydana gelen C programlama şu şekildedir:
- Ön işlemci olan direktifler
- Yardımcı fonksiyon ile ana fonksiyonlar
Algılanması açısından derlenme ihtiyacı duymayan ve kodların ortaya çıkmasını sağlayan direktifin ismi #include direktifi olarak karşımıza çıkar. Programın çalışması içinde yer alan ve yardımcı ya da ana fonksiyon tarafından ön işlemcinin kendisinden alınan verinin çağrılmasını #define direktifi sağlamaktadır. Kendisi kullanılarak makrolar ortaya çıkarmak da mümkün olmaktadır.