Do it! C 언어 프로그래밍 입문 (코딩 초보도 끝까지 따라 하는 실습형 입문서)

Do it! C 언어 프로그래밍 입문 (코딩 초보도 끝까지 따라 하는 실습형 입문서)

$27.45
Description
입문자에게는 확실한 첫걸음, 다시 시작하는 사람에겐 흔들림 없는 재도약
이 한 권으로 C 언어를 제대로 끝낸다!
C 언어를 처음 배우는 입문자부터 이미 다른 언어를 경험했거나 C 언어를 다시 배우는 사람까지 모두 만족시킬 수 있는 책이 있을까? 《Do it! C 언어 프로그래밍 입문》은 그 질문에 가장 확실한 정답이 되는 책이다.
이 책은 ‘개념 → 실습 문제 → 실력 향상 프로젝트 → 마무리 문제’로 이어지는 체계적인 흐름을 기반으로, 단순히 코드를 따라 치는 데서 그치지 않고 ‘C 언어로 사고하는 방식’을 자연스럽게 익히도록 구성했다.
변수와 자료형 같은 기초 개념에서 시작해 직접 코드를 작성해 볼 수 있는 실습 예제를 풍부하게 수록했고, 이어지는 ‘실력 향상 프로젝트'에서는 가위바위보 게임, 경마 게임 프로그램 등을 실제로 구현해 보며 C 언어의 원리를 이해할 수 있도록 했다. 또한 장이 끝날 때마다 ‘마무리 문제’로 학습 내용을 점검하며 학습자가 스스로 이해도를 점검할 수 있도록 구성했다.
이 책이 가진 가장 큰 차별점은 ‘왜 이렇게 동작하는가?’를 끝까지 파고드는 설명 방식이다. 이를 통해 C 언어의 구조와 활용 방법을 익혀 C++, 자바, 파이썬 등 다른 언어로 확장할 수 있는 기반을 만든다. 저자의 25년 프로그래밍 교육 노하우가 담긴 이 책은 학습자가 실제로 어려움을 느끼는 지점을 정확히 짚어내며, 입문자가 끝까지 학습을 이어 나갈 수 있도록 돕는 맞춤형 설명 방식이 녹아 있다.
이 책은 C 언어를 처음 배우는 사람에게는 가장 든든한 첫걸음이 되고, 다시 배우는 사람에게는 흔들렸던 기초를 정확히 세워주는 새로운 시작점이 될 것이다.
저자

조성호

중학교 시절, 아버지께서 선물해 주신 애플 II 컴퓨터를 계기로 프로그래밍의 세계에 발을 들였습니다. 한국외국어대학교 전산학과를 졸업하고, 고려대학교 컴퓨터학과에서 석사와 박사 학위를 취득했습니다. 그 후 전산개발 이사로 근무하며 개발한 소프트웨어로 ‘신소프트웨어 대상’을 수상하였습니다.
현재 한신대학교 AI·SW학부에서 운영체제, 컴퓨터 네트워크, C 언어, 자바, 웹 프로그래밍을 강의하고 있습니다. 누구나 쉽게 이해할 수 있는 전산 관련 서적을 집필하기 위해 끊임없이 연구하고 있으며, 프로그래밍의 본질을 쉽고 명확하게 전달하는 교육에 힘쓰고 있습니다.

대표 저서
•《쉽게 배우는 운영체제》(한빛아카데미, 2025)
•《미라클 HTML5+CSS3+자바스크립트》(한빛아카데미, 2024)
•《IT 세상을 만나는 컴퓨터 개론》(한빛아카데미, 2024)
•《스티브 잡스는 왜 오징어 게임을 죽였을까?》(생능북스, 2023)
•《데이터통신과 네트워킹》(인피니티북스, 2022)
•《WONDER 파이썬》(인피니티북스, 2022)
•《WONDER C》(인피니티북스, 2021)

목차

01장 프로그래밍 준비하기
01-1 컴퓨터에 작업을 지시하는 방법
_사람이 사용하기 쉬운 언어로 명령하세요
_프로그래밍 언어 3대장 ─ 파이썬, C, C++
_프로그래밍을 배울 때 C 언어로 시작하면 좋은 점
01-2 프로그램 개발 과정과 기초 용어
_프로그램을 만들고 실행하는 과정
_프로그래밍에서 사용하는 기초 용어 ─ 코드, 오류, 디버깅
01-3 프로그래밍 환경 설정
_윈도우에서 C 프로그래밍 준비하기
_macOS에서 C 프로그래밍 준비하기
_웹 브라우저에서 C 프로그래밍 준비하기
01-4 첫 번째 프로그램 만들기
_1. 비주얼 스튜디오에서 프로젝트 만들기
_2. C 소스 파일 만들기
_3. C 코드 작성하기l
_4. 컴파일하기
_5. 실행하기
_6. 오류 해결하기
마무리 문제


