서브메뉴

본문

이것이 C 언어다 서현우의 C 프로그래밍 정복 (C 언어 표준 라이브러리 함수 완벽 수록)
이것이 C 언어다 서현우의 C 프로그래밍 정복 (C 언어 표준 라이브러리 함수 완벽 수록)
저자 : 서현우
출판사 : 한빛미디어
출판년 : 2014
정가 : 25000, ISBN : 9788968481024

책소개

흥미로운 이야기와 상세한 그림으로 명쾌하게 C 언어를 시작하자!

『이것이 C 언어다, 서현우의 C 프로그래밍 정복』은 C언어 입문자들을 위한 맞춤형 입문서이다. 10년 넘게 기업과 대학에서 현업자들과 학생들을 대상으로 강의했던 저자가 그동안의 경험과 노하우를 정제해 책으로 엮었다. 이 책은 입문자들을 주 대상으로 하기 때문에 각 장에 학습목표를 제시하고 목표달성을 위한 예제와 초보자들의 눈높이에 맞춘 설명으로 이루어진다. 또한, C 내면의 동작 원리를 그림과 함께 수록해 알기 쉽도록 담았다.

C 언어를 어려워하는 많은 입문자들은 ‘포인터’ 때문에 포기한다고 한다. 그래서 저자는 9장에서 포인터의 개념을 명확히 확인 할 수 있도록 15개의 그림으로 설명하고 있다. 더불어, C언어 표준 라이브러리 10여 가지와 표준함수 140여 가지 등 목록을 수록해 함수를 효과적으로 활용할 수 있도록 하였다. 이 책은 저자가 3년 간 집필하고 3명의 감수자에게 기술 검토를 의뢰했으며, 베타 리더 7명의 의견과 품질 검토로 이루어졌다고 한다.

[인터넷 교보문고 제공]
 

저자 / 역자소개

서현우

저자 : 서현우
저자 서현우는 컴퓨터공학을 전공하고 12년째 학교와 기업체에서 C 전문강사로 활동 중이다. 아직도 태권브이를 꿈꾸는 어린아이 같은 면이 있지만, 강의할 때 뿜어 나오는 카리스마는 수강생을 매력적인 C 세계로 이끈다. 쉽고 깔끔한 강의, 전문적이고 기본기를 다져주는 강의, 열정적이면서 명쾌한 강의, 집중력을 이끌어내는 수강자 중심의 강의로 대학과 기업체에서 인기를 끌고 있다.

<저서>

- 『이것이 C 언어다, 서현우의 C 프로그래밍 정복』(한빛미디어, 2014)

- 『뇌를 자극하는 C 프로그래밍』(한빛미디어, 2005)

- 『객체지향을 위한 C++ 프로그래밍』(웰북, 2010)

<주요 약력>

- (전)대우정보시스템 근무

- 서울대에서 8년간 'C, C++ 대학특강'

- 삼성전자, LG전자 C 언어 직무 교육

- MDS 아카데미 『뇌를 자극하는 C 프로그래밍』 저자 직강

- 그 외 수많은 기업, 대학, 국가기관, 교육센터 출강

[인터넷 교보문고 제공]

목차정보

PART 1C 언어 기본

1장 프로그램 만들기
_1.1 프로그램과 C 언어
_1.2 컴파일러 사용법
__1.2.1 소스 파일(source file) 작성
__1.2.2 컴파일
__1.2.3 실행
__연습문제 / 정답 및 해설

2장 상수와 데이터 출력
_2.1 C 프로그램의 기본 형태와 데이터 출력 방법
__2.1.1 main 함수 구조
__2.1.2 출력 함수(printf)의 사용법
__2.1.3 printf 함수로 제어 문자 출력
__2.1.4 printf 함수로 정수와 실수 출력
__연습문제 / 정답 및 해설
_2.2 상수와 데이터 표현 방법
__2.2.1 정수 상수 표현법
__2.2.2 실수 상수 표현법
__2.2.3 문자와 문자열 상수 표현법
__2.2.4 상수가 컴파일된 후의 비트 형태
__2.2.5 정수형 상수가 컴파일된 후의 비트 형태
__2.2.6 실수형 상수가 컴파일된 후의 비트 형태
__연습문제 / 정답 및 해설

