혼자 공부하는 C 언어 : 1:1 과외하듯 배우는 프로그래밍 자습서 (개정판)

혼자 공부하는 C 언어 : 1:1 과외하듯 배우는 프로그래밍 자습서 (개정판)

$29.46
Description
혼자 해도 충분하다! 1:1 과외하듯 배우는 C 프로그래밍 자습서
『혼자 공부하는 C 언어』가 더욱 흥미 있고 알찬 내용으로 돌아왔습니다. 혼자 공부하더라도 막히는 부분이 없도록 부가 설명용 동영상 ‘QR 코드’를 추가했습니다. 또한 최신 프로그램에서도 무리 없이 실습을 진행할 수 있도록 비주얼 스튜디오 2022 버전을 반영했습니다.

물론, 프로그래밍이 정말 처음인 사람에게 ‘꼭 필요한 내용’과 뭘 모르는지조차 모르는 마음에 십분 공감해 과외 선생님이 알려주듯 핵심 내용만 콕콕 짚어 주는 ‘친절한 설명’, 누구나 쉽게 따라 할 수 있도록 구성된 ‘단계별 학습’ 그리고 입문자에게 맞는 난이도, 분량, 학습 요소 등을 ‘베타리더의 의견’에 따라 적극 반영한 건 여전합니다!

단순한 문법 암기와 코딩 따라하기에 지쳤다면 새롭게 돌아온 친절한 ‘혼공 씨’와 함께 C 언어라는, 프로그래밍 언어의 근본을 경험해 보세요. 책의 첫 페이지를 펼치고 마지막 페이지를 덮을 때까지, 혼자서도 충분히 C 언어를 배울 수 있다는 자신감과 확신이 계속 들 것입니다!
저자

서현우

컴퓨터공학을전공하고17년간초등학생부터대학생,교수,전공/비전공자,직장인등다양한수강생을대상으로C언어강의를진행했다.
현재는호주에서시니어소프트웨어개발자로서네트워크서버프로그래밍을하고있으며,유튜브비디오크리에이터로도활동중이다.
C언어를강의하며다져진내공을바탕으로단순히정해진프로그래밍방식만설명하는것이아닌,개념이해를바탕으로응용할수있는힘을길러주는것을집필과영상제작의모토로삼고있다.
『뇌를자극하는C프로그래밍』(2005),『이것이C언어다』(2014)를집필했다.

목차

Chapter01프로그램만들기

01-1프로그램과C언어
__C언어의탄생
__C언어의장점

01-2컴파일과컴파일러사용법
__비주얼스튜디오설치하기
__프로젝트생성과소스파일작성
__소스파일컴파일하기
__실행파일실행하기
[좀더알아보기]프로젝트템플릿만들기
[6가지키워드로끝내는핵심포인트]
[그림으로정리하는컴파일과정3단계]
[확인문제]

Chapter02상수와데이터출력

02-1C프로그램의구조와데이터출력방법
__프로그램과main함수구조
__문자열출력:출력함수(printf)의사용법
__제어문자출력
__정수와실수출력
[5가지키워드로끝내는핵심포인트]
[표로정리하는핵심포인트]
[확인문제]

02-2상수와데이터표현방법
__정수상수표현법
__실수상수표현법
__문자와문자열상수표현법
__상수가컴파일된후의비트형태
__정수상수가컴파일된후의비트형태
__실수상수가컴파일된후의비트형태
[좀더알아보기]실수상수의오차
[7가지키워드로끝내는핵심포인트]
[표로정리하는핵심포인트]
[확인문제]

Chapter03변수와데이터입력

03-1변수
__변수선언방법
__정수자료형
__unsigned정수자료형
__실수자료형
__문자열저장
__const를사용한변수
__예약어와식별자
[6가지키워드로끝내는핵심포인트]
[표로정리하는핵심포인트]
[확인문제]

03-2데이터입력
__scanf함수의사용법
__문자와문자열의입력
[좀더알아보기]비정상종료되는경우
[4가지키워드로끝내는핵심포인트]
[표로정리하는핵심포인트]
[확인문제]

Chapter04연산자

04-1산술연산자,관계연산자,논리연산자
__산술연산자와대입연산자
__증감연산자
__관계연산자
__논리연산자
__연산의결괏값을처리하는방법
[좀더알아보기]연산식은컴퓨터내부에서어떻게처리될까요?
[좀더알아보기]CPU의메모리와우리가알고있는메모리(RAM)는어떻게다른가요?
[5가지키워드로끝내는핵심포인트]
[표로정리하는핵심포인트]
[확인문제]

