메뉴 바로가기 검색 및 카테고리 바로가기 본문 바로가기

한빛출판네트워크

문법 떼고 다시 배우는 C 프로그래밍

문법 떼고 다시 배우는 C 프로그래밍

한빛미디어

번역서

절판

  • 저자 : 카시하라 쇼조
  • 번역 : 김용준
  • 출간 : 2006-04-18
  • 페이지 : 568 쪽
  • ISBN : 8979144024
  • 물류코드 :1402
  • 초급 초중급 중급 중고급 고급
3.5점 (2명)
좋아요 : 15

잘못된 것을 바로잡는 반복 학습법으로 문법책만으로는 부족한 10%를 채운다!
문법책 한 권은 뗐는데 막상 프로그램 만들려니 가물가물 실수 투성이?

C 언어는 문법적인 자유를 최대한 허용함으로써 개발자로 하여금 자신의 능력과 상상력을 최대한 발휘할 수 있도록 효율 위주로 만들어진 언어입니다. 그렇기 때문에, 문법책을 한 권 끝마친 독자라도 프로그램 작성에 익숙해지기까지 상당히 많은 시행착오를 겪을 수밖에 없습니다. 이 책에서 제시하는 "잘못된 것을 바로잡는 반복 학습법"이 이러한 시행착오를 대폭 줄여줄 것입니다.

이제 알고리즘이나 프로그램 효율성 등에 더 많은 시간과 고민을 투자하십시오.

이 책의 학습 흐름도
주제별 상황 요약 단계
문제점과 해결책을 한줄로 요약 정리한다

잘못된 소스 단계
잘못된 소스를 제공하여 오류를 찾아볼 수 있게 한다. 컴파일 에러라는 폭탄을 만날 수도 있다.

문제점은 어디 있는가?
왜 소스가 잘못되었는지에 대한 원인을 분석한다.

가르침
선배의 소중한 가르침처럼 독자의 뇌리에 팍 박힐 수 있는 가르침을 제공한다.

정리
다시 한번 정리해주는 친절함을 보여준다.

해결된 소스
드디어 해결된 소스를 만나볼 수 있다.
"입문서를 봤는데 어떻게 프로그램을 해야 좋을까요"
"몇 개의 프로그램을 만들어 봤는데 제대로 작동을 안하네요"
"역시 C는 포인터가 어려워"

C를 공부할 때 벽이되는 것들입니다.
대부분의 "입문서"는 이무래도 문법 중심입니다. 실제로 프로그램을 만들고 싶지만, 어디서부터 손을 대야할지를 모르면 만들 수가 없습니다. 또한, 프로그래밍 언어의 학습에는 코드를 작성하는 것이 최고입니다! 라고 하지만 작성한 프로그램이 제대로 동작하지 않는 경우가 많습니다. 그래서, C로 프로그램을 만들 때 흔히 발생하는 실수, 필수 테크닉, 포인터, 함수를 공부하기 위한 포인트들을 100개의 토픽으로 나누어서, 토픽마다 코드를 보여주며 상세하게 설명했습니다. 각 토픽은 반드시 BAD 샘플과 GOOD 샘플을 준비하였습니다. BAD 샘플 프로그램은 어디가 잘못된 것인지, GOOD 프로그램을 만들기 위해서는 어디에 주의해야 하는 지를 "체감"함으로써 C 프로그래밍 테크닉을 익힐 수 있습니다.

추천평

"이 책은 문법을 이제 막 끝마친 개발자가 실무에 적응하기 위해서 알아야만 하는 C 언어 프로그래밍의 관습과 숙어적인 표현(idiom)을 익일 수 있도록 도와주는 책입니다. 때로는 문법적인 부분을 이야기 하기도 하지만, 상당수는 실제로 실수하기 쉬운 부분들을 코드로 보여주고, 그 코드의 어느 부분이 잘못되었으며, 그것을 어떻게 수정하는 것이 옳은 일인지를 친절하게 알려줍니다. 초보개발자라면 이 책을 한번 읽어보는 것만으로도 C 언어로 프로그래밍할 때 느끼게 되는 막막함을 대부분 해소시켜 줄 것이라고 확신합니다."
- 역자 서문 중에서
카시하라 쇼조 저자