3장 변수와 데이터 입력
_3.1 변수
__3.1.1 변수 선언 방법
__3.1.2 쓰레기값과 초기화
__3.1.3 정수를 저장하는 자료형
__3.1.4 unsigned 정수 자료형
__3.1.5 실수 자료형
__3.1.6 문자열 저장
__3.1.7 const를 사용한 변수
__3.1.8 예약어와 식별자
__연습문제 / 정답 및 해설
_3.2 데이터 입력
__3.2.1 scanf 함수의 사용법
__3.2.2 scanf 함수의 응용
__3.2.3 문자와 문자열의 입력
__연습문제 / 정답 및 해설

4장 연산자
_4.1 산술, 관계, 논리 연산자
__4.1.1 연산자와 피연산자
__4.1.2 산술 연산자와 대입 연산자
__4.1.3 나눗셈 연산자와 나머지 연산자
__4.1.4 증감 연산자
__4.1.5 관계 연산자
__4.1.6 논리 연산자
__4.1.7 연산의 결과값은 어떻게 되나요?
__연습문제 / 정답 및 해설
_4.2 비트 연산자와 그 외의 멋진 연산자
__4.2.1 형변환 연산자
__4.2.2 sizeof 연산자
__4.2.3 복합대입 연산자
__4.2.4 콤마 연산자
__4.2.5 조건 연산자
__4.2.6 비트 연산자
__4.2.7 연산자 우선순위와 연산 방향
__연습문제 / 정답 및 해설
_도전 실전 예제

5장 선택문(if, switch~case)
_5.1 if문
__5.1.1 if문의 기본 형식
__5.1.2 if ~ else문
__5.1.3 if ~ else if ~ else문
__연습문제 / 정답 및 해설
_5.2 if문의 활용과 switch~case문
__5.2.1 if문 중첩
__5.2.2 if문을 중첩해서 쓰는 이유
__5.2.3 else 결합 문제
__5.2.4 switch ~ case문
__연습문제 / 정답 및 해설
_도전 실전 예제

6장 반복문
_6.1 while, for, do~while
__6.1.1 while문
__6.1.2 for문
__6.1.3 do ~ while문
__연습문제 / 정답 및 해설
_6.2 반복문 활용
__6.2.1 중첩 반복문
__6.2.2 break와 continue 분기문
__연습문제 / 정답 및 해설
_도전 실전 예제

7장 함수
_7.1 함수의 작성과 사용
__7.1.1 함수 정의
__7.1.2 함수 호출과 반환
__7.1.3 함수 선언
__연습문제 / 정답 및 해설
_7.2 여러 가지 함수 유형
__7.2.1 매개변수가 없는 함수
__7.2.2 반환값이 없는 함수
__7.2.3 반환값과 매개변수가 모두 없는 함수
__7.2.4 재귀호출 함수
__7.2.5 재귀호출이 반복문과 다른 점은 무엇인가?
__연습문제 / 정답 및 해설
_도전 실전 예제

8장 배열
_8.1 배열의 선언과 사용
__8.1.1 배열 선언과 배열 요소 사용
__8.1.2 배열 초기화
__8.1.3 배열과 반복문
__8.1.4 sizeof 연산자를 활용한 배열 처리
__연습문제 / 정답 및 해설
_8.2 문자를 저장하는 배열
__8.2.1 char형 배열의 선언과 초기화
__8.2.2 문자열 대입
__8.2.3 문자열 전용 입출력 함수(gets, puts)
__연습문제 / 정답 및 해설
_도전 실전 예제

9장 포인터
__9.1 포인터의 기본 개념
__9.1.1 주소 연산자(&)
__9.1.2 포인터와 간접참조 연산자(*)
__9.1.3 여러 가지 포인터
__9.1.4 const를 사용한 포인터
__연습문제 / 정답 및 해설
_9.2 포인터에 관한 궁금한 이야기
__9.2.1 주소와 포인터의 차이
__9.2.2 주소와 포인터의 크기
__9.2.3 포인터의 대입 규칙
__9.2.4 포인터가 필요한 이유
__연습문제 / 정답 및 해설
_도전 실전 예제

PART 11C 언어 고급