02장 프로그래밍 시작하기
02-1 C 프로그램의 기본 구조
_기본 구조 살펴보기
_코드를 작성할 때 기본 규칙
_주석 작성하기
_함수와 라이브러리
02-2 출력 함수 사용 방법
_printf( ) 함수의 특징
_다양한 제어 문자
_특수 문자 출력
02-3 프로그래밍을 위한 기초 지식
_진법과 표현
_논리 연산
마무리 문제


03장 변수에 데이터 담기
03-1 변수를 선언하고 사용하기
_변수란 무엇인가?
_변수 만들기
_변수 이름 규칙
_데이터 출력하기
_변수 초기화
_여러 변수 선언하기
_[실력 향상 프로젝트 01] 제곱근 구하기
03-2 입력 함수 사용 방법
_입력 함수 scanf( )
_scanf( ) 함수 사용 시 주의 사항
_비주얼 스튜디오에서 scanf( ) 사용
_[실력 향상 프로젝트 02] 사칙 연산 프로그램 만들기
마무리 문제


04장 자료형의 종류와 특징
04-1 정수 자료형
_정수형의 특징 알아보기
_음수 표현 방법
_양수만 저장하는 unsigned
_오버플로와 언더플로
_자료형의 크기와 수 표현 범위
_정수형 서식 문자
_[실력 향상 프로젝트 03] 휴대폰 요금 계산하기
04-2 실수 자료형
_실수형의 특징 알아보기
_실수 저장 방식
_실수형의 크기와 서식
_[실력 향상 프로젝트 04] 급여 계산기 만들기
04-3 문자 자료형
_문자형의 특징
_[실력 향상 프로젝트 05] 아스키코드 출력하기
04-4 상수와 매크로
_상수형 변수
_매크로
_[심화 학습] 리터럴
_[실력 향상 프로젝트 06] 라벨 만들기
마무리 문제


05장 연산자
05-1 연산자의 기본 개념과 우선순위
_연산자와 피연산자
_연산자 우선순위
05-2 주요 연산자 살펴보기
_산술 연산자
_비교 연산자
_논리 연산자
_대입 연산자
_증감 연산자
_[실력 향상 프로젝트 07] 생수 구매 비용 계산하기
05-3 기타 연산자 살펴보기
_나열 연산자와 sizeof 연산자
_형 변환 연산자
_[심화 학습] 비트 연산자
_연산자 우선순위
마무리 문제


06장 조건문
06-1 if~else 문으로 분기하기
_제어문의 기본 개념 알기
_if 문의 구조
_if ~ else 문의 구조
_중괄호와 블록
_다중 조건문
_무작위 수 만들기
_[실력 향상 프로젝트 08] 가위바위보 게임 만들기
06-2 switch~case 문으로 분기하기
_switch 문의 구조
_다중 조건문과 switch 문
_switch 문의 활용
_삼항 조건 연산자
_[실력 향상 프로젝트 09] 여행지 추첨 프로그램 만들기
마무리 문제


07장 반복문
07-1 반복문의 구조 알아보기
_반복문의 기본 개념과 구성 요소
_while 문의 구조
_for 문의 구조
07-2 for 문으로 반복 실행하기
_중첩 반복문
_시스템 명령어 실행하기 ─ system( ) 함수
_[실력 향상 프로젝트 10] 홀짝 게임 만들기
07-3 while 문으로 반복 실행하기
_while 문의 용도
_do~while 문
07-4 반복 제어하기
_break 예약어
_continue 예약어
_[실력 향상 프로젝트 11] 스탠드 게임 만들기
마무리 문제


08장 함수
08-1 사용자 정의 함수 만들기
_라이브러리 함수
_사용자 정의 함수의 필요성
_사용자 정의 함수의 구조
_사용자 정의 함수의 위치
_매개변수 사용하기
_[실력 향상 프로젝트 12] 센티-인치 변환 프로그램 만들기
08-2 변수의 종류와 범위
_지역 변수
_변수의 생존 범위
_전역 변수
_전역 변수 사용을 자제해야 하는 이유
_[실력 향상 프로젝트 13] 사운드 미터 만들기
08-3 함수의 종류와 특징
_함수의 종류
_참조에 의한 호출
_값 반환
_[실력 향상 프로젝트 14] 행운의 숫자 맞히기
마무리 문제


09장 배열
09-1 배열의 기본 사용법
_배열 선언과 사용하기
_반복문으로 배열 다루기
_배열 초기화하기
_문자형 배열로 문자열 다루기
_문자형 초기화하기
_[실력 향상 프로젝트 15] 매크로를 이용해 평균값 구하기
09-2 함수와 배열
_배열 매개변수
_문자열 매개변수
09-3 [심화 학습] 이차원 배열
_[실력 향상 프로젝트 16] 경마 게임 만들기
마무리 문제


