C 언어 코딩 도장: 따라하기, 연습하기, 심사하기로 배우는 C 언어 프로그래밍

저작권 안내
  • 책 또는 웹사이트의 내용을 복제하여 다른 곳에 게시하는 것을 금지합니다.
  • 책 또는 웹사이트의 내용을 발췌, 요약하여 강의 자료, 발표 자료, 블로그 포스팅 등으로 만드는 것을 금지합니다.

책 구입

전자책 구입

목차

예제 소스

저작권 정보

  • C 언어 코딩 도장(이하 '책')의 저작권은 이재홍에게 있습니다.
  • 책의 출판권 및 배타적발행권과 전자책의 배타적전송권은 (주)도서출판 길벗에게 있습니다.
  • 책의 내용을 복제하여 블로그, 웹사이트 등에 게시할 수 없습니다.
    • 링크 및 SNS 공유는 허용합니다.
  • 책의 내용을 변경할 수 없습니다.
  • 책의 내용을 상업적으로 사용할 수 없습니다.
  • 책의 내용을 어떠한 형태로든 재배포할 수 없습니다.

저자 서문

컴퓨터만큼 발전이 빠른 분야도 없습니다. 컴퓨터가 만들어지고 불과 50여 년 만에 상상을 초월하는 성능과 기능을 갖추게 되었습니다. 처음 접한 컴퓨터는 8비트 컴퓨터였는데 당시에는 그냥 글자가 화면에 나오는 타자기 수준이었습니다. 그 이전에는 집채만 한 군사용 계산기였죠. 하지만 지금은 현실과 구분되지 않을 정도의 화려한 그래픽으로 된 게임을 즐기고, 컴퓨터는 절대 사람에게 이길 수 없다고 여겨졌던 바둑마저도 사람을 이기는 수준에 이르렀습니다.

전기 전자 기술이 컴퓨터 하드웨어를 고성능으로 발전시켰지만, 사실 컴퓨터의 발전은 소프트웨어의 발전이라 할 수 있습니다. 게임도 알파고도 전부 소프트웨어입니다. 우리가 실제로 컴퓨터를 접하는 대상은 소프트웨어죠.

이렇게 발전한 소프트웨어에는 프로그래밍 언어가 큰 역할을 했습니다. 아주 초창기에는 사람이 직접 전선을 연결해서 원하는 계산을 하기도 했고, 한동안 기계어나 어셈블리를 입력하여 개발하기도 했습니다. 개발하기도 어렵고, 불편한 데다가 기간도 오래 걸렸습니다.

시간이 흘러 사람이 쉽게 알아볼 수 있는 프로그래밍 언어가 나오면서 발전 속도가 훨씬 빨라졌습니다. 대표적인 언어가 C 언어인데 윈도우, 리눅스, OS X 같은 운영체제와 다양한 소프트웨어가 C 언어로 개발되었습니다. 이후 수많은 프로그래밍 언어가 나오면서 소프트웨어 시대를 열었습니다.

현재 우리가 컴퓨터로 접하는 화려한 그래픽의 게임, 인터넷을 둘러보는 웹 브라우저, 스마트폰의 앱은 모두 소프트웨어입니다. 자판기, 지하철 전광판, 자동차 엔진, 엘리베이터, 신호등도 눈에 보이지 않지만, 모두 소프트웨어입니다. 일상생활이 소프트웨어로 시작해서 소프트웨어로 끝난다고 해도 과언이 아닙니다.

시대가 시대인 만큼 소프트웨어는 더욱 많이 사용될 것이고 직업으로서도 전망이 밝다고 생각합니다.

우리는 여기서 C 언어를 배우고자 합니다. C 언어는 프로그래밍의 기본이라 알려져 있지만, 배우기는 쉽지가 않습니다. 언어 자체는 간단하지만, 컴퓨터의 구조와 운영체제의 동작까지 익혀야 원활하게 사용할 수 있기 때문입니다.

제가 C 언어를 처음 배울 때를 생각해보면 여러 가지 어려움이 많았습니다. 포인터가 이해되지 않아서 쩔쩔매기도 했고, 자료형 변환이 이해되지 않아서 그냥 문법만 외워서 쓰기도 했습니다. 그래서 이 책을 쓰면서 어떻게 하면 좀 더 쉽게 C 언어를 배울 수 있을까 고민을 많이 했습니다.

C 언어의 문법과 사용 방법을 설명하면서 어려운 컴퓨터 구조나 운영체제 부분은 최소한으로 줄이고 필요한 부분에만 집중했습니다. 좀 더 깊고 자세한 설명은 참고와 Q&A를 통해서 익힐 수 있게 구성했습니다.

프로그래밍 언어는 단순히 공부만 해서 되는 것이 아니라 연습을 하면서 자연스럽게 원리를 익히는 것이 중요합니다. 이 책에서는 직접 타이핑하면서 연습할 수 있도록 코딩 도장 웹 사이트를 제공합니다. 코딩 도장의 심사 문제를 통해 스스로 생각하며 풀어보는 과정이 프로그래밍에 대한 이해를 깊게 해줄 것입니다.

베타테스트 기간 동안 책 내용에 대한 의견을 주신 분들과 심사 문제를 테스트해주신 모든 분께 감사의 말씀을 드립니다. 아무쪼록 C 언어 학습에 어려움을 겪고 있는 모든 분에 도움이 되었으면 좋겠습니다.

2016년 6월 남재윤(이재홍)


저작권 안내

이 웹사이트에 게시된 모든 글의 무단 복제 및 도용을 금지합니다.
  • 블로그, 게시판 등에 퍼가는 것을 금지합니다.
  • 비공개 포스트에 퍼가는 것을 금지합니다.
  • 글 내용, 그림을 발췌 및 요약하는 것을 금지합니다.
  • 링크 및 SNS 공유는 허용합니다.

Published

2022-08-20