10장 배열과 포인터
_10.1 배열과 포인터의 관계
__10.1.1 배열명의 정체
__10.1.2 배열명으로 배열 요소 사용하기
__10.1.3 배열명 역할을 하는 포인터
__10.1.4 배열명과 포인터의 차이
__10.1.5 포인터의 뺄셈과 관계 연산
__연습문제 / 정답 및 해설
_10.2 배열을 처리하는 함수
__10.2.1 배열의 값을 출력하는 함수
__10.2.2 배열 요소의 개수가 다른 배열도 출력하는 함수
__10.2.3 배열에 값을 입력하는 함수
__연습문제 / 정답 및 해설
_도전 실전 예제

11장 문자
_11.1 아스키 코드값과 문자 입출력 함수
__11.1.1 문자 상수 구현 방법
__11.1.2 아스키 코드
__11.1.3 scanf 함수를 사용한 문자 입력
__11.1.4 getchar 함수와 putchar 함수
__연습문제 / 정답 및 해설
_11.2 버퍼를 사용하는 입력 함수
__11.2.1 scanf 함수가 문자를 입력하는 과정
__11.2.2 scanf 함수 반환값 활용
__11.2.3 getchar 함수를 사용한 문자열 입력
__11.2.4 fflush 함수
__연습문제 / 정답 및 해설
_도전 실전 예제

12장 문자열
_12.1 문자열과 포인터
__12.1.1 문자열 상수 구현 방법
__12.1.2 char 포인터로 문자열 사용
__12.1.3 scanf 함수를 사용한 문자열 입력
__12.1.4 gets 함수를 사용한 문자열 입력
__12.1.5 fgets 함수를 사용한 문자열 입력
__12.1.6 표준 입력 함수의 버퍼 공유 문제
__12.1.7 문자열을 출력하는 puts, fputs 함수
__연습문제 / 정답 및 해설
_12.2 문자열 연산 함수
__12.2.1 문자열을 대입하는 strcpy 함수
__12.2.2 strcpy 함수 구현 방법
__12.2.3 원하는 개수의 문자만을 복사하는 strncpy 함수
__12.2.4 문자열 길이를 계산하는 strlen 함수
__12.2.5 문자열을 붙이는 strcat, strncat 함수
__12.2.6 문자열을 비교하는 strcmp, strncmp 함수
__연습문제 / 정답 및 해설
_도전 실전 예제

13장 변수의 영역과 데이터 공유
_13.1 변수 사용 영역
__13.1.1 지역 변수
__13.1.2 블록 안에서 사용하는 지역 변수
__13.1.3 전역 변수
__13.1.4 정적 지역 변수
__13.1.5 레지스터 변수
__연습문제 / 정답 및 해설
_13.2 함수의 데이터 공유 방법
__13.2.1 값을 복사해서 전달하는 방법
__13.2.2 주소를 전달하는 방법
__13.2.3 주소를 반환하는 함수
__연습문제 / 정답 및 해설
_도전 실전 예제

14장 다차원 배열과 포인터 배열
_14.1 2차원 배열
__14.1.1 2차원 배열 선언과 요소 사용
__14.1.2 2차원 배열 초기화
__14.1.3 2차원 char 배열
__14.1.4 2차원 char 배열 초기화
__14.1.5 3차원 배열
__연습문제 / 정답 및 해설
_14.2 포인터 배열
__14.2.1 포인터 배열 선언과 사용
__14.2.2 2차원 배열처럼 활용하는 포인터 배열
__연습문제 / 정답 및 해설
_도전 실전 예제

15장 응용 포인터
_15.1 2중 포인터와 배열 포인터
__15.1.1 2중 포인터 개념
__15.1.2 2중 포인터 활용 예 1
__15.1.3 2중 포인터 활용 예 2
__15.1.4 배열 요소의 주소와 배열의 주소
__15.1.5 2차원 배열과 배열 포인터
__15.1.6 2차원 배열의 요소를 참조하는 원리
__연습문제 / 정답 및 해설
_15.2 함수 포인터와 void 포인터
__15.2.1 함수 포인터의 개념
__15.2.2 함수 포인터의 활용
__15.2.3 void 포인터
__연습문제 / 정답 및 해설
_도전 실전 예제