04-2그외유용한연산자
__형변환연산자
__sizeof연산자
__복합대입연산자
__콤마연산자
__조건연산자
__비트연산자
__연산자우선순위와연산방향
[4가지키워드로끝내는핵심포인트]
[표로정리하는핵심포인트]
[확인문제]
[도전실전예제]

Chapter05선택문

05-1if문
__if문의기본형식151
__if~else문153
__if~elseif~else문156
[4가지키워드로끝내는핵심포인트]
[표로정리하는핵심포인트]
[확인문제]

05-2if문활용과switch~case문
__if문중첩
__else결합문제
__switch~case문
[좀더알아보기]switch~case문을if문으로바꿔보기
[4가지키워드로끝내는핵심포인트]
[표로정리하는핵심포인트]
[확인문제]
[도전실전예제]

Chapter06반복문

06-1while문,for문,do~while문
__while문
__for문
__do~while문
[3가지키워드로끝내는핵심포인트]
[표로정리하는핵심포인트]
[확인문제]

06-2반복문활용
__중첩반복문
__break와continue분기문
[3가지키워드로끝내는핵심포인트]
[표로정리하는핵심포인트]
[확인문제]
[도전실전예제]

Chapter07함수

07-1함수의작성과사용
__함수정의
__함수호출과반환
__함수선언
[4가지키워드로끝내는핵심포인트]
[표로정리하는핵심포인트]
[확인문제]

07-2여러가지함수유형
__매개변수가없는함수
__반환값이없는함수
__매개변수와반환값이모두없는함수
__재귀호출함수
__재귀호출과반복문의차이점
[5가지키워드로끝내는핵심포인트]
[표로정리하는핵심포인트]
[확인문제]
[도전실전예제]

Chapter08배열

08-1배열의선언과사용
__배열의선언
__배열초기화
__배열과반복문
__sizeof연산자를활용한배열처리
[4가지키워드로끝내는핵심포인트]
[표로정리하는핵심포인트]
[확인문제]

08-2문자를저장하는배열
__char형배열의선언과초기화
__문자열대입
__문자열전용입출력함수:gets,puts
[좀더알아보기]문자열의끝에널문자가없다면?
[4가지키워드로끝내는핵심포인트]
[표로정리하는핵심포인트]
[확인문제]
[도전실전예제]

Chapter09포인터

09-1포인터의기본개념
__메모리의주소
__주소연산자
__포인터와간접참조연산자
__여러가지포인터사용해보기
__const를사용한포인터
[3가지키워드로끝내는핵심포인트]
[표로정리하는핵심포인트]
[확인문제]

09-2포인터완전정복을위한포인터이해하기
__주소와포인터의차이
__주소와포인터의크기
__포인터의대입규칙
__포인터를사용하는이유
[4가지키워드로끝내는핵심포인트]
[표로정리하는핵심포인트]
[확인문제]
[도전실전예제]

Chapter10배열과포인터

10-1배열과포인터의관계
__배열명으로배열요소사용하기
__배열명역할을하는포인터
__배열명과포인터의차이
__포인터의뺄셈과관계연산
[5가지키워드로끝내는핵심포인트]
[표로정리하는핵심포인트]
[확인문제]

10-2배열을처리하는함수
__배열의값을출력하는함수
__배열요소의개수가다른배열도출력하는함수
__배열에값을입력하는함수
[좀더알아보기]함수의매개변수자리에배열을선언하는경우
[3가지키워드로끝내는핵심포인트]
[표로정리하는핵심포인트]
[확인문제]
[도전실전예제]

Chapter11문자

11-1아스키코드값과문자입출력함수
__아스키코드
__scanf함수를사용한문자입력
__getchar,putchar함수
[5가지키워드로끝내는핵심포인트]
[표로정리하는핵심포인트]
[확인문제]

11-2버퍼를사용하는입력함수
__scanf함수가문자를입력하는과정
__scanf함수반환값활용
__getchar함수를사용한문자열입력
__입력버퍼지우기
[3가지키워드로끝내는핵심포인트]
[표로정리하는핵심포인트]
[확인문제]
[도전실전예제]

Chapter12문자열

12-1문자열과포인터
__문자열상수구현방법
__char포인터로문자열사용
__scanf함수를사용한문자열입력
__gets함수를사용한문자열입력
__fgets함수를사용한문자열입력
__표준입력함수의버퍼공유문제
__문자열을출력하는puts,fputs함수
[좀더알아보기]직접구현해보는gets함수
[4가지키워드로끝내는핵심포인트]
[표로정리하는핵심포인트]
[확인문제]

12-2문자열연산함수
__문자열을대입하는strcpy함수
__원하는개수의문자만을복사하는strncpy함수
__문자열을붙이는strcat,strncat함수
__문자열길이를계산하는strlen함수
__문자열을비교하는strcmp,strncmp함수
__연산함수직접구현
[4가지키워드로끝내는핵심포인트]
[표로정리하는핵심포인트]
[확인문제]
[도전실전예제]

