2009-04-29 4 views
10

Brian Kernighan과 Dennis Ritchie가 The C Programming Language을 작성한 후 초보자가 가장 좋아하는 책 중 일부는 anything by Herb Schildt 또는 심지어 O'Reilly Practical C Programming과 같이 가장 피해야하는 책으로 밝혀졌으며 이들에 대한 대안은별로없는 것 같습니다. . 그렇지 않으면 사용할 수있는 대부분의 자료는 C++에 관한 것입니다.K & R 이후 C에서 프로그래밍을 배우기 위해 사용할 책은 무엇입니까?

길을 따라 나쁜 관행을 학습하지 않고 K & R 내가 이미 가지고있는 우수한 C: A Reference Manual, 다른 어떤 책은 C 코드로 학습을 위해 사용하는 최고 (일반 C89 아니라 C++), 게다가?

+0

왜 K & R이 아닌가요? 당신이 싫어하는 책을 나쁜 입에 넣기위한 변명 이었나요? –

+3

Andy, Schildt는/유명/악합니다. – tpdi

+1

Pete Seebach는 Schildt의 저서 중 한 권에 대해 다음과 같이 말합니다. "C : The Complete Reference는 인기있는 프로그래밍 서적이며, 대부분이 잘랐다는 사실만으로 손상되었습니다 .Herbert Schildt는 언어를 설명하는 명확하고 읽기 쉬운 텍스트를 잘 알고 있습니다. 미묘하지만 확실히 C와는 분명히 다르다.이 페이지는 사람들에게 무엇이 잘못되었는지를 알 수있는 좋은 방법을 제공하는 것을 목표로한다. " http://www.seebs.net/c/c_tcr.html – tpdi

답변

20

피터 반 데르 린든의 Expert C Programming: Deep C Secrets

+0

동의. 이 책은 C의 더 모호한 모서리에 대해 많은 것을 가르쳐 줄뿐만 아니라 재미 있고 재미있는 책입니다. –

6

내가 완전히 책을 피하다을 말할 것입니다. 프로젝트, 프로젝트 (너무 크지는 않지만)를 선택하고 C로 구현하십시오. 단순히 뛰어 들어가서 그것을 수행하는 대신 할 수 없습니다. K & R은 진정한 좋은 학습을위한 경험을 쌓고 넘어 질 수 있다는 충분한 지식을 제공합니다.

+0

질문은 "C를 배우는 법"이 아니라 "읽는 좋은 C 책"을 묻는 것입니다. 이미 소규모 프로젝트 (Google의 코드 검색을 통한 소스 코드 참조)를 위해 노력하고 있지만, 현재 어떤 작업을 수행하려고하는지 또는 원하는 작업과 관련된 주제를 위로 읽는 것을 즐깁니다. –

7

This은 왜 Schildt가 나쁜지를 설명합니다. 좀 더 비판 here.

SO 검색 C 리소스.

11

C: A Reference Manual by Harbison and Steele

그것은 튜토리얼 책 아니지만, 그것의 손 다운 (내 의견도 K & R 이상) C에서 최고의 책. K & R (또는 다른 튜토리얼)과 함께 사용하면 C로 훌륭한 토대를 얻을 수 있습니다.

+0

예 C 책이 있어야합니다. 나는 그것을 K & R과 함께 질문에 포함시켜야했고, 지금 그렇게했다. –

0

C 프로그램을 읽는 것이 좋습니다. 슬프게도 나는 특별한 것을 권장하기에 충분하지 않았습니다.

+0

이 내용을 제 응답에 추가하는 것을 고려하고 있었지만 다소 오도하는 것으로 생각됩니다. C는 구현을위한 훌륭한 언어 일 수 있지만, 또한 무시 무시하게 엉뚱한 구현을위한 자석이 될 수 있습니다. 심지어 최고의 C 코드 중 일부에는 매우 명확하지 않고 둔한 코드가있을 수 있습니다. 나는 특히 C를 배우는 것이 "하는 것"이 ​​"읽는 것"보다 더 가치 있다고 생각합니다. –

+0

나는 'doing'을 포함 시켰을 것이지만, 이미 언급되었다. –

4

나는 Kenneth A. Reek가 Pointers on C을 좋아한다. 나는 그것이 K & R보다 낫다고 말할만큼 멀리까지하지 않을 것이지만 나는 그것을 더 친숙하고 쉽게 배울 수 있음을 확실히 알았다. 내가 K & R로 시작했지만,이 책을 집에서 사용하기 전까지 실제로 C가 붙지는 않았다.

편집 : 나는 또한 내가이 책을 구입 한 이래로이 책의 가격이 급격히 올랐다. 그래서 내 권고안은 여전히 ​​그런 식으로 서 있지만, 나는 현재 묻고있는 가격으로 그것을 추천 할 수는 없다. 따라서 도서관에서 사용 된 사본이나 사본을 찾을 수 있다면 가치가 있습니다. 그러나 현재 가격에는 기본적으로 훨씬 적은 돈으로도 좋은 책이 있습니다.

