나에게 필요한 지식과 기술을 검색해 보세요.

C 프로그래밍의 이해(개정 3판)

지은이

스티브 오울린

옮긴이

최성원

출간일

2001.05.04

레벨

중급

평점

5(2명)

정가

23,000

판매가

20,700

총 결제 금액

10%

20,700

적립 예정

1,030P

C 언어의 기본 개념에서 실무 응용까지 모두 배울 수 있는 책

“나는 다른 C 프로그램에 관련한 책을 공부한 후에 구문과 문법을 이해할 수 있었고, 다른 초보 C 프로그래머를 도와 줄 수는 있었지만, 많은 양의 코드는 작성하지 못했다. 하지만 이 책을 읽고 난 후, 내가 작성하지 못하는 코드는 없었다.” - 찰스 톰슨 2000. 11. 29

기존의 C 언어에 대한 책이 주로 간단한 프로그래밍 예제로 구성되어 있고 문법만 설명한 것과는 달리 이 책은 틀리기 쉬운 오류와 디버깅 과정도 자세히 설명한다. 또 가독성이 떨어지는 프로그램을 작성하지 않도록 하는 방법과 프로그래머가 작업 과정에서 가독성이 떨어지는 프로그램을 유지·보수 해야 하는 경우 이를 이해하는 방법도 알려준다. 또한 독자들이 직접 프로그램 해 볼만한 유용한 예제들이 많이 실려 있다.