16장 메모리 동적 할당
_16.1 동적 할당 함수
__16.1.1 malloc, free 함수
__16.1.2 동적 할당 영역을 배열처럼 쓰기
__16.1.3 기타 동적 할당 함수
__연습문제 / 정답 및 해설
_16.2 동적 할당 저장 공간의 활용
__16.2.1 동적 할당을 사용한 문자열 처리
__16.2.2 동적 할당 영역에 저장한 문자열을 함수로 처리하는 예
__16.2.3 main 함수의 명령행 인수 사용
__16.2.4 명령행 인수를 사용한 문자열 입력 예
__연습문제 / 정답 및 해설
_도전 실전 예제

17장 사용자 정의 자료형
_17.1 구조체
__17.1.1 구조체 선언과 멤버 사용
__17.1.2 다양한 구조체 멤버
__17.1.3 구조체 변수의 초기화와 대입 연산
__17.1.4 구조체 변수를 함수 매개변수에 사용하기
__17.1.5 비트 필드 구조체
__연습문제 / 정답 및 해설
_17.2 구조체 활용, 공용체, 열거형
__17.2.1 구조체 포인터와 -] 연산자
__17.2.2 구조체 배열
__17.2.3 구조체 배열을 처리하는 함수
__17.2.4 자기 참조 구조체
__17.2.5 공용체
__17.2.6 열거형
__17.2.7 typedef를 사용한 형 재정의
__17.2.8 구조체, 공용체, 열거형을 사용한 프로그램
__연습문제 / 정답 및 해설
_도전 실전 예제

18장 파일 입출력
_18.1 파일 개방과 입출력
__18.1.1 파일 개방과 폐쇄
__18.1.2 스트림 파일과 파일 포인터
__18.1.3 문자 입력 함수 fgetc
__18.1.4 문자 출력 함수 fputc
__18.1.5 기본적으로 개방되는 표준 입출력 스트림 파일
__18.1.6 텍스트 파일과 바이너리 파일
__18.1.7 + 개방 모드, fseek, rewind, feof 함수
__연습문제 / 정답 및 해설
_18.2 다양한 파일 입출력 함수
__18.2.1 한 줄씩 입출력하는 fgets와 fputs
__18.2.2 다양한 형태로 입출력 하는 fscanf, fprintf
__18.2.3 스트림 파일의 버퍼 공유 문제와 fflush 함수
__18.2.4 fread와 fwrite 함수
__연습문제 / 정답 및 해설
_도전 실전 예제

19장 전처리와 분할 컴파일
_19.1 전처리 지시자
__19.1.1 파일을 포함하는 #include
__19.1.2 매크로명을 만드는 #define
__19.1.3 #define을 사용한 매크로 함수
__19.1.4 이미 정의된 매크로
__19.1.5 매크로 연산자 #과 ##
__19.1.6 조건부 컴파일 지시자
__19.1.7 #pragma 지시자
__연습문제 / 정답 및 해설
_19.2 분할 컴파일
__19.2.1 분할 컴파일 방법
__19.2.2 분할 컴파일에서 extern과 static의 용도
__19.2.3 헤더 파일의 필요성과 중복 문제 해결 방법
__연습문제 / 정답 및 해설
_도전 실전 예제

부록
_ A. 아스키 코드표
_ B. 선택정렬 알고리즘
_ C. 날짜와 시간 함수, 난수 함수, 가변 인수 함수
_ D. C 표준 라이브러리 함수와 매크로. 678
_ E. 실전 프로젝트. 702

[예스24 제공]

출판사 서평

이 책은 저자가 10년 넘게 프로그램과 C 언어 입문자에게 강의하면서 얻게 된 ‘입문자에게 진정으로 필요하고 절실한 내용’을 담았다. 모든 장은 ‘학습 목표’를 제시하고 목표 달성에 알맞은 예제와 초보자의 눈높이에 맞힌 설명이 이어진다. 또한 ‘연습문제’와 ‘도전 실전 예제’로 실력을 다질 수 있게 한다. C 언어는 하드웨어와 가까운 프로그래밍 언어이기 때문에 단순히 문법만 익혀서는 제대로 프로그램을 할 수 없다. 그러한 이유로 C 내면의 동작 원리를 수많은 그림과 함께 알기 쉽도록 설명했기에, 입문자는 물론이고 기존 프로그래머들에게도 유용하다. 이 책이 제시하는 내면의 설명을 읽다 보면 많은 사람을 절망으로 빠트린 ‘포인터’마저도 확실히 정복하게 될 것이다!