전문가 C 프로그래밍이 책은 내가 그것을 철저히 권장하는 것을 주저하고 있지만, 적어도 C의 교수형을 한 번 살펴볼 가치가 있다고 생각합니다. 더하기 측면에서 그것은 좋은 팁 및 트릭과 몇 가지 매우 유용한 조언 번호가 포함되어 있습니다. 마이너스 쪽에서는 그 트릭과 조언이 심하게 조직되어 있으며, 유용한 조언이 아닌 곳에 묻혀 있고, 책의 절반은 절름발이 농담, 제쳐두고 무의미한 (때로는 재미있는) 이야기로 가득 찬 것처럼 보입니다. 그래서 도서관에서 빌려 왔지만 돈을 지불하지 않았습니다.

당신은 의심의 여지가 실현하지 않기 때문에, 당신은 정말 당신이 어떤 프로그래밍 언어는 단지 프로젝트에 뛰어입니다 배울 C.

내가 McWafflestix에 동의
+0

C에서의 포인터는 쉽게 구입하는 것이 가장 비쌉니다. –

+0

@ 로브 : 와우, 언제 그 일이 있었 니? 내가 광산을 구입 한 지 수년이 지났지 만 영국에서 구입했지만 다른 프로그래밍 책보다 비용이 더 많이 들지는 않습니다. – dagw

+0

불행히도 amazon.co.uk에서 £ 75.72입니다. 확신하고 싶습니다. 그만한 가치가 있습니다. –

0

, 최선의 방법을 쓰기까지 C를 배울 해 봐 않을거야 당신이 필요로하는 것들을. 이것은 내가 배웠던 방법이다. .. 내가 생각하는 4 개의 언어 주위에? 그리고 일관되게 일했습니다.

건배!

1

C 시작에 관한 Ivor Horton (3rd edition)의 C 초록은 C 프로그래밍에 대한 훌륭한 입문서입니다. 이 책은 매우 철저하며 참고서는 아니지만 C 언어의 모든 것을 처음부터 끝까지 익히는 데 유용한 자습서입니다.

Beginning C by Ivor Horton (3rd Edition)

+0

어딘가에서 그가 int main (int argc, char * argv [])에 대한 언급없이 int main (void)을 사용하는 것을 읽은 것 같습니다. –

+0

그는 처음에는 ANSI C 표준에 따라 유효한 선언 인 int main (void)을 정기적으로 사용합니다. 나중에 349 페이지에서 main (int argc, char * argv []) 선언을 소개합니다. –

7

K & R은 기본적으로 C에 대해 알아야 할 모든 것을 다루며 일반적으로 사용되는 몇 가지 데이터 구조를 구현합니다. * nix를 사용하고 있고 운영 체제를 이용하는 방법을 배우고 싶다면 Advanced Programming in the UNIX Environment, Third Edition은 파일 읽기, 스레드 만들기 등과 같은 일반적인 사용법에 대한 좋은 참조/가이드입니다. 샘플 코드는 C로되어 있습니다.

+0

K & R은 스레드 또는 C11과 관련된 모든 항목을 포함하지 않습니다. – Geremia

+0

K & R도 함수 포인터에 관해서는 깊이 관여하지 않지만,이 방대한 작업은 그렇습니다. – Geremia

0

K & R은 또한 C의 현재 버전이 아닙니다. ISO 또는 ANSI C가 있습니다. C를 배울 수

+0

Err ... 사실, K & R의 2 판은 ANSI C (특히 C89)를 다룹니다. 그러나 C의 현재 버전은 K & R이 다루지 않는 C99입니다. – hbw

2

다시 K & R 책을 집어 이번에는 연습을하십시오. 그런 다음 코드를 K & R의 코드와 비교하여 기능 인터페이스 및 데이터 구조에서 유사한 우아함을 확인하십시오. 이것은 빨리 읽을 수있는 책이 아니며 다음 책으로 이동합니다. 여기에는 많은 가치있는 정보가 포함되어 있으며, 실습을 통해 첫 번째 읽기에 대해 놓친 내용을 실감 할 수 있습니다.

1

제가 갖고있는 C의 최고의 교과서는 Peter A. Darnell과 Philip E. Margolis의 C: A Software Engineering Approach입니다. 다른 책처럼 유명하지는 않지만, 매우 읽기 쉽고 모든 세부 사항을 처리합니다. K & R 건너 뜁니다.

그것은 비록 두 단점이 있습니다

  1. 그것은 1996 년부터이다, 그래서 C99 적용되지 않습니다. (C89에 관심이 있으신 분께는 괜찮을 것입니다.)
  2. 매우 비쌉니다.

편집 : 관심의 또 다른 책은 스티브 정상 회의에 의해 C Programming FAQs입니다. 이 책을 인쇄하지 않은 동안 동봉 된 web site은 C의 덜 분명한 특징을 이해하는데 많은 도움이되었습니다.

관련 문제