Uyarı
Bu, farklı kalitede rastgele kitapların bir listesidir. Bazı insanların görüşüne göre (bazı gerekçe ile), artık önerilen kitapların bir listesi değildir. Listelenen kitapların bazıları açık bir şekilde yanlış ifadeler içeriyor veya yanlış / zararlı uygulamalar öğretiyor. Bu tür kitapların farkında olan kişiler, bu yanıtı iyileştirmek için bu yanıtı düzenleyebilir. Bkz . C kitap listesi haywire gitti. Bununla ne yapmalı? ve ayrıca 2018 soru denetimi silindi .
Referans (Tüm Seviyeler)
Acemi
Orta düzey
Modern C - Jens Gustedt (2017 1. Baskı; 2020 2. Baskı). C'yi başından ileri C'ye kadar 5 seviyede (karşılaşma, tanıdık, biliş, deneyim, hırs) C'yi kapsar. Diğer birkaç kitabın yaptığı iş parçacıkları ve atomik erişim de dahil olmak üzere C11 ve C17'yi kapsar. Tüm derleyiciler bu özellikleri tüm ortamlarda tanımaz.
C Arayüzler ve Uygulamalar - David R. Hanson (1997). C'deki bir arabirim ve uygulama arasındaki sınırın genel ve yeniden kullanılabilir bir şekilde nasıl tanımlanacağı hakkında bilgi sağlar. Ayrıca bu prensibi, listeler, kümeler, istisnalar, dizi manipülasyonu, bellek ayırıcılar ve daha fazlası gibi C'deki ortak mekanizmaların ve veri yapılarının uygulanmasına uygulayarak gösterir. Temel olarak Hanson, Icon ve lcc'yi inşa etmenin bir parçası olarak yazdığı tüm kodu aldı ve diğer insanların kendi projeleri için tekrar kullanabilecekleri en iyi bitleri çıkardı. Modern tasarım tekniklerini (Liskov'un veri soyutlaması dahil) kullanarak iyi bir C programlama modelidir ve büyük bir C projesinin bir grup yararlı kitaplık olarak nasıl organize edileceğini gösterir.
C Bulmaca Kitabı - Alan R. Feuer (1998)
Standart C Kütüphanesi - PJ Plauger (1992). Tasarım ve kodun neden gösterildiği gibi tasarlandığı hakkında kapsamlı tartışmaların yanı sıra, C89 standart kitaplığının bir uygulamasının tüm kaynak kodunu içerir.
21. Yüzyıl C: C Yeni Okuldan İpuçları - Ben Klemens (2012). C diline ek olarak, kitap gdb, valgrind, autotools ve git'i açıklar. Tarz hakkındaki yorumlar son bölümde bulunur (Bölüm 6 ve sonrası).
C - Robert Sedgewick (1997) 'de Algoritmalar . C'de algoritmaları uygulama konusunda gerçek bir kavrayış sağlar. Çok berrak ve net; muhtemelen diğer tüm algoritma kitaplarınızı atmak ve bunu tutmak isteyeceksiniz.
C - Kenneth Reek (1997).
C - Naveen Toppo ve Hrishikesh Dewan (2013).
C Problem Çözme ve Program Tasarımı (6. Baskı) - Jeri R. Hanly ve Elliot B. Koffman (2009).
Veri Yapıları - C - Jeffrey Esakov ve Tom Weiss (1989) Kullanarak İleri Bir Yaklaşım .
C Unleashed - Richard Heathfield, Lawrence Kirby, vd. (2000). İdeal değil, ancak bu kitapta yazılı problemleri uygulayan ara programcılara değer. Bu, comp.lang.c katkıda bulunanlar tarafından önerilen iyi bir yemek kitabı benzeri yaklaşımdır.
Uzman
Kategorize
Essential C (Ücretsiz PDF) - Nick Parlante (2003). Bunun C90 dilini çeşitli noktalarda açıkladığını ( örneğin , tartışmaları //
ve değişken bildirimlerin koddaki rastgele noktalara yerleştirilmesini tartışırken ) açıkladığından, dikkatle ele alınmalıdır.
C Programlama SSS'leri: Sık Sorulan Sorular - Steve Summit (1995). Bu, daha önce listelenen web sitesinin kitabıdır. C99 veya sonraki standartları kapsamaz.
Özetle C - Peter Prinz ve Tony Crawford (2005). C99 için bir referansa ihtiyacınız varsa mükemmel kitap.
Fonksiyonel C - Pieter Hartel ve Henk Muller (1997). Eşzamanlılık ve modülerlik göz önünde bulundurularak, düşük seviyeli programlama için çok değerli olan modern uygulamaları öğretir.
Programlama Uygulaması - Brian W. Kernighan ve Rob Pike (1999). K&R'ye eşlik edecek çok iyi bir kitap. C ++ ve Java da kullanır.
C Tuzaklar ve Tuzaklar A. Koenig (1989). Çok iyi, ancak C stili standart C'den önce geliyor ve bu da bu günlerde daha az tavsiye ediliyor.
Bazıları 'Tuzaklar ve Tuzaklar'ın bu listeden çıkarılmasını savundu, çünkü bazı insanları hata yapmak için hapsetti; diğerleri ise dahil edilmesini savunmaya devam ediyor. Belki de bir 'uzman' kitap olarak görülmelidir çünkü yayınlandığından beri nelerin değiştiğini anlamak için orta derecede C bilgisi gerektirir.
Kendi Lispini Yap - Daniel Holden (2014). C. öğrenmenin eğlenceli bir yolu
MISRA-C - Motor Endüstrisi Yazılım Güvenilirliği Derneği tarafından yayınlanan ve sürdürülen endüstri standardı. C89 ve C99'u kapsar.
Her ne kadar bu bir kitap olmasa da, birçok programcı mümkün olduğunca çok okumayı ve uygulamayı önerir. MISRA-C başlangıçta özellikle güvenlik açısından kritik uygulamalar için kılavuzlar olarak tasarlanmıştır, ancak kararlı, hatasız C kodunun istendiği herhangi bir uygulama alanı için geçerlidir (kim daha az hata istemez?). MISRA-C tüm gömülü endüstride fiili standart haline geliyor ve diğer programlama dallarında bile giderek daha popüler hale geliyor. Standardın en az üç yayını vardır (1998, 2004 ve 2012'nin mevcut sürümü). Ayrıca 2016 tarihli bir MISRA Uyum Yönergeleri belgesi ve MISRA C: 2012 Değişiklik 1 - MISRA C: 2012 için Ek Güvenlik Yönergeleri (Nisan 2016'da yayınlanmıştır) bulunmaktadır.
MISRA kurallarındaki bazı darlıkların her bağlama uygun olmadığını unutmayın. Örneğin, 4.12 yönergesi "Dinamik bellek ayırma kullanılmayacaktır" ifadesini belirtir. Bu, MISRA kurallarının tasarlandığı gömülü sistemlerde uygundur; her yerde uygun değil. (Örneğin, derleyiciler sembol tabloları gibi şeyler için genellikle dinamik bellek ayırma kullanır ve dinamik bellek ayırma olmadan yapmak zor olabilir, ancak zor olabilir.)
ACCU tarafından gözden geçirilmiş, Acemi C (116 başlık) 2007 ve 2008'den Gelişmiş C (76 başlık) hakkında arşivlenmiş listeler . Bunların çoğu artık ana sitede görünmüyor ve konuya göz atamıyorsunuz neyse.
Uyarılar
Herbert Schildt tarafından yazılan kitaplara karşı dikkatli olun . Özellikle, bazı çevrelerde C: Tam Saçmalık olarak bilinen C: Tam Referans'tan (4. Baskı, 2000) uzak durmalısınız .
Ayrıca kitap kullanmayan Let Us C (16 inci Yashwant Kanetkar tarafından Edition'da 2017). Birçok kişi, Turbo C'yi öğreten ve çok eski, yanıltıcı ve yanlış malzemeye sahip eski bir kitap olarak görüyor. Örneğin, sayfa 137 beklenen çıktıyı tartışır ve olması printf("%d %d %d\n", a, ++a, a++)
gerektiği gibi tanımlanmamış davranış olarak sınıflandırmaz .
Öğrenin C Zor Yol (2015) Zed Shaw. Karışık eleştiriler içeren bir kitap.
Bu kitabın Tim Hentenaar'ın eleştirisi :
Aşağıda ortaya konan görüşlerimi özetlemek için, yazar materyali büyük ölçüde basitleştirilmiş ve yanıltıcı bir şekilde sunar, tüm corpus paketlenmiş bir karışıklıktır ve sunduğu bazı görüş ve analizler sadece yanlıştır. Bu kitabı bir acemi gözüyle görüntülemeye çalıştım, ancak maalesef C'de kod yazma konusunda yılların deneyimine karşı önyargılıyım ya da yazarın ya C'nin kusurlu bir anlayışına sahip olduğu ya da kasıtlı olarak okuyucuyu gerçekten yanlış yönlendirdiği noktaya (kasıtlı veya başka türlü)
"C'yi Zor Yolda Öğrenin", hem programlamayı hem de C öğrenmeyi öğrenen birine tavsiye edebileceğim bir kitap değildir. Zaten başka bir ilgili dilde yetkin bir programcıysanız, C, ama kitabın bölümleri hakkında rezervasyonları var. Jonathan Leffler
demode
Düzeltme tarihinde mutlaka hesaba katılmayan diğer katkıda bulunanlar şunlardır:
Alex Lockwood ,
Ben Jackson ,
Bubbles ,
pençeler ,
coledot ,
Dana Robinson ,
Daniel Holden ,
Dervin Thunk ,
dwc ,
Erci Hou ,
Garen ,
haziz ,
Johan Bezem ,
Jonathan Leffler ,
Joshua Partogi ,
Lucas ,
Lundin ,
Matt K. ,
mossplix ,
Matthieu M. ,
orta saha ,
Nietzche-jou ,
Norman Ramsey ,
r3st0r3 ,
kendinden emin ,
Robert S. Barnes ,
Steve Summit ,
Tim Ring ,
Tony Bai ,
VMAtm