"아마존 C프로그래밍 학습서 부문 1위"
이 책은 완전 초보자를 위한 책이다. 한번도 프로그램을 해본 적이 없다면 이 책은 바로 여러분을 위한 책이다. 프로그래밍 개념에 대해서 아무 생각이 없어도 괜찮다. 심지어 여러분이 C의 철자를 몰라도 이 책으로 C프로그래밍을 배울 수 있다.
'완전 초보자'라는 말은 많은 의미를 가지고 있다. 아마도 여러분은 C를 배우려고 시도했지만, 중간에 포기했을 수 있다. 그것은 다른 책이나 강의에서 C언어를 어렵고, 전문적으로 설명하기 때문이다. 여러분들은 다른 언어로 프로그램해 본 적은 있겠지만 C언어는 처음일 수 있다. 이런 경우라도 이 책의 32개의 짧은 챕터를 통해서 빠르게 C언어를 배울 수 있다.
◆ 저자소개
그레그 페리(Greg Perry)
컴퓨터 프로그래밍과 응용 프로그램 분야에 관해 책을 쓰면서 강의도 진행하고 있다. Perry는 프로그래밍이라는 어려운 이야기를 초보자의 눈높이에서 쉽게 설명하는 것으로 잘 알려져 있다. Perry는 20년 동안 프로그래머인 동시에 저명한 강사였다. 컴퓨터과학으로 학사 학위를 취득하고 석사 학위는 기업 금융으로 받았다. 책을 쓰지 않으면, 전국적으로 컨설팅과 강의를 해 왔는데 그 중에서 소프트웨어 개발 프로그래밍 콘퍼런스는 정말 유명하다. Perry는 75종 이상의 컴퓨터 전문도서의 저자이다. 가끔 시간이 나면 그가 정말 좋아하는 이탈리아에 대한 여행 강의도 짬짬이 진행하고 있다.
딘 밀러(Dean Miller)
20년이 넘는 기간동안 저술활동과 사업을 해 온 작가이면서 편집자이다. 수년 동안 그는 수많은 베스트셀러 책을 만들어 왔는데, Sams출판사에서 출간된 Teach Yourself in 21 Days, Teach Yourself in 24 Hours, the Unleased 시리즈 작업에 참여하였다. C프로그래밍에 대한 책도 당연히 있지만, 한편으로는 프로 레슬링에 대한 책도 만든 적이 있다. 이상하게 들릴 지도 모르지만 이들 2개의 주제를 하나로 묶을 수 있는 방법을 열심히 찾고 있다.
◆역자소개
천인국
서울대학교 전자공학과에 입학하여 1983년에 공학사 학위를 취득하였고, 한국과학기술원 대학원에 입학하여 1985년에 전기 및 전자공학과 석사 학위를, 1993년에 박사학위를 취득하였다. 1985년부터 1988년까지 삼성전자의 종합연구소에서 주임 연구원으로 재직하였고, 1993년부터 현재까지 순천향대학교 컴퓨터공학과 교수로 재직중이다. 2005년에는 캐나다 UBC에서 방문교수를 지냈다.
저서로는 「C++ Espresso」(2010, 인피니티북스), 「Power C++」(2010, 인피니티북스), 「Power JAVA 2판」(2012, 인피니티북스), 「HTML5 + CSS3 + JavaScript로 배우는 웹프로그래밍 기초」(2014, 인피니티북스), 「쉽게 풀어쓴 C언어 Express」(2007, 생능출판사), 「C언어로 쉽게 풀어쓴 자료구조」(2005, 생능출판사), 「누구나 쉽게 즐기는 C언어 콘서트」(2010, 생능출판사)등이 있다.
Chapter 01 C프로그래밍이 도대체 뭐 길래 다들 난리지?
프로그램은 무엇인가?
C프로그램을 작성하기 위하여 필요한 것
프로그래밍 과정
C 사용하기
비주얼 스튜디오 설치하기
Chapter 02 첫 번째 프로그램 작성하기
첫 번째 프로그램
비주얼 스튜디오로 첫 번째 프로그램 만들기
main()함수
자료형
C에서의 문자
C에서의 숫자
마무리 예제
Chapter 03 주석으로 코드를 명확히 하기
코드를 설명하기
주석 지정하기
여백
주석의 두 번째 형태
Chapter 04 드디어 첫 작품 발표!
실행결과를 화면에 표시하기
printf()를 사용하는 방법
문자열 출력하기
이스케이프 시퀀스
변환 문자
통합 예제
Chapter 05 프로그램에 변수 추가하기
변수의 종류
변수 이름 짓기
변수 정의하기
변수에 데이터 저장하기
Chapter 06 프로그램에 단어를 추가하기
문자열 종결자를 이해하기
문자열의 길이
문자 배열: 문자들의 리스트
문자열 초기화하기
Chapter 07 #include와 #define으로 강력한 프로그램 만들기
파일 포함하기
#include 지시어 배치하기
상수 정의하기
헤더 파일 만들기와 프로그램
Chapter 08 사용자와 상호작용하기
scanf() 살펴보기
scanf()를 위한 입력 요청 메시지
scanf()의 문제점
Chapter 09 숫자 처리하기- C를 이용한 산술연산
기본적인 산술 계산
연산자의 우선 순위
괄호로 연산 우선 순위를 재정의하기
대입 연산자
Chapter 10 대입과 수식으로 변수 파워업하기
복합 연산자
연산 우선 순위에 주의할 것
형변환: 헐리우드가 C에서 아이디어를 얻을 수도 있다.
Chapter 11 길 위의 분기점- 경로 선택을 위한 데이터 검사
데이터 검사하기
if 사용하기
else 사용하기
Chapter 12 논리 연산자로 여러 가지 중에서 하나 선택하기
논리적으로 되기
부정 연산자를 피해 가기
논리 연산자의 우선순위
Chapter 13 프로그램을 강력하게 만들어주는 추가 연산자
if...else대신에 조건 연산자 사용해보기
증감연산자: ++와 --
sizeof() 사용하기
Chapter 14 반복 루프를 사용해서 시간과 노력을 절약해 보자!
while루프
while 사용하기
do...while 사용하기
Chapter 15 for 반복문- 반복하는 또 다른 방법
for 반복문
for로 작업하기
Chapter 16 반복문에서 탈출하기
break 사용하기
continue 사용하기
Chapter 17 switch 문장 사용하기
switch 만들기
break와 switch
효율성 고려
Chapter 18 프로그램의 입출력 능력 강화
putchar()와 getchar()
줄바꿈 문자 설명
조금 더 빠르게: getch()
Chapter 19 문자열 입력받기
문자 검사 함수
대소문자를 검사하는 함수
대소문자 관련 함수
문자열 함수
Chapter 20 컴퓨터로 고급 계산해보기
산술 연습하기
변환 함수들
삼각함수
난수 생성 함수
Chapter 21 배열 다루기
배열 복습하기
배열 안에 값 저장하기
Chapter 22 배열 탐색하기
배열 채우기
탐색하기
Chapter 23 데이터를 순서대로 정렬하기
물건 정돈하기: 정렬
빨라진 탐색
Chapter 24 포인터의 비밀 파헤치기
메모리 주소
포인터 변수 선언하기
역참조 연산자 * 사용하기
Chapter 25 배열과 포인터
배열 이름은 포인터이다
리스트에서 아래로 내려가기
문자와 포인터
길이에 주의한다
포인터의 배열
Chapter 26 컴퓨터 메모리 극대화하기
히프란 무엇인가?
그건 그렇고 도대체 왜 하프 메모리가 필요할까?
어떻게 히프를 할당받는가?
만약 충분한 히프 메모리가 없다면?
히프 메모리 할당 해제하기
다중 할당
Chapter 27 구조체로 데이터 구조 만들기
구조체 정의
구조체 변수에 데이터 저장하기
Chapter 28 순차 파일을 컴퓨터에 저장하기
디스크 파일
파일 열기
순차 파일 사용하기
Chapter 29 랜덤 파일 저장하기
랜덤 파일 열기
파일 안에서 돌아다니기
Chapter 30 함수를 사용하여 프로그램 체계화하기
함수를 이용한 구조화
지역 변수와 전역 변수
Chapter 31 함수에 변수를 전달하기
인수 전달하기
인수를 전달하는 방법
값으로 전달하기
주소로 전달하기
Chapter 32 함수에서 값 반환하기
값 반환하기
return 자료형
함수 원형
정리하기
Appendix A 아스키 코드표
Appendix B Draw Poker 프로그램
이 책은 아래와 같은 증상에 효과적이다
1. 친구들이 프로그래머로 취직해서 잘 나가는 것을 보는 것이 배아픈 증상
2. C언어를 배우고 싶기는 하지만 엄두가 나지 않는 증상
3. 오래되고 낡아서 먼지 쌓인 두뇌피질을 자극하고 싶어서 어쩔 줄 모르는 증상
이 책은 일반적인 프로그래밍 책과는 다르다. 즉, 여러분의 눈높이에서 이야기하는데, 이것은 친구가 여러분 앞에 앉아서 C를 가르치는 것과 똑같다. ‘어서와, C언어는 처음이지!’는 쉬운 말로 자연스럽게 설명한다.
이제부터는 딱딱한 컴퓨터 용어가 아니라 늘 쓰던 말투로 여러분에게 설명할 것이다. 짧게 이어진 장들과 관련 그림들, 쉬운 설명들은 다른 어떤 책들보다 미로같은 C프로그래밍의 세계를 빠르고 친절하게, 쉽게 안내할 것이다.