10장 포인터
10-1 포인터 이해하기
_직접 접근과 간접 접근
_포인터 변수 선언과 초기화
_포인터에 자료형이 필요한 이유
10-2 포인터로 데이터에 접근하기
_포인터에 주소 연결
_값 대입과 주소 대입의 의미
_[실력 향상 프로젝트 17] 움직이는 경마 게임 만들기
10-3 포인터 상수화
_포인터 자체를 상수화
_포인터가 가리키는 곳의 값을 상수화
10-4 배열과 포인터
_포인터와 배열의 닮은 점
_포인터와 배열의 차이점
_포인터와 매개변수
10-5 포인터 연산
_포인터 연산에서 자료형의 의미
_[심화 학습] 포인터와 증감 연산자
_[실력 향상 프로젝트 18] 움직이는 경마 게임의 경주마 수 조절하기
마무리 문제


11장 문자와 문자열
11-1 문자와 문자열 입출력 기초
_문자열 복습하기
_입출력 버퍼
_버퍼를 사용하는 문자 입출력 ─ getchar( ), putchar( )
_버퍼를 사용하지 않는 문자 입출력 ─ _getch( )와 _putch( )
_문자열 입출력 ─ gets( ), puts( )
_[실력 향상 프로젝트 19] 40칸 광고판 만들기
11-2 문자/문자열 처리 라이브러리 함수
_문자 처리 함수
_문자열 처리 함수
_문자열 복사와 붙이기
_문자열 비교와 찾기
_문자열을 숫자로 변환하기
_[실력 향상 프로젝트 20] 비밀번호 유효성 검사 프로그램 만들기
11-3 문자열 묶음 다루기
_이차원 배열로 문자열 묶음 다루기
_포인트 배열로 문자열 묶음 다루기
_[실력 향상 프로젝트 21] 사다리 타기 프로그램 만들기
마무리 문제


12장 구조체
12-1 구조체 이해하기
_구조체 정의와 변수 선언
_구조체에 데이터 넣기
_사용자 정의 자료형 만들기 ─ typedef
_구조체 복사하기
_멤버 구조체
_[실력 향상 프로젝트 22] 누가 형님일까? ─ 나이 비교 프로그램 만들기
12-2 구조체 배열과 포인터
_구조체 배열 만들기
_구조체 배열 사용하기
_구조체 포인터 이해하기
_구조체 포인터를 멤버로 가지는 구조체
_[실력 향상 프로젝트 23] 반복문을 이용해 연결 리스트 출력하기
12-3 구조체와 함수
_함수에 구조체 보내기
_함수에 구조체 주소 보내기
_함수에서 구조체 반환하기
_함수에 구조체 배열 보내기
마무리 문제


13장 파일 입출력
13-1 파일 이해하기
_스트림과 버퍼
_파일 사용 준비하기
_파일 디스크립터와 위치 지시자
_파일 열기와 닫기
_[실력 향상 프로젝트 24] 파일 열고 닫기
13-2 파일 입출력 다루기
_문자 단위 입출력
_문자열 단위 입출력
_서식을 사용한 입출력
_파일 위치 지시자
_[실력 향상 프로젝트 25] 파일 내용을 거꾸로 출력하기
마무리 문제


14장 전처리와 다중 소스 파일
14-1 전처리와 매크로
_전처리 이해하기
_함수 매크로
_매크로에서 문자열 사용
_내장 매크로
_열거형
_[실력 향상 프로젝트 26] 매크로를 사용해 정렬 알고리즘 만들기
14-2 다중 소스 파일
_다중 소스 파일 이해하기
_다중 소스 파일의 처리 과정
_다중 소스 파일 설계
_다중 소스 파일 실습
_정적 변수와 외부 변수 ─ static, extern
마무리 문제


15장 이중 포인터와 함수 포인터
15-1 이중 포인터
_이중 포인터 이해하기
_이차원 배열과 이중 포인터
_함수와 이중 포인터
_main( ) 함수의 매개변수
_void 포인터
15-2 함수 포인터
_함수 포인터 이해하기
_함수 포인터 사용하기
_[실력 향상 프로젝트 27] 이벤트 시뮬레이터 만들기
마무리 문제


출판사 서평

