Bu eğitimde C dilinin temel, orta ve ileri düzey konuları anlatılmaktadır. C dilinin özellikleri dışında temel kütüphanelerin kullanımı da sık karşılaşılan konuları çözümlerle anlatılmaktadır. Son bölümde C eğitimi veren kurumlarda çok sık çıkan soruların ve ödevlerin çözümleri verilmiştir. Eğitim C++ için önkoşul konumundaki konuları kapsamaktadır.
Eğitim içeriğinde temel türler (int, float v.b) ile dizi (array) ve sicim (string) gibi temel konuların yanı sıra her programlama dilinde olan if, switch, while, for gibi akış (flow) demeçleri anlatılmaktadır. Bir işlev (function) yazma ve kullanma dışında işlevleri başlık (header) dosyalarında saklayıp oradan include (içerme) ile kullanım gösterilmektedir.
İleri ancak çok gerekli konular arasında olan scope, extern, define, constant, preprocessor, typedef, enum, struct ve enum gibi konular ayrıntılı olarak anlatılmaktadır. C dilinin en önemli ancak karmaşık yapılarından pointer (göstergeç / doğrultucu) konusu hem temel türler için anlatılmakta hem de de dizi (array), sicim (string) gibi dizi tabanlı konularla birlikte kullanımı gösterilmektedir. Doğrultucuların işlev (function) ve yapı (structure) için kullanımı gösterilerek veri yapıları için gerekli altyapı verilmektedir. Son olarak doğrultucuların doğrultucusu (pointer of pointers) gibi karmaşık ama çok kullanılan konular da gösterilmektedir. Eğitimde C dilinin konuları dışında çok kullanılan kütüphaneleri de açıklanmaktadır. Bunlardan sicim (string), dosya (file), yerellik (locale) ve zaman (time) ile ilgili olanları ayrıntılı bir biçimde verilmektedir.
Son bölümde örnek uygulamalar ve alıştırmalar bulunmaktadır. Bunların bir kesimi temel konuların daha iyi anlaşılması için verilmiştir. Eğitim kurumlarında verilen temel soru ve ödeve seçeneklerini kapsar. Özellikle konsol (console), sicim (string), dizi (array), getir-götür (swap) gibi çok gerekli konular işlenmiştir.
Sona doğru temel konuların ötesinde, belli bir algoritma ile özgü bir sorunu çözen uygulamalar yapılmıştır. Bu biçimiyle veri yapıları ve algoritmalar için bir altyapı oluşturulmaktadır. Örnekler arasında sıkılık (frequency), histogram ve anagram. gibi başlıklar yer almaktadır. Eğitimde rakamlar (digits) ile ilgili sicimden sayıya çevirme (string-to-number conversion), ters çevirme (revert), narsisistik sayılar (narsisistic numbers) konuları yer almaktadır. Örnekler arasında çarpanlar (factors) ile ilgili konular yer almaktadır: ebob (gcd) & ekok (lcm), asal sayılar (prime numbers), mükemmel sayılar (perfect numbers). Örneklere şu konular da eklenmiştir: faktöryel (factorial), kombinsyon (combination) ve permütasyon (permutation), pascal üçgeni (pascal triangle).
107
97
TAKE THIS COURSE