명강사 명저 명강의, 3박자가 척척!
이 책의 서현우 저자는 10년이 넘는 동안 유수의 기업과 최고의 대학에서 현업자와 학생들에게 강의를 해왔습니다. 그간의 경험과 보고 들은 바를 모으고 정제하여 이 책에 담았습니다. 특히 대규모 인력과 비용을 투입해 만든 동영상 강의는 우리에게 익숙한 칠판 강의 형식으로 제작되어 현장감이 넘칩니다.

포인터 때문에 C를 포기했다면 다시 한 번 도전하세요!
9장에서는 포인터 개념을 눈으로 명확히 확인할 수 있도록 15개에 이르는 그림을 제시합니다. 포인터가 어려운 이유는 포인터가 시스템에서 어떻게 활용되는지 모르고 그냥 사용법을 외워 사용하기 때문입니다. char * a;에서 포인터 a는 몇 바이트를 차지하는 걸까요? 포인터가 시스템에서 어떻게 할당되고 어떻게 활용되며 왜 필요할까요? 그러한 내용을 다양한 그림을 통해 배우면 포인터 때문에 C를 포기하는 일은 없을 겁니다. 2부에서는 포인터를 응용한 다양한 활용법을 배우게 될 겁니다.

C 언어 표준 함수 완벽 수록
C 언어 표준 라이브러리는 우리가 익히 알고 있는 stdio.h와 string.h를 포함하여 10여 가지에 이르고, 표준 함수는 매크로를 포함해서 140여 가지에 이릅니다. 이렇게 많은 함수를 알고 활용하면 더 효과적으로 과제를 완성할 수 있는데요, 실제로 C를 오랫동안 개발해도 일목요연하게 정리된 표준 라이브러리를 한 번도 보지 못하고 조각조각 얻은 정보만 활용하는 경우가 드물지 않게 있습니다. __FILE__, __DATA__, va-arg, atexit은 과연 무엇일까요? 무엇이 있는지 아는 것이 힘입니다! 이제 이 책에서 C 언어 표준 함수 전체 목록을 확인할 수 있습니다.

입문자와 전문가에게 유용한 337 프로젝트의 결실!
기획 기간을 뺀 순수 집필 기간만 3년! 이 책은 ‘저자가 3년 간 집필’하고 ‘감수자 3명이 정밀하게 기술을 검토’하고 ‘베타 리더 7명이 정말로 이해 잘되도록 의견을 주고 품질을 검토하여’ 탄생했습니다. 이 책은 초보자가 쉽게 C를 습득할 수 있게 쉽게 설명하고 동시에 전문가도 소장할 가치가 있는 깊이 있는 내용을 담고 있는 337 프로젝트의 결정체입니다.

스페셜 땡큐
2013년 네이버 대표 카페인 의 회원인 감수자 두 분과 베타 리더 일곱 분이 이 책의 크고 작은 오류를 잡아주시고, 초보자를 더 쉽게 이해시킬 방법을 알려주었으며, 기술적으로 도움이 되는 조언을 해주셨습니다. 지면을 통해 다시 한 번 감사의 마음을 전합니다.
_ 한빛미디어 & 서현우

추천평

저는 이미 6권의 C 언어 책을 갖고 있지만 『이것이 C 언어다, 서현우의 C 프로그래밍 정복』이 출간되면 사무실 책상에 꽂아두려 합니다. 입문자를 위해 집필되었지만 실무자들도 개발 참고서로 쓸 수 있도록 내용 정리가 잘되어 있기 때문입니다. 이미 많은 C 언어 서적이 나와 있음에도 불구하고 이 책은 출간할 만한 가치가 있습니다. 어려운 주제는 생략하고 쉬운 책을 표방하는 서적들과는 달리 C 프로그래머로서 알아야 하는 내용을 독자들이 정면돌파할 수 있게 돕기 때문입니다.
『이것이 C 언어다, 서현우의 C 프로그래밍 정복』을 통해 프로그래밍과 인연을 맺어보길 여러분에게 권해봅니다.
감수자_박상현, 삼성탈레스 전문연구원
『뇌를 자극하는 알고리즘』 (2010 대한민국 우수학술도서) ,
『뇌를 자극하는 C# 4.0 프로그래밍』 저자