카시하라 쇼조

주식회사 urban soft research 대표직 역임
[독습C 제3판] 감수, [C언어함수 사용법+제작법 완전재패], [C언어 알고리즘+철저입문] 집필, 그 외 프로그래밍 관련 저서 다수
김용준 역자

김용준

홈페이지: http://www.3dstudy.net

한양대학교 수학과를 졸업하고 쌍용정보통신의 시스템연구소에서 근무하였으며, LG 소프트스쿨과 주성대학 등에서 강의를 한 바 있다. 저서로는 『재미있는 게임 프로그래밍』(미래정보사, 1994)이 있으며, 「마이크로 소프트웨어」 등의 잡지에도 다수의 글을 기고하였다. 현재 『3D 엔진 프로그래밍(가제)』(한빛미디어, 2004년 출간 예정)의 집필에 정열을 쏟고 있다.

1장  자, 슬슬 나만의 코드를 작성해 보자!	
  C 프로그램의 확장자란?	
  main() 함수란?	
  EOF가 뭐지? : 파괴된 함수 블록	
  망가진 케익은 먹지 않는다! : 들여쓰기	
  공사 중이라면 표지판을 세우자 : 주석문	
  흔히 있는 주석문 착각 : 주석문 중첩	
  초급 : 끝맺음이 없는 문장을 만들지 말자	
  함수를 사용한다면 라이브러리 헤더 파일을 인클루드하자	
  include의 <>과 ""는 어떻게 다른 거야?	
  올바른 명령행 인수를 얻읍시다	
  올바른 방법으로 프로그램을 종료하자	
  printf() 함수를 잘 다루자	

2장  자료형, 키워드, 변수 다루기에 익숙해지자	
  자료형과 키워드는 모두 소문자로 쓰자	
  변수명의 규칙은 무엇인가?	
  변수는 반드시 초기화하자	
  변수의 선언이나 초기화문을 정리하자	
  C 프로그램에서 수치 값을 기술하려면 어떻게 해야 되는가?	
  char형 배열을 올바르게 초기화하려면	
  char형 배열을 긴 문자열로 초기화하려면	
  변수가 숨어버렸다!	
  왜 변수를 사용할 수 없는가?	
  문자와 문자열을 올바르게 구분하여 사용하자	

3장 연산자와 조건 처리에 익숙해지자	
  조건이 평가되는 순서를 생각하라	
  프로그램이 왜 이상해졌을까?	
  왜 변수를 증가시킬 수 없는가?	
  좌변 값이 될 수 없는 식이 있는가?	
  쓸모 있는 if문을 작성하자	
  불명확한 if와 else의 대응을 조심하자	
  이상하다? if-else문이 작동하지 않는 이상한 조건	
  왜 항상 동일한 값이 될까?	
  장황하게 표현된 if-else문(1) : switch문을 사용하자	
  장황하게 표현된 if-else문(2) : 조건 연산자를 사용한다	
  switch/case의 포인트(1) : 정수 상수	
  switch/case의 포인트(2) : break문	

4장  루프 제어에 익숙해지자	
  초급 : 프로그램에 상수를 넣어두지 말자 : #define	
  왜 1부터 시작하면 안 되는 걸까?	
  루프에서는 절대로 방어한다 : 경계 초월	
  어떻게 하지? 루프가 멈추지 않네 : 종료 조건이 없다	
  루프가 이상하다! : 제어 변수 초기화를 잊었다	
  무한루프를 활용하자 : 루프 탈출	
  도움이 안 되는 지연 루틴	
  while 루프에서 자주 저지르는 실수 : 제어 변수 갱신 까먹기	
  쉽게 빠져나오지 못하는 루프 : 중첩 루프	
  goto문의 사용은 이제 그만 : 구조적 프로그래밍	