배우는 순서 그대로 실력이 쌓이는 3단계 학습 구조!
C 언어의 기본기를 체계적으로 익혀야 다른 프로그래밍 언어를 배우더라도 두렵지 않습니다. 이 책은 ‘왜 이렇게 동작하는가?’를 스스로 고민하도록 유도하여 C 언어로 생각하는 법을 자연스럽게 습득하는 3단계 학습 구조를 제공합니다.
첫 번째 단계는 개념 학습 단계로, C 언어의 필수 개념을 꼼꼼하고 이해하기 쉽게 설명합니다. 귀여운 캐릭터를 활용해 학습 난도를 낮추고, 어렵거나 헷갈리기 쉬운 개념도 쉽게 풀어내어 입문자도 무리 없이 따라올 수 있게 구성했습니다. 두 번째 단계에서는 실습 중심 학습을 통해 C 언어의 핵심 문법을 ‘Do it! 실습’으로 직접 익혀 보며 기초를 탄탄하게 다질 수 있습니다. 마지막 단계는 심화 학습 단계로, 앞서 배운 개념을 실제로 활용해 볼 수 있도록 ‘실습 문제’, ‘마무리 문제’, ‘실력 향상 프로젝트’를 제공하여 스스로 점검하고 실력을 확장할 수 있도록 했습니다. 이처럼 이 책은 C 언어가 단순히 외우는 것이 아니라, 직접 해 보며 배워야 하는 프로그래밍 언어임을 자연스럽게 체감할 수 있도록 설계되었습니다.

140개 예제와 ‘마무리 문제’로 C 언어 완전 정복!
C 언어를 학습하다가 실습 문제가 적어서 답답한 적 있나요? 그래서 이 책은 140개의 예제와 장이 끝날 때마다 ‘마무리 문제’를 수록했습니다! 이론 중간에는 ‘Do it! 실습’으로 배운 내용을 코드로 직접 구현하며, 완벽히 익힐 수 있도록 했습니다. ‘마무리 문제’에서는 배운 내용을 복습하면서 부족한 부분을 채울 수 있도록 했습니다. 이 책의 마지막에 ‘마무리 문제’의 정답을 실어 틀린 부분을 바로잡고 스스로의 학습 이해도를 점검하여 최종 목표인 C 언어에 대한 감각을 기를 수 있습니다.

개념과 실무 감각을 함께 키우는 입문서!
이 책은 단순히 개념만 나열하는 입문서가 아닙니다. 각 장의 이론 사이에 ‘개발 지식 더하기’를 배치해 학습 과정에서 생길 수 있는 궁금증을 즉시 해소할 뿐 아니라 실제 개발 업무에 도움되는 지식까지 얻을 수 있습니다.
또한 이론 중간 난도를 점차 달리한 ‘심화 학습’ 내용을 수록해 기본기에서 한 단계 더 나아가 C 언어의 핵심 개념과 고급 개념을 함께 다질 수 있도록 구성했습니다. C 언어의 원리를 탄탄하게 다지는 것은 물론, 코딩 테스트나 취업 준비를 위한 기본기를 이 책으로 확실히 갖출 수 있습니다. 더 나아가 실무에 가까운 사고 방식까지 자연스럽게 익힐 수 있습니다.

이런 분께 추천합니다!
ㆍ 프로그래밍을 처음 배우는 전공 1학년 또는 입문자
ㆍ 파이썬, 자바 등을 배우기 전에 프로그래밍의 원리를 확실히 다지고 싶은 학습자
ㆍ 코딩 테스트나 개발자 취업을 준비하며 C 언어의 개념을 체계적으로 복습하고 싶은 취준생
ㆍ 예제·프로젝트 중심의 실전형 C 언어 학습서를 찾는 분

C 언어 입문자라면 30일, 복습하는 사람이라면 16일!
2가지 학습 계획표와 예제 파일을 제공합니다

이 책은 학습 속도에 맞춰 선택할 수 있는 2가지 학습 계획표를 제공합니다. C 언어를 처음 시작한다면 하루 2~3시간씩 꼼꼼히 공부할 수 있는 ‘30일 학습 계획표’를, C 언어를 복습하거나 다른 언어를 사용해 본 경험이 있다면 ‘16일 학습 계획표’를 활용해 보세요.
또한 이 책의 실습에 필요한 예제 파일은 이지스퍼블리싱 홈페이지에서 내려받을 수 있습니다. 예제 파일을 옆에 두고 코드를 직접 실행해 보며 C 언어의 감각을 자연스럽게 익혀 보세요.
ㆍ 이지스퍼블리싱 홈페이지 www.easyspub.co.kr → [자료실] 클릭 → 이 책 제목으로 검색

‘Do it! 스터디룸’에서 공부단을 신청해 보세요!
혼자 계획을 세우고 공부하다 보면 금방 지치기 마련입니다. ‘Do it! 스터디룸’의 공부단에 접속해서 이 책 완독에 도전해 보세요. 함께 공부하는 사람도 만나고, 공부하는 내용을 올려 공유하고 인증하면 책 선물도 드립니다. 또한 어려운 내용이 있다면 ‘Do it! 스터디룸’ 게시판에 질문을 남겨 보세요. 전문가와 저자가 명쾌하게 해결해 드립니다.
ㆍ Do it! 스터디룸: cafe.naver.com/doitstudyroom