제가 처음 C 언어에 입문했던 서적은 『터보-C 2.0 길라잡이』라는 책이었습니다. 게다가 제대로된 정규 교육 과정을 2003년 이후에나 밟았습니다. 한때는 프로그래밍은 커녕 컴퓨터 자체에도 익숙치 않던 제가 프로그래머가 될 수 있었던 것은 좋은 입문서 덕이었다고 생각합니다. 그중에서도 이미 절판된 『터보-C 2.0 길라잡이』와 『캠퍼스 C』가 가장 기억에 남습니다. 이 책은 그 두 책을 대체하기에 충분히 쉽고 적절한 입문서입니다. 이 책으로 C 언어의 세계에 발을 들여보신다면, 앞으로의 프로그래머 생활에 두고 두고 기억에 남을 서적이 되리라 확신합니다.
감수자_김성훈, 마이에트 엔터테인먼트 온라인 게임 프로그래머
건즈2, 팡야, 포키포키, 카오스 온라인 외 다수

다른 서적에서 찾기 힘든 이 책만의 장점을 또 한 가지 뽑으라고 한다면, 자주 사용하는 표준 입력 함수의 내부 구동까지 꼼꼼히 설명해서 진정으로 깊이 있게 C를 이해하는 데 큰 도움이 된다는 겁니다. 따라서 기초가 약한 초보자부터 현업 개발자 모두 이 책을 통해 얻을 수 있는 지식이 있다고 생각합니다. 제대로 C 언어를 배우고 싶은 분들에게 이 책을 추천해드립니다.
감수자_김대정
한양대학교 차세대 네트워크 연구실 석사 과정
코오롱 계열사 근무 중 학업의 꿈을 품어 네트워크 분야 수학 중

솔직히 C 언어 책이면 비슷비슷하겠지 하고 별 기대를 안 했습니다. 근데 책을 읽을수록 정말 괜찮다는 생각이 들었습니다. 기존 책들은 문법을 설명하기 바쁘고 소스를 이해하기 바쁩니다. 하지만 이 책은 원리를 빠르게 알 수 있도록 친절하게 설명하여 매력적입니다. 게다가 좀 깊게 생각해야겠구나 하는 부분마다 어김없이 소스로 문제점을 보여주고 원인과 해결 방법을 설명합니다.
처음 C 언어를 접할 때, 문법을 이해하기 바쁘고 원리와 동작을 이해하지 못한 채 코드를 작성했었습니다. 책으로만 이해하는 데 한계가 있었고 필요 없거나 많이 쓰지 않는 낡은 문법도 있었습니다. 그래서 시대가 변하는 만큼 책도 변해야 한다고 느꼈습니다. 새로 C 언어를 배우는 입문자에게 정말 필요한 것은 ‘왜? 어떻게?’ 동작하는지에 대한 원리를 다루는 설명일 겁니다. 바로 이런 부분을 이 책이 담고 있습니다. 궁금했던 부분들을 시원하게 긁어주고, 하나하나 자세히 설명하고 있습니다. 이 책은 프로그래머로 첫발을 딛는 데 있어서 필수 지침서로 삼기에 손색이 없다고 생각합니다.
베타 리더_ 홍지호
고려대학교 융합소프트웨어 대학원 석사 과정

실무에서 가장 중요한 것은 기본입니다. 그런 생각은 일할수록, 경험이 늘어날수록 자주 하게 되며, 선배는 물론이고 (친한) 상사들도 자주 하는 말입니다. 그런 면에서 이 책은 기본기를 다시 다지기에 적합했습니다. 컴파일러의 실행 순서도를 통해 프로그램의 특징들을 다시 한 번 상기시킬 수 있었고, 메모리 사용에 대한 설명과 예시가 있는 점도 인상적이었습니다. 제가 처음에 학습할 때는 컴파일러나 메모리 등에는 전혀 관심이 없었는데, 이제는 관심이 생기더라고요 ^^*
잊고 있었던 기본기를 다시 다져볼 기회를 주신 한빛미디어 관계자분들께 감사의 말씀을 드립니다.
베타 리더_조명주
(주)에어텍시스템, 프로그래머