5장  배열, 문자, 문자열 다루기에 익숙해지자(포인터 : 첫 번째)	
  문자열의 길이를 구하는 포인트 : 널 문자	
  포인터 조작의 포인트(1) : 포인터의 초기화	
  포인터 조작의 포인트(2) : 포인터가 참조하는 곳의 초기화	
  문자열을 연결하는 포인트(1) : 널 문자	
  문자열을 연결하는 포인트(2) : 충분한 사이즈	
  문자열을 연결하는 포인트(3) : strncat() 함수	
  문자열을 복사하는 포인트(1) : 널 문자	
  문자열을 복사하는 포인트(2) : strncpy() 함수	
  문자열을 비교하는 포인트 : 널 문자	
  이상하다. 입출력을 재지정할 수 없다	
  다차원 배열에서 자주 하는 실수 : 불명확한 초기화	
  포인터 조작의 포인트(3) : 값과 주소의 차이	
  포인터 조작의 포인트(4) : 문자열 정렬	

6장  정수, 실수, 비트 다루기에 익숙해지자(포인터 : 두 번째)	
  printf() 함수가 이상하다! : 연산자의 우측 결합	
  포인터 조작의 포인트(5) : 주소 다루기	
  다른 자료형 간의 대입을 조심하자 : 데이터 손실	
  명시적 형변환을 조심하자 : 경고가 없어진다	
  가감승제 연산자의 우선순위에 주의하자	
  지수 표기법을 사용하려면?	
  비트 연산자를 사용했더니 정수의 부호가 바뀌었다	
  비트 다루기에 익숙해지자	
  C의 정수형과 컴퓨터에서 숫자를 다루는 구조를 이해하자	
  16비트 환경과 32비트 환경 모두의 int형을 지원하고 싶다 : 이식성 문제	

7장  함수 다루기에 익숙해지자(포인터 : 세 번째)	
  함수 정의의 포인트(1) : 변수의 수명을 이해하자	
  함수 정의의 포인트(2) : 자료형을 지정하자	
  함수 정의의 포인트(3) : 함수 원형을 선언하자	
  함수 정의의 포인트(4) : 외부 선언을 사용하자	
  함수 정의의 포인트(5) : 인수와 반환 값을 값에 의한 전달로 처리하기	
  함수 정의의 포인트(6) : 인수와 반환 값의 참조(포인터) 전달	
  포인터 조작의 포인트(6) : 실체가 없는 반환 값 포인터	
  이상하다! 재귀 함수를 올바르게 종료할 수 없다 : 재귀 함수의 종료	
  거듭제곱을 구하는 함수의 계산이 이상하다 : 재귀 함수의 초기화	
  함수 정의의 포인트(7) : 공통 루틴 다루기	

8장  구조체 다루기에 익숙해지자(포인터 : 네 번째)	
  구조체를 능숙하게 사용하자	
  구조체 변수를 잘 선언하자	
  구조체명은 자료형으로 사용할 수 없는가?	
  포인터 조작의 포인트(7) : char형 배열과 char *형 변수	
  포인터 조작의 포인트(8) : 왜 갑자기 화살표 연산자를 사용할 수 없지?	
  구조체의 비트 필드를 활용하자	
  불완전한 비트 테스터 : 열거형의 이름 붙은 상수를 사용한다.	

9장 동적 메모리 할당에 익숙해지자(포인터 : 다섯 번째)	
  포인터 조작의 포인트(9) : NULL 포인터 다루기	
  포인터 조작의 포인트(10) : void *형 포인터의 형변환	
  초급 : 포인터 조작의 포인트(11) : 포인터의 보폭 차이를 이해한다	
  포인터 조작의 포인트(12) : void *형의 포인터의 능숙한 사용법	
  포인터 조작의 포인트(13) : 포인터가 참조하는 곳의 초기화	
  메모리 영역을 복사하려면?	
  포인터 조작의 포인트(14) : NULL 포인터 다루기	
  포인터 조작의 포인트(15) : 함수 포인터	
  동적 연결 리스트를 만들려면?	

