장바구니 담기 close

장바구니에 상품을 담았습니다.

만화가 있는 C

만화가 있는 C 누구에게나 쉬운 만화 C언어 입문서!, 개정판

  • 서진택
  • |
  • 성안당
  • |
  • 2018-05-17 출간
  • |
  • 568페이지
  • |
  • 190 X 260 mm
  • |
  • ISBN 9788931555431
판매가

25,000원

즉시할인가

22,500

카드할인

0원(즉시할인 0%)

적립금

1,250원 적립(5%적립)

배송비

무료배송

(제주/도서산간 배송 추가비용:3,000원)

추가혜택

네이버페이 무조건 1%적립+ 추가 1%적립

수량
+ -
총주문금액
22,500

※ 스프링제본 상품은 반품/교환/환불이 불가능하므로 신중하게 선택하여 주시기 바랍니다.

출판사서평




만화보다 더 쉬운 저자 직강 무료 유튜브 강의와 함께 공부하는
누구에게나 쉬운 만화 C언어 입문서!
《만화가 있는 C》

프로그래밍 언어를 공부하는 목적은 논리적인 사고를 키워 전지적인 시점의 문제해결 능력을 키우는 것도 있지만 궁극적으로는 활용이 목적이다. 이론과 실습을 거쳐 상용 제품까지 개발할 수 있는 단계까지 간다면 금상첨화일 것이다.
만약 누군가에게 “C가 가장 쉬웠어요.”라고 얘기하면 쉽게 공감이 갈까? 이처럼 개념과 문법, 활용 단계로 넘어가 자유자재로 사용하기 어려운 C언어의 문법과 예제를 누구나 이해하기 쉽게 구성된 책이 나왔다. 철저하게 독자의 눈높이에 맞춰 쉽게 이해할 수 있도록 집필된, 만화를 곁들인 C언어 입문서가 바로 이 <만화가 있는 C>이다. C언어로 (주)KOG에서 상용 게임을 개발한 경험이 있고, 동서대학교 게임학과 교수로 재직 중인 저자가 집필한 이 책은 대학 전산학과, 게임학과 학생들의 눈높이에 맞는 이론과 실용을 겸비한 C언어 입문서이다.
2000년에 저자가 처음 집필하여 호평 받은 이후 최신 버전에 맞게 다듬고 내용을 보완하여 연령에 관계없이 누구나 즐기는 유튜브(YouTube)를 통해 저자 직강 무료 동영상 강의(https://www.youtube.com/channel/UCn6c2IbDl6_bf24RTbwA24A)와 함께 공부할 수 있도록 선보여 C언어에 대한 문턱을 한껏 낮췄다.
무엇보다 상세한 문법 위주의 목차와 짧은 단원 단위와 설명, 풍부한 도해와 만화, 매 장마다 실습 문제가 있어 학습하는데 전혀 부담이 없다. 특히 저자는 13F Games라는 회사도 창업하여 게임도 출시 예정이라고 하니 C언어로 상용 게임까지 개발하는 저자의 강의에 귀를 기울일 필요가 있다.


목차


서문 / 3
왜 언어의 이름이 C++죠? / 6
C++와 C, 무엇이 다른가요? / 6
환경 / 12

1 들어가기 전에 / 14
Visual Studio 2013 프로젝트 설정 / 14
int가 차지하는 메모리의 크기 / 18

2 수학 함수를 C 함수로 바꾸기 / 19
아규먼트(argument)와 파라미터(parameter) / 26
관례(convention) / 27
이젠 할 수 있다! / 29
함수도 선언해야 한다 / 34
소스 문자 집합(source character set) / 41

3 이진수(binary number) / 49
보충해 주는 수: 보수(complement of a number) / 52
진보된 주제: 비트 플래그(bit flag), 비트 마스크(bit mask) / 57
실습문제 / 64

4 변수는 쓰기 전에 선언해야 한다: 데이터 형(data type) / 65
초기화(initialization) / 70
함수형 초기화(functional initialization) / 71
실수(real number)는 어떻게? / 72
부동 소수 표현(floating point notation): 진보된 주제 / 73
부동 소수의 가감승제(addition, subtraction, multiplication and division) / 79
형의 종류(sort of types) / 81
특별한 형 void / 82
실습문제 / 84

5 이스케이프 절차(Escape Sequence) / 85
특정 문자 강조(Highlight)하기 / 90
C++11: 원시 문자열(raw string) / 93
실습문제 / 94

6 포인터(pointer), [] 연산자 / 95
문자열(string)은 포인터 표현이다 / 103
진보된 주제: 포인터의 포인터, 함수 포인터 / 106
실습문제 / 107

7 문장(statement) vs. 표현식(expression) / 108
문장의 종류 / 116
실습문제 / 117

8 연산자(operator) / 118
산술(Arithmetic) / 119
할당(Assignment) / 123
비트(Bitwise) / 126
C++에서만 사용가능(C++ specific) / 131
new / 139
delete / 151
typeid / 152
dynamic_cast / 154
콤마(Comma) / 160
조건(Conditional) / 163
논리(Logical) / 165
후위 표기(Postfix) / 170
전처리(Preprocessor) / 179
참조/역참조(Reference/Dereference) / 181
관계(Relational) / 184
sizeof / 186
형 변환(casting, type conversion) / 189
함수형 형 변환(functional casting) / 192
실습문제 / 194

9 scanf( )에 &가 필요한 이유: 스택 동작 / 195
스택(stack): 자료구조의 정상 / 195
&의 역할 / 198
scanf()에 &를 적어야 하는 이유 / 213
진보된 주제: 포인터를 바꾸려면? / 214
실습문제 / 216

10 제어 구조 / 217
if문 / 221
switch문 / 228
진보된 주제: switch를 보는 컴파일러의 입장 / 232
for문 / 232
while문 / 239
do...while문 / 241
실습문제 / 244

11 프로젝트(project) 만들기 / 245
볼랜드(Borland) C++ 3.1인 경우 / 247
볼랜드 C++ 4.5인 경우 / 249
볼랜드 C++ 빌더(Builder)인 경우 / 253
마이크로소프트 비주얼 C++ 4.2인 경우 / 257
마이크로소프트 비주얼 C++ 5.0인 경우 / 261
비주얼 스튜디오(Visual Studio) 2013의 경우 / 266
실습문제 / 270

12 변수의 종류, 범위 규칙(scope rule) / 271
스택(stack) / 272
C++11에서 auto의 의미 / 274
힙(heap) / 277
레지스터(register) / 282
파일(file) / 285
가시범위(visibility)에 의한 구분 / 288
블록 범위(block scope) / 289
전역 범위(global scope) / 291
프로토타입 범위(prototype scope) / 294
진보된 주제: static에 관한 진실 / 295
실습문제 / 299

13 배열: 4차원의 세계(4-dimensional world) / 300
차원(dimension) / 300
같은 형의 변수를 여러 개 선언하는 방법 / 303
내용 연산자(content-of operator) [] / 305
2차원 배열(2-dimensional array) / 319
3차원 이상의 배열 / 326
배열의 전달 / 327
포인터 배열 / 330
울타리 막대기 문제: 가장자리 문제 / 334
진보된 주제 / 335
실습문제 / 335

14 참조표(lookup table) / 336
점수에 따라 등급을 출력하는 경우 / 338
기교(technique) / 339
임의의 숫자열 토글하기 / 340
임의의 사상(mapping) 구현하기 / 341
실습문제 / 343

15 포인터Ⅱ / 346
포인터의 포인터(pointer to pointer) / 350
참조(reference) / 358
가용 공간 리스트(available list): 진보된 주제 / 359
new와 delete / 364
2차원 배열의 할당 / 370
실습문제 / 372

16 사용자 정의형, 열거형 / 373
typedef(TYPE DEFinition) / 373
범위(scope) / 376
enum: 열거형 / 377
컴파일러의 입장 / 380
클래스에서 enum의 사용 / 381
실습문제 / 383

17 구조체(structure), 공용체(union) / 384
왜 이것이 필요한가? / 384
문법 / 385
구조체 멤버 참조 연산자: . 과 -> / 388
구조체 포인터가 사용된 경우 / 389
구조체의 필드를 바라보는 컴파일러의 입장:상대 주소(offset address) / 393
구조체의 전달(passing), 리턴(return) / 395
비트 필드 구조체(bit-field structure) / 403
진보된 주제: 구조체 필드, 자기 참조 구조체와 구조체 배열 / 407
불완전 선언(Incomplete Declaration) / 408
공용체(union) / 414
무명 공용체(anonymous union) / 418
연결 리스트(linked list) / 419
실습문제 / 419

18 파일(file) / 420
핸들(handle)이란? / 420
파일의 사용 / 423
파일 포인터(file pointer) / 427
이진 파일 vs. 텍스트 파일 / 428
고전(oldest), 그러나 ASCII / 430
텍스트 파일의 처리 / 434
이진 파일의 처리 / 436
버퍼링(buffering) / 437
실습문제 / 441

19 함수 포인터(function pointer) / 442
함수 포인터가 필요한 경우 / 442
함수 포인터 선언하기 / 444
함수 포인터 배열 / 446
오버로드된 함수의 주소 / 448
디폴트 파라미터(default parameter) / 449
함수 포인터 형 정의하기 / 450
진보된 주제: 멤버 함수의 주소 / 454
C++의 새로운 연산자: .*와 ->* / 456
진보된 주제: 멤버 함수 포인터의 응용 / 458
실습문제 / 462

20 전처리 명령어(preprocessing command) / 463
#include / 464
#define / 471
왜 매크로 상수를 사용하는가? / 474
매크로 함수(macro function) / 476
관례 / 478
미묘하지만 중요한 문제 / 479
#if와 defined 연산자 / 480
#undef, #line, #error와 #pragma / 486
미리 정의된 매크로(predefined macros) / 486
운영체제나 환경에 의존적인 설정이 필요하다면? / 491
실습문제 / 491

21 가변 인자(variable argument) / 492
스택 동작 / 496
1개의 형과 3개의 매크로 / 498
다른 예(another example) / 501
실습문제 / 502

22 메모리(memory) / 503
옛날 옛적 8비트와 16비트 시절 / 503
어려운 선택, 세그멘테이션(segmentation) / 505
인텔의 선택: 세그멘테이션(segmentation) / 506
64KB의 한계 / 511
메모리 모델(memory model) / 513
선형 주소(linear address) / 515
동적 할당, 그 내부(internal) / 517
최소 블록(minimum block): 패러그래프(paragraph) / 522
단편화(fragmentation) / 523
외부 단편화(external fragmentation) / 527
실습문제 / 530

23 표준 함수(standard function) / 531
C 표준라이브러리 헤더 파일들 / 532
형 지원 / 534
동적 메모리 할당 / 534
에러 처리 / 534
프로그램 유틸리티 / 535
가변 인자 / 535
날짜/시간 함수 / 536
스트링 라이브러리 / 536
알고리즘 함수 / 537
수치 함수 / 537
입.출력 지원 함수 / 538
지역화 함수들 / 539
원자(atomic) 연산 라이브러리 / 539
스레드(thread) 지원 라이브러리 / 539
실습문제 / 540

24 C++의 구조체(structure) / 541
좀 더 자연스러운 구조체 / 550
C++을 배우려는 독자들에게 / 559
실습문제 / 560

찾아보기 / 561

도서소개


 

교환 및 환불안내

도서교환 및 환불
  • ㆍ배송기간은 평일 기준 1~3일 정도 소요됩니다.(스프링 분철은 1일 정도 시간이 더 소요됩니다.)
  • ㆍ상품불량 및 오배송등의 이유로 반품하실 경우, 반품배송비는 무료입니다.
  • ㆍ고객님의 변심에 의한 반품,환불,교환시 택배비는 본인 부담입니다.
  • ㆍ상담원과의 상담없이 교환 및 반품으로 반송된 물품은 책임지지 않습니다.
  • ㆍ이미 발송된 상품의 취소 및 반품, 교환요청시 배송비가 발생할 수 있습니다.
  • ㆍ반품신청시 반송된 상품의 수령후 환불처리됩니다.(카드사 사정에 따라 카드취소는 시일이 3~5일이 소요될 수 있습니다.)
  • ㆍ주문하신 상품의 반품,교환은 상품수령일로 부터 7일이내에 신청하실 수 있습니다.
  • ㆍ상품이 훼손된 경우 반품 및 교환,환불이 불가능합니다.
  • ㆍ반품/교환시 고객님 귀책사유로 인해 수거가 지연될 경우에는 반품이 제한될 수 있습니다.
  • ㆍ스프링제본 상품은 교환 및 환불이 불가능 합니다.
  • ㆍ군부대(사서함) 및 해외배송은 불가능합니다.
  • ㆍ오후 3시 이후 상담원과 통화되지 않은 취소건에 대해서는 고객 반품비용이 발생할 수 있습니다.
반품안내
  • 마이페이지 > 나의상담 > 1 : 1 문의하기 게시판 또는 고객센터 1800-7327
교환/반품주소
  • 경기도 파주시 문발로 211 1층 / (주)북채널 / 전화 : 1800-7327
  • 택배안내 : CJ대한통운(1588-1255)
  • 고객님 변심으로 인한 교환 또는 반품시 왕복 배송비 5,000원을 부담하셔야 하며, 제품 불량 또는 오 배송시에는 전액을 당사에서부담 합니다.