Chapter13변수의영역과데이터공유

13-1변수사용영역
__지역변수
__블록안에서사용하는지역변수
__전역변수
__정적지역변수
__레지스터변수
[4가지키워드로끝내는핵심포인트]
[표로정리하는핵심포인트]
[확인문제]

13-2함수의데이터공유방법
__값을복사해서전달하는방법
__주소를전달하는방법
__주소를반환하는함수
[3가지키워드로끝내는핵심포인트]
[표로정리하는핵심포인트]
[확인문제]
[도전실전예제]

Chapter14다차원배열과포인터배열

14-1다차원배열
__2차원배열선언과요소사용
__2차원배열초기화
__2차원char배열
__2차원char배열초기화
__3차원배열
[4가지키워드로끝내는핵심포인트]
[표로정리하는핵심포인트]
[확인문제]

14-2포인터배열
__포인터배열선언과사용
__2차원배열처럼활용하는포인터배열
[3가지키워드로끝내는핵심포인트]
[표로정리하는핵심포인트]
[확인문제]
[도전실전예제]

Chapter15응용포인터

15-1이중포인터와배열포인터
__이중포인터개념
__이중포인터활용1:포인터값을바꾸는함수의매개변수
__이중포인터활용2:포인터배열을매개변수로받는함수
__배열요소의주소와배열의주소
__2차원배열과배열포인터
__2차원배열의요소를참조하는원리
[5가지키워드로끝내는핵심포인트]
[표로정리하는핵심포인트]
[확인문제]

15-2함수포인터와void포인터
__함수포인터의개념
__함수포인터의활용
__void포인터
[4가지키워드로끝내는핵심포인트]
[표로정리하는핵심포인트]
[확인문제]
[도전실전예제]

Chapter16메모리동적할당

16-1동적할당함수
__malloc,free함수
__동적할당영역을배열처럼쓰기
__기타동적할당함수
[좀더알아보기]프로그램이사용하는메모리영역과그특징
[5가지키워드로끝내는핵심포인트]
[표로정리하는핵심포인트]
[확인문제]

16-2동적할당저장공간의활용
__동적할당을사용한문자열처리
__동적할당영역에저장한문자열을함수로처리하는예
__main함수의명령행인수사용
[3가지키워드로끝내는핵심포인트]
[표로정리하는핵심포인트]
[확인문제]
[도전실전예제]

Chapter17사용자정의자료형

17-1구조체
__구조체선언과멤버사용
__다양한구조체멤버
__구조체변수의초기화와대입연산
__구조체변수를함수매개변수에사용하기
[4가지키워드로끝내는핵심포인트]
[표로정리하는핵심포인트]
[확인문제]

17-2구조체활용,공용체,열거형
__구조체포인터와->연산자
__구조체배열
__구조체배열을처리하는함수
__자기참조구조체
__공용체
__열거형
__typedef를사용한형재정의
[5가지키워드로끝내는핵심포인트]
[표로정리하는핵심포인트]
[확인문제]
[도전실전예제]

Chapter18파일입출력

18-1파일개방과입출력
__파일개방과폐쇄
__스트림파일과파일포인터
__문자입력함수:fgetc
__문자출력함수:fputc
__기본적으로개방되는표준입출력스트림파일
__텍스트파일과바이너리파일
__+개방모드,fseek,rewind,feof함수
[4가지키워드로끝내는핵심포인트]
[표로정리하는핵심포인트]
[확인문제]

18-2다양한파일입출력함수
__한줄씩입출력하는함수:fgets,fputs
__다양한형태로입출력하는함수:fscanf,fprintf
__스트림파일의버퍼공유문제와fflush함수
__fread,fwrite함수
[6가지키워드로끝내는핵심포인트]
[표로정리하는핵심포인트]
[확인문제]
[도전실전예제]

Chapter19전처리와분할컴파일

19-1전처리지시자
__파일을포함하는#include
__매크로명을만드는#define
__#define을사용한매크로함수
__이미정의된매크로
__매크로연산자#과##
__조건부컴파일지시자
[좀더알아보기]#pragma지시자
[4가지키워드로끝내는핵심포인트]
[표로정리하는핵심포인트]
[확인문제]

19-2분할컴파일
__분할컴파일방법
__분할컴파일에서extern과static의용도
__헤더파일의필요성과중복문제해결방법
[6가지키워드로끝내는핵심포인트]
[표로정리하는핵심포인트]
[확인문제]
[도전실전예제]

부록A아스키코드표
부록B선택정렬알고리즘
부록C여기서잠깐모음

__확인문제정답
__찾아보기