10장 파일 다루기에 익숙해지자(포인터 : 여섯 번째)	
  포인터 조작의 포인트(16) : NULL 포인터 다루기(3)	
  환경에 의존적인 함수는 사용하지 말자 : 파일 크기	
  fgets() 함수의 동작이 이상하다	
  왜 복사한 파일의 크기가 다르지? : 크기 지정	
  이상하다! 맨 마지막 줄이 잘 출력되지 않는다 : 자주 있는 문제	
  포인터 조작의 포인트(17) : 포인터를 파일로 저장해서는 안 된다	
  가변 길이 레코드를 임의접근 하려면?

책 내용은 좋습니다.
제목그대로 문법을 갓띤 분께 추천드립니다.
심화라고 까진 못합니다.

허나 예제소스가 누락된것도 있는듯하고
해결된소스임에도 불구하고 소스가 에러나는 것도 있습니다.

ex) ! = 연산자에 공백이들어가 에러나는것 등.

책에나와있는 소스와 틀린것도 있네요.
일본분 저자가 작성한 일본스타일의 변수명이 있다고할까..

처음으로 C언어를 배운 후 처음 코딩을 시작하기에 어려움이

많다.

이 책은 초급자가 간과하기 하기 쉬운 여러가지 나쁜 버릇에

초점을 맞춰서 진행된다.

이 책의 머리말에서 밝혔듯이 이 책을 다 보고 난 후에

자신이 예전에 짠 소스를 보면 미처 생각해보지 실수에 대해

재고해 볼수 있는 여지를 마련해 준다.

단순히 이론서로써의 책 보다는 기존에 공부 했던 지식들에

대해서 정리해 볼수 있는 기회를 주는 그런 책이라고 생각한다.

코딩 스타일에 대해서도 재고해볼 수 있는 기회를 마련해주니

초급자로서 중급자를 바라보는 사람들에게 적극 추천하고 싶다.

결제하기
• 문화비 소득공제 가능
• 배송료 : 2,000원배송료란?

배송료 안내

  • 20,000원 이상 구매시 도서 배송 무료
  • 브론즈, 실버, 골드회원이 주문하신 경우 무료배송

무료배송 상품을 포함하여 주문하신 경우에는 구매금액에 관계없이 무료로 배송해 드립니다.

닫기

리뷰쓰기

닫기
* 도서명 :
문법 떼고 다시 배우는 C 프로그래밍
* 제목 :
* 별점평가
* 내용 :

* 리뷰 작성시 유의사항

글이나 이미지/사진 저작권 등 다른 사람의 권리를 침해하거나 명예를 훼손하는 게시물은 이용약관 및 관련법률에 의해 제재를 받을 수 있습니다.

1. 특히 뉴스/언론사 기사를 전문 또는 부분적으로 '허락없이' 갖고 와서는 안됩니다 (출처를 밝히는 경우에도 안됨).
2. 저작권자의 허락을 받지 않은 콘텐츠의 무단 사용은 저작권자의 권리를 침해하는 행위로, 이에 대한 법적 책임을 지게 될 수 있습니다.

오탈자 등록

닫기
* 도서명 :
문법 떼고 다시 배우는 C 프로그래밍
* 구분 :
* 상품 버전
종이책 PDF ePub
* 페이지 :
* 위치정보 :
* 내용 :

도서 인증

닫기
도서명*
문법 떼고 다시 배우는 C 프로그래밍
구입처*
구입일*
부가기호*
부가기호 안내

* 온라인 또는 오프라인 서점에서 구입한 도서를 인증하면 마일리지 500점을 드립니다.

* 도서인증은 일 3권, 월 10권, 년 50권으로 제한되며 절판도서, eBook 등 일부 도서는 인증이 제한됩니다.

* 구입하지 않고, 허위로 도서 인증을 한 것으로 판단되면 웹사이트 이용이 제한될 수 있습니다.

닫기

해당 상품을 장바구니에 담았습니다.이미 장바구니에 추가된 상품입니다.
장바구니로 이동하시겠습니까?

자료실

최근 본 책0