저는 이 책을 통해 소프트웨어에 대한 밑그림을 머릿속에 그리고 C 언어를 편하게 접하게 되었습니다. 비록 2주라는 짧은 기간이었지만 정말 빠른 속도로 머릿속에 C를 넘어 소프트웨어 그림을 그릴 수 있었습니다. 만일 하드웨어를 공부할 때 이 책처럼 쉽게 이해할 수 있게 쓰인 책을 만났다면 지금 이 시점에서 제 하드웨어에 대한 지식은 더 높은 수준이 됐을 것이라 확신합니다.
베타 리더_김영목
HUGLE

‘프로그램이란 하나의 이야기를 엮어나가는 것’이라는 저자의 의도가 참 마음에 와 닿았습니다. 책 요소마다 반드시 이해하고 넘어가야 할 프로그래밍 원리는 이미지로 쉽게 정의해 놓았으며, 함수마다 간결한 정의를 해놓아서 책을 완독하고 난 후 C 언어에 대한 어떠한 질문에도 정의와 원리만큼은 분명하게 설명할 수 있다는 자신감이 들 정도였습니다. 그런 차원에서 취업을 대비하고 있는 초보 프로그래머의 눈높이에 잘 들어맞는 책이라고 생각합니다.
공공연하게 많은 책을 보고, 프로그래밍은 어렵고 공부할 게 많다고 지레짐작하여 포기하려는 많은 사람에게 자신 있게 말하고 싶습니다. 이 책으로 프로그래밍을 배워 자신만의 재밌는 이야기를 써내려 가길 바란다고...
베타 리더_이찬우
고려대학교 대학원 석사 과정

일반적인 C 언어 책들과는 조금 다른 접근이지 않았나 싶습니다. 보통 C 언어 책에서 나오지 않는 문법을 다수 다루고 있어 굳이 웹검색을 하는 수고를 할 필요가 없을 정도입니다. 특히 제시되는 예제들은 너무 짧지 않으면서도 복잡하지 않아서 쉽게 이해하고 빠르게 익히기에 안성맞춤인 듯싶습니다.
베타 리더_ 황대선
창원대학교 정보통신공학과

특히 C에서 어렵다고 얘기하는 포인터에 대해서 주소, 변수, 포인터의 관계를 다양한 예제와 수많은 그림으로 자세히 다루어 독자들의 이해를 돕습니다. 예를 들어 12.1.6절에서는 시스템 구조 내 I/O 버퍼와 스트림의 관계를 쉽고 명확하게 보여주는데, 사실 이 부분은 다른 책으로는 쉽게 이해되지 않았던 부분입니다.
C 언어 입문서의 독자층이 보통 대학교 1학년 또는 갓 프로그래밍을 시작한 입문자라는 점을 고려할 때 이러한 상세한 설명과 그림은 정말로 큰 도움을 줍니다. 각 장의 ‘마무리’에서는 배웠던 것을 다시 한 번 되새김질시켜주고 연습문제는 그 장에서 배운 바를 제대로 습득했는지 갈무리할 수 있게 핵심적인 내용을 다루고 있습니다.
베타 리더_조민철
인하대학교 10학번

특히 초보자(입문자)들이 가장 난해해한다는 포인터 부분에서의 다양한 예제와 자세한 설명은 이 책의 백미입니다. 왜 포인터가 필요한지, 어떻게 사용하는지, 어떻게 메모리를 참조하는지 등을 알기 쉽게 풀어놓았기 때문입니다. 저도 입문자로서 여러 책을 읽었지만 포인터 부분을 이해하기가 쉽지 않았는데요, ‘진작에 이 책이 나왔더라면 그렇게 오랜 시간 혼돈 속에서 헤매지 않았을 걸’이라는 안타까운 생각이 들 정도였습니다.
여러분! C 언어 입문서를 고민하고 계시나요? 이 책을 보시라고 감히 추천해드립니다. 이 책이 제시하는 흐름을 따라가고, 책에 있는 예제를 변형해보고 직접 코딩을 해보세요. 그렇게 하면 저처럼 그동안 이해 못 했던 부분을 분명히 이해하게 될 겁니다.
베타 리더_김원재
호남대학교 컴퓨터 공학과

[인터넷 교보문고 제공]

QuickMenu