출판사 서평

때론혼자,때론같이
C언어를제대로공부할수있는최고의책!

ㆍ『혼자공부하는C언어(개정판)』은어떤특징이있나요?

하나,‘입문자맞춤형7단계구성’을따라가며체계적으로반복하는탄탄한학습설계!

이책은C언어의핵심내용을7단계에걸쳐반복학습하면서자연스럽게머릿속에기억되도록구성되었습니다.[핵심키워드]와[시작하기전에]를통해각절의주제별대표개념을가볍게살펴본후,본격적으로C언어핵심개념을배우고실습합니다.마무리에서는[핵심포인트]와[확인문제]로배운내용을한꺼번에복습합니다.‘혼자공부할수있는’커리큘럼을그대로믿고끝까지따라가다보면프로그래밍공부가난생처음인사람도무리없이책을끝까지마칠수있습니다!

둘,핵심문법은‘눈코딩’으로가볍게익히고,실전감각은161개의직접해보는‘손코딩’으로제대로!

핵심문법과이론설명은두눈과머리로술술읽으며넘어가고,C언어코딩감각은직접해보며익힐수있도록161개의엄선된실습예제를담았습니다.입문자에게가장필요한반복학습과코딩연습을하다보면책에담긴코드를‘나의코드’로만들수있습니다!

셋,‘혼공’의힘을실어줄동영상강의와혼공학습사이트지원!

책으로만학습하기엔여전히어려운입문자를위해저자직강동영상도지원합니다.이번개정판에서는특별히그간독자문의가많았던내용에대해부가설명동영상을‘QR코드’로수록했습니다.또한학습을하며궁금한사항은언제든지저자에게질문할수있도록학습사이트를제공합니다.저자가질문하나하나직접답변을달아주고있으며,관련기술정보도얻을수있습니다.게다가혼자공부하고싶지만,자신없는사람을위해혼공학습단을운영하고있습니다.혼공학습단과함께하면마지막까지포기하지않고완주할수있을것입니다.

넷,언제어디서든가볍게볼수있는[용어노트]제공!

꼭기억해야할핵심개념과용어만따로정리한[용어노트]를제공합니다.프로그래밍공부가난생처음인사람이프로그래밍을어려워하는이유는낯선용어때문입니다.그러나어려운것이아니라익숙하지않아서헷갈리는것이므로용어나개념이잘생각나지않을때는언제든부담없이[용어노트]를펼쳐보세요.제시된용어외에도새로운용어를추가하면서자신만의용어노트를완성해가는과정도또다른재미가될것입니다.

ㆍ『혼자공부하는C언어(개정판)』은누굴위한책인가요?

-학부강의를수강했지만,어려운‘포인터’때문에여전히고통받고있는전공자
-언어에대한이해가부족해발전된코드를짜는데어려움을겪는주니어개발자
-프로그래밍언어의근본으로프로그래밍의세계에빠져들고자하는입문자
-C언어에관심있는모든사람

ㆍ『혼자공부하는C언어(개정판)』을먼저읽은베타리더의한마디!

-아무것도없이혼자공부했다면분명히한번쯤궁금했을,막혔을부분을잘풀어준책입니다._강수진님

-공부하다보면생기는‘왜?’라는질문의답을자연스럽게이해하게도와주는책입니다._강채빈님

-깊이있는내용을다루면서도다양한그림을활용해어렵지않게설명해주는점이장점입니다._장종석님

-초보자마음을어떻게알고는초보자가궁금해할내용을책곳곳에적어준점에서정말최고입니다._유지민님

-〈확인문제〉와〈도전문제〉를푸는과정에서스스로의실력이향상되고있다는느낌을받았습니다._황은성님

-QR코드로추가설명영상과문제해설을제공하고있어학습에큰도움이됩니다._김진환님

-단순히개념과지식을전달하는것을넘어적절한비유와배경설명,〈확인문제〉그리고실무에서실수하거나문제를일으킬수있는부분까지꼼꼼히알려줍니다._김삼영님

-실습과정에서발생가능한오류및에러를입문자눈높이에맞춰쉽고자세하게설명해줍니다._양민혁님

-〈마무리〉섹션이있는데,키워드와표로학습한내용을일목요연하게정리해주니입문자에게꼭필요한책이아닐까싶습니다._김창하님

-군더더기없이명확해서이해하기쉬운문체로쓰여서지루할틈없이읽었습니다._안선영님

-혼자공부할때느끼는한계를넘어이해와적용을동시에진행하면서기초를쌓아갈수있어좋았습니다._나슬기님

-‘왜’이렇게코드가작성되어야하는지그리고어떻게코드를작성해야하는지에대한답을간결한예제와자세한설명을통해알려줍니다._이영은님