이 책의 특징은 다음 두 가지로 요약할 수 있다.

  • C 언어 자체는 물론 프로그램을 설계하는 방법도 상세하게 설명한다.
  • 단순히 버그 없이 작동하는 프로그램 설계에 만족하지 않고, 유지·보수 하기가 편리한 프로그램을 만들 수 있는 스타일에 대해서도 설명한다. 또한 유닉스 프로그래밍 유틸리티뿐 아니라 비주얼 C++나 터보 C처럼 윈도우 시스템에서 사용하는 통합개발 환경의 사용법을 소개하고, C 언어의 개념과 특징이 충분히 반영되어 있는 통계 프로그램을 실어 놓았다. 독자는 이 프로그램을 통해 좀더 큰 프로그램을 작성하는 방법인 모듈 프로그래밍 기법도 배울 수 있을 것이다.

    주요 내용 및 구성

    이 책은 C 언어의 기초 개념을 익힌 상태에서 좀더 심화된 내용을 공부하고자 하는 학습자에게 가장 유용한 책이다.
    총 4부로 구성되어 있으며 각 부의 내용 및 구성은 다음과 같다.
    • 제 1부는 기본편으로 C 프로그래밍 전체에 대해 간략하고 쉬운 어조로 살펴보며(3장까지), 4장에서 7장까지는 C 언어의 가장 기초적인 구성요소(자료형, 단순 제어문 등)를 설명한다.
    • 제 2부는 1부에서 설명한 기초적인 내용을 바탕으로 좀더 심화된 C 문법에 대해 다룬다.
    • 제 3부는 고급 프로그래밍 개념이란 주제로 고급 자료형(포인터)의 사용과 큰 프로그램을 만드는 방법인 모듈 프로그래밍을 다루며, 종합 예제와 같은 유용한 소스 프로그램도 제공한다.
    • 제 4부는 용어 해설 등 C 언어 공부에 필요한 기타 자료들을 부록으로 제공한다.

  • 저자

    목차

    역자 서문
    차례
    서문

    1부. 기본편

    1장. C 언어란?
        프로그래밍 과정
        C의 역사
        C의 작동 원리
        C를 익히는 방법

    2장. 프로그래밍의 기초
        프로그램의 개념에서 실행까지
        실제 프로그램 만들기
        명령행 컴파일러를 이용하여 프로그램 만들기
        통합 개발 환경을 이용하여 프로그램 만들기
        유닉스에서 도움말 사용법
        통합 개발 환경에서 도움말 사용법
        IDE 사용법
        프로그래밍 연습

    3장. 스타일
        일반적인 코딩 연습
        코딩 신앙
        들여쓰기와 코드 형식
        명쾌성
        단순성
        요약

    4장. 기본 선언문과 표현식
        프로그램 구성 요소
        프로그램의 기본 구조
        간단한 표현식
        변수와 저장
        변수 선언문
        정수
        할당문
        printf 함수
        부동 소수점
        부동 소수점과 정수 나누기
        문자
        해답
        프로그래밍 연습

    5장. 배열, 한정어, 수 읽기
        배열
        문자열
        문자열 읽기
        다차원 배열
        수 읽기
        변수 초기화
        정수형
        실수형
        상수 선언
        16진수와 8진수 상수
        축약 연산자
        부작용
        ++x 와 x++
        부작용 문제
        해답
        프로그래밍 연습

    6장. 분기와 제어문
        if문
        else문
        strcmp를 사용하지 않는 방법
        반복문
        while문
        break문
        continue문
        부작용을 일으킬 수 있는 할당문
        해답
        프로그래밍 연습

    7장. 프로그래밍 과정
        준비하기
        명세화
        코드 설계
        원형
        Makefile
        테스트
        디버깅
        유지보수
        개정
        전자 고고학
        프로그램에 표시하기
        디버거 사용하기
        브라우저로써의 편집기
        주석 달기
        프로그래밍 연습

    2부.간단한 프로그래밍

    8장. 제어문
        for문
        switch문
        switch, break, continue
        해답
        프로그래밍 연습

    9장. 변수 영역과 함수
        영역과 기억부류
        함수
        매개변수가 없는 함수
        구조화된 프로그래밍
        재귀호출
        해답 
        프로그래밍 연습

    10장. C 전처리기
        #define문
        조건부 컴파일
        파일 포함하기
        매개변수가 있는 매크로
        고급 기술
        요약
        해답
        프로그래밍 연습

    11장. 비트 연산
        비트 연산자
        비트 연산자 and 
        비트 연산자 or 
        비트 연산자 xor 
        1의 보수 연산자
        좌측/우측 시프트 연산자
        비트 설정, 지움, 테스트
        비트맵 그래픽
        해답
        프로그래밍 연습

    12장. 고급 데이터형
        구조체
        공용체
        typedef
        열거형
        형변환 연산
        비트 필드와 팩키드 구조체
        구조체 배열
        요약
        프로그래밍 연습

    13장. 단순 포인터
        함수 인수로서의 포인터
        const 포인터
        포인터와 배열
        포인터를 사용하지 않는 법
        포인터를 사용한 문자열 나눔
        포인터와 구조체
        명령행 인수
        해답
        프로그래밍 연습

    14장. 파일 입/출력
        전환 루틴
        바이너리와 아스키 파일
        EOL 퍼즐
        바이너리 I/O
        버퍼링 문제
        비버퍼화된 I/O
        파일 형식 설계
        해답 
        프로그래밍 연습

    15장. 디버깅과 최적화
        디버깅
        대화형 디버거
        이진 검색 디버깅
        실행시 에러
        이야기식 디버깅 방법
        최적화
        해답
        프로그래밍 연습

    16장. 부동 소수점
        부동 소수점 형식
        부동 소수점 수의 더하기/ 빼기
        곱하기
        나누기
        오버플로우와 언더플로우
        반올림 에러
        정확도
        반올림 에러 최소화
        정확도 결정
        정밀도와 속도
        멱급수
        프로그래밍 연습

    3부. 고급 프로그래밍 개념

    17장. 고급 포인터        
        포인터와 구조체
        free 함수
        연결 리스트
        구조체 포인터 연산자
        정렬된 연결 리스트
        이중 연결 리스트
        트리
        트리 출력
        전체 프로그램
        체스 프로그램에 사용하는 데이터 구조
        해답
        프로그래밍 연습

    18장. 모듈 프로그래밍
        모듈
        Public과 Private
        extern 지시자
        헤더
        모듈의 몸체
        무한 배열을 사용하는 프로그램
        다중 파일에 대한 Makefile
        무한 배열 사용하기
        모듈로 작업 나누기
        모듈 나누기 예제: 텍스트 편집기
        컴파일러
        스프레드 시트
        모듈 설계 가이드라인
        프로그래밍 연습

    19장. 오래된 컴파일러
        K&R 스타일 함수
        라이브러리 변화
        사라진 특징
        Free/Malloc의 변화
        lint
        해답

    20장. 이식성 문제
        모듈
        워드 크기
        바이트 순서 문제
        정렬 문제
        NULL 포인터 문제
        파일명 문제
        파일 형식
        요약
        해답

    21장. 많이 사용되지 않는 C의 특징
        do/while
        goto
        ? : 조건 연산자
        , 연산자
        volatile 지시자 
        해답

    22장. 종합 예제
        요구사항
        설계 명세서
        코드 설계
        코딩
        함수 설명
        확장성
        테스트
        수정판
        최종 경고
        프로그램 파일
        프로그래밍 연습

    23장. 프로그래밍 격언
        일반
        설계
        선언
        switch문
        전처리기
        스타일
        컴파일
        끝마치며
        해답

    4부. 기타 언어 특징

    부록A. 아스키 표
    부록B. 수 범위와 매개변수 전달 방식
    부록C. 연산자 우선순위 규칙
    부록D. 멱급수를 이용한 sine 함수 계산 프로그램
    용어 해설

    찾아 보기

    리뷰

    23,000

    10%

    20,700