본문내용 바로가기
MD의선택 무료배송 소득공제

시작하는 사람들을 위한 고진감래 C 언어 생각하며 배우는 프로그래밍의 원리

MMGames 지음 | 박윤미, 박상욱 옮김 | 제이펍 | 2016년 11월 30일 출간
  • 정가 : 24,000원
    판매가 : 21,600 [10%↓ 2,400원 할인]
  • 통합포인트 :
    [기본적립] 1,200원 적립 [5% 적립] 안내 [추가적립] 5만원 이상 구매 시 2천원 추가적립 [회원혜택] 우수회원 5만원 이상 구매 시 2~3% 추가적립
  • 추가혜택 : 카드/포인트 안내 도서소득공제 안내 추가혜택 더보기
  • 배송비 : 무료 배송비 안내
  • 배송일정 : 서울특별시 종로구 세종대로 기준 지역변경
    10월 25일 출고 예정 배송일정 안내
  • 바로드림 : 인터넷으로 주문하고 매장에서 직접 수령 안내
장바구니 담기 바로구매

책 그리고 꽃 서비스
책 그리고 꽃 | 책과 꽃을 함께 선물하세요 자세히보기

닫기

바로드림 주문 선물하기 보관함 담기
상품상세정보
ISBN 9791185890630(1185890637)
쪽수 472쪽
크기 171 * 225 * 26 mm /768g 판형알림
이 책의 원서/번역서 苦しんで覺えるC言語/MMGames

책소개

이 책이 속한 분야

쉽고 명쾌한 설명, 유용한 연습문제, 난공불락 포인터까지 정복할 수 있는 명품 C 언어 입문서!

일본 아마존 C 언어 분야 베스트셀러!『고진감래 C 언어』은 C 언어로 프로그래밍을 시작하려는 분이나 이미 다른 C 언어 책으로 배우려 했으나 성공하지 못한 분들이 C 언어의 주요 기능을 제대로 배울 수 있도록 기획되었다. 일본에서 인기가 많은 인터넷 C 언어 강좌를 고스란히 옮긴 이 책은 그 어떤 책보다 요소 하나하나에 대해 확실하게 설명한다. 이미 다른 C 언어 입문서를 읽어 봤지만 아직도 C 언어가 뭔지 잘 모르겠다고 생각하는 분들이 읽었으면 한다.

저자소개

저자 : MMGames

저자 MMGames는 초등학생 때부터 독학으로 프로그래밍을 시작하였고, 이후 대학 졸업 전까지 다양한 무료 소프트웨어 및 학습 콘텐츠인 ‘괴로워하며 배우는 C 언어(苦しんで?えるC言語)’를 개발하였다. 현재는 주식회사 YourGames에서 스마트폰 게임과 앱 개발자로 일하고 있다.

역자 : 박윤미

역자 박윤미는 8년간 일본에서 캐논, 오릭스, 혼다 자동차 등 엔터프라이즈 중심으로 JAVA 개발자로 일하였으며 NHN Japan에서 글로벌 인사 관리 시스템 개발을 담당하였다. 한국으로 돌아와 종합병원 전산실에서 JAVA 개발 담당자로 일했으며, 현재는 두 아이의 엄마로 지내고 있다.

역자 : 박상욱

역자 박상욱은 AWS Premier Consulting Partner인 (주)메가존에서 SA를 책임지고 있으며, 클라우드 인프라 컨설팅과 디자인 및 구축, 운용에 대한 일을 하고 있다. 옮긴 책으로는 《탄력적 개발로 이끄는 AWS 실천 기술》, 《아마존 웹 서비스 클라우드 디자인 패턴 설계 가이드》, 《아마존 웹 서비스 클라우드 디자인 패턴 구축 가이드》, 《인프라스트럭처 자동화 프레임워크 Chef-Solo 입문》, 《네트워크 더 쉽게, 더 깊게》가 있다.

목차

CHAPTER 0 컴퓨터란 무엇인가? 1
0.1 컴퓨터란 무엇인가? 2
0.1.1 현대인과 컴퓨터 2
0.1.2 컴퓨터란? 3
0.1.3 CPU란? 4
0.1.4 메모리란? 5
0.2 프로그램이란 무엇인가? 6
0.2.1 프로그램이란 6
0.2.2 단순한 문법 7
0.2.3 명확한 의미 9
0.2.4 모호한 표현 11

CHAPTER 1 세상에서 가장 작은 프로그램 15
1.1 실행 결과가 없는 프로그램 16
1.1.1 C 언어의 구조 16
1.1.2 함수 생성 방법 17
1.1.3 특별한 main 함수 18
1.1.4 프로그램 동작 19
1.2 컴파일러는 번역 소프트웨어 20
1.2.1 모든 것은 기계어 20
1.2.2 프로그래밍 언어의 등장 20
1.2.3 C 언어 번역 소프트웨어 22
연습문제 24

CHAPTER 2 프로그램 작성법 25
2.1 프로그램 작성 방법과 규칙 26
2.1.1 토큰 26
2.1.2 프리 포맷 27
2.1.3 다른 규칙 28
2.2 작성 방법 연습 29
2.2.1 함수 작성 방법 29
2.2.2 들여쓰기 29
2.2.3 주석 30
연습문제 33

CHAPTER 3 화면에 문자 표시하기 35
3.1 문자열 표시 36
3.1.1 필수 사항 36
3.1.2 printf 함수 36
3.1.3 어디에 쓸까? 37
3.1.4 설명서 넣기 38
3.1.5 드디어! 40
3.2 개행 문자 42
3.2.1 개행 문제 42
3.2.2 이스케이프 스퀀스 43
연습문제 46

CHAPTER 4 수치 표시와 계산 49
4.1 수치 표시 50
4.1.1 문자열과 수치 50
4.1.2 수치 표시 51
4.1.3 문자열과 함께 표시 52
4.1.4 여러 수치 표시 54
4.2 기본적인 계산 56
4.2.1 계산과 그 결과 표시하기 56
4.2.2 사칙 연산자 58
4.2.3 복잡한 식 59
4.3 수치의 종류 61
4.3.1 여러 종류의 수치 61
4.3.2 실수의 계산 62
연습문제 64

CHAPTER 5 수치 기억과 계산 67
5.1 수치 기억 68
5.1.1 기억의 필요성 68
5.1.2 변수라는 메모리 68
5.1.3 변수 선언 69
5.1.4 변수 값 대입 71
5.1.5 변수를 수치 대신 사용 72
5.1.6 대입과 연산을 동시에 74
5.2 변수의 종류 77
5.2.1 자료형 77
5.2.2 실수를 기억하는 변수 77
5.3 형 변환 80
5.3.1 정수와 실수의 혼합 계산 80
5.3.2 강제적 변환 81
5.4 수치 자릿수 맞추기 83
5.4.1 정수 자릿수 맞추기 83
5.4.2 컴퓨터 형식으로 표시 85
5.4.3 실수 자릿수 맞추기 86
연습문제 88

CHAPTER 6 키보드를 사용한 입력 91
6.1 입력용 함수 92
6.1.1 입력의 필요성 92
6.1.2 scanf 함수 92
6.1.3 수치 입력 93
6.1.4 복수 입력 95
6.1.5 간단한 시그마 프로그램 96
6.2 입력의 공포 99
6.2.1 공포의 입력 실수 99
6.2.2 구분 기호 실수 99
6.2.3 너무 큰 수치 100
6.2.4 문자열의 공포 100
6.2.5 해결 방법 101
연습문제 102

CHAPTER7 비교와 판단 105
7.1 비교문 106
7.1.1 조건 판단 106
7.1.2 조건 판단문 106
7.1.3 비교를 위한 연산자 108
7.2 비교를 위한 연산자 111
7.2.1 등가 연산자 111
7.2.2 관계 연산자 112
7.2.3 논리 연산자 114
7.3 여러 처리의 실행 116
7.3.1 여러 처리의 필요성 116
7.3.2 블록문 117
연습문제 119

CHAPTER 8 조건에 따른 처리 121
8.1 두 가지 조건에 따른 처리 122
8.1.1 조건이 거짓일 때의 처리 122
8.1.2 사용 방법 122
8.1.3 보기 쉬운 작성법 123
8.2 세 가지 조건에 따른 처리 125
8.2.1 조건이 여러 개인 경우 125
8.2.2 보기 쉬운 작성법 127
8.3 번호를 사용한 조건에 따른 처리 128
8.3.1 번호에 대응하는 처리 128
8.3.2 조건 외 처리 130
8.3.3 같은 처리를 한 번에 132
8.3.4 취약한 판단 133
연습문제 135

CHAPTER 9 정해진 횟수의 반복 137
9.1 반복문 138
9.1.1 반복 동작 138
9.1.2 횟수 표시 139
9.2 루프 동작의 구조 141
9.2.1 초기화와 조건 141
9.2.2 무한 루프 142
9.2.3 강제 탈출 143
연습문제 145

CHAPTER 10 횟수를 알 수 없는 반복 147
10.1 횟수를 알 수 없는 루프 148
10.1.1 횟수를 구하는 루프 148
10.1.2 for문과의 호환성 151
10.2 입력 검사 152
10.2.1 사전 검사와 사후 검사 152
10.2.2 입력 검사 153
연습문제 157

CHAPTER 11 함수 생성 방법 159
11.1 사용자 정의 함수 생성 160
11.1.1 프로그램의 부품화 160
11.1.2 사용자 정의 함수 생성 161
11.1.3 프로토타입 선언 162
11.1.4 사용자 정의 함수 호출 164
11.2 함수에 수치 전달 166
11.2.1 인수를 가진 함수 166
11.2.2 함수에 수치 전달하기 167
11.2.3 여러 인수 168
11.3 함수에서 수치 반환하기 171
11.3.1 값을 반환하는 함수 171
11.3.2 반환값의 제한 173
연습문제 174

CHAPTER 12 변수의 수명 177
12.1 함수 내에서 수명이 끝나는 변수 178
12.1.1 로컬 변수의 수명 178
12.1.2 같은 이름, 다른 변수 181
12.1.3 함수의 독립성 182
12.1.4 정확하게는 블록 내부 183
12.2 마지막까지 살아남는 변수 185
12.2.1 글로벌 변수의 수명 185
12.2.2 모든 함수에서 공유 186
12.2.3 로컬 변수는 독립 188
12.3 함수 내에서 살아남는 변수 190
12.3.1 정적 로컬 변수의 수명 190
연습문제 192

CHAPTER 13 여러 변수의 처리 195
13.1 여러 변수를 한 번에 처리 196
13.1.1 배열의 개념 196
13.1.2 배열의 선언 196
13.1.3 배열 처리하기 197
13.2 배열 사용법 199
13.2.1 초깃값 대입 199
13.2.2 전체 요소 표시 201
13.2.3 요소 개수 구하기 202
13.2.4 배열 복사 204
연습문제 207

CHAPTER 14 문자열을 다루는 방법 209
14.1 문자를 다루는 방법 210
14.1.1 문자열을 다루는 변수 210
14.1.2 문자를 다루려면 211
14.1.3 문자 코드 212
14.1.4 문자 계산하기 212
14.2 문자열을 다루는 방법 217
14.2.1 배열로 만들자 217
14.2.2 문자열 초기화 218
14.3 문자열 처리 함수 221
14.3.1 수치로 변환 221
14.3.2 문자열 복사 222
14.3.3 문자열 연결 225
14.3.4 완벽한 문자열 합성 함수 226
14.3.5 문자열 입력 228
14.3.6 문자 수 세기 230
14.3.7 문자열 비교 232
연습문제 235

CHAPTER 15 포인터 변수의 구조 237
15.1 메모리 구조 238
15.1.1 메모리? 238
15.1.2 초대형 1열 사물함 238
15.1.3 CPU 비트 수 239
15.1.4 32비트 사물함 240
15.2 변수와 메모리의 관계 241
15.2.1 변수는 메모리상에 존재 241
15.2.2 메모리상의 번호를 표시 242
15.2.3 여러 변수의 번호 244
15.2.4 배열 번호 245
15.3 &를 붙여야 하는 변수의 정체 247
15.3.1 &를 붙인 변수의 정체 247
15.3.2 모든 것은 값에 의한 호출 247
15.3.3 scanf 함수에서 &를 붙이는 이유 248
15.4 주소를 기억하는 변수 251
15.4.1 포인터라는 단어 251
15.4.2 포인터형 251
15.4.3 포인터 값 253
15.4.4 포인터 변수 253
15.5 포인터 변수 사용하기 255
15.5.1 포인터 변수의 선언 255
15.5.2 주소 대입 256
15.5.3 변수 상태 변경 258
15.5.4 포인터는 바로 가기 260
15.6 인수로 정보 전달 261
15.6.1 포인터형 인수 261
15.6.2 배열형 인수 263
15.6.3 배열형 인수의 특이한 성질 264
15.6.4 주소 전달 266
15.7 배열과 포인터의 이상한 관계 268
15.7.1 배열과 같은 사용법 268
15.7.2 포인터만의 작성법 270
15.7.3 오래되고 좋지 않은 포인터 연산 273
15.7.4 주소 관련 내용은 잊어라 274
연습문제 275

CHAPTER 16 여러 변수형을 하나로 묶음 277
16.1 다른 형의 변수를 하나로 묶음 278
16.1.1 한 번에 데이터를 처리하고 싶을 때 278
16.1.2 구조체의 사용 방법 281
16.1.3 구조체 변수 자체 처리 283
16.1.4 구조체의 간결한 선언 285
16.2 구조체 인수 288
16.2.1 구조체로 정보 전달 288
16.2.2 구조체에서도 포인터 변수 290
16.2.3 구조체에서도 포인터 인수 292
16.3 구조체의 배열 295
16.3.1 구조체의 배열 295
16.3.2 구조체 배열 인수 296
연습문제 297

CHAPTER 17 파일 처리 299
17.1 텍스트 파일 읽고 쓰기 300
17.1.1 파일 처리 300
17.1.2 파일 열기와 닫기 300
17.1.3 파일에 쓰기 302
17.1.4 파일에서 읽기 304
17.2 바이너리 파일 읽고 쓰기 307
17.2.1 텍스트와 바이너리 307
17.2.2 파일 열고 닫기 307
17.2.3 파일에 쓰기 308
17.2.4 파일에서 읽기 311
17.3 드래그 지원 313
17.3.1 드래그된 파일명 가져오기 313
17.3.2 옵션 분석 315
연습문제 317

CHAPTER 18 매크로 기능 319
18.1 변하지 않는 값의 처리 320
18.1.1 처음부터 마지막까지 변하지 않는 값 320
18.1.2 수치에 이름 붙이기 320
18.1.3 문자열에 이름 붙이기 322
18.2 다른 상수 선언 324
18.2.1 const 상수 324
18.2.2 enum 상수 325
18.2.3 수치 지정 enum 상수 328
18.3 간단한 함수 구현 329
18.3.1 #define 전처리 지시자의 고급 기능 329
18.3.2 간단한 함수, 매크로 330
18.3.3 부작용의 공포 333
연습문제 335

CHAPTER 19 동적 배열 337
19.1 자유로운 배열 생성 338
19.1.1 배열의 단점 338
19.1.2 메모리 확보 339
19.1.3 동적 배열의 요소 개수 확대 342
연습문제 344

CHAPTER 20 여러 소스 파일 347
20.1 최소한의 분할 348
20.1.1 여러 소스 파일을 사용하는 이유 348
20.1.2 소스와 헤더 파일 348
20.1.3 최소한의 헤더 파일 349
20.2 분할의 정석 352
20.2.1 변수의 공유 352
20.2.2 extern 선언 353
20.2.3 헤더 파일의 중복 방지 355

CHAPTER 21 키보드 입력 더 알아보기 361
21.1 1행 문자열 362
21.1.1 gets 함수로 키보드 입력 362
21.1.2 버퍼 오버런 대책 364
21.1.3 문자열에서 수치 등을 추출 366
연습문제 358

부록 A 단어와 기호 370
부록 B 표준 라이브러리 함수 목록 380
부록 C ASCII 코드 표 408

연습문제 정답 411
찾아보기 441

책 속으로

변수란, 수치를 저장해 두기 위해 메모리 영역에 이름을 붙인 것을 말한다. 대부분의 입문서에서는 수치를 넣어 두는 상자라고 설명하지만 이런 설명 방법은 컴퓨터가 많이 보급되기 전의 설명이다. 컴퓨터를 다뤄 본 사람이라면 메모리라고 설명하는 편이 더 좋을 것이다.
_68

예를 들어, 어느 나라의 소비세를 계산한다고 해 보자. 금액×1.05라는 수식을 계산하면, 일반적으로 답이 실수로 나온다. 그러나 금액이 소수로 나오는 것은 자연스럽지 않다. 만약 실수를 정수로 변환하는 방법이 있다면 이 문제는 해결될 것이다. C 언어에는 형... 더보기

출판사 서평

쉽고 명쾌한 설명, 유용한 연습문제, 난공불락 포인터까지 정복할 수 있는 명품 C 언어 입문서!
일본 아마존 C 언어 분야 베스트셀러!

이 책은 C 언어로 프로그래밍을 시작하려는 분이나 이미 다른 C 언어 책으로 배우려 했으나 성공하지 못한 분들이 C 언어의 주요 기능을 제대로 배울 수 있도록 기획되었다.

일본에서 인기가 많은 인터넷 C 언어 강좌를 고스란히 옮긴 이 책은 그 어떤 책보다 요소 하나하나에 대해 확실하게 설명한다. 이미 다른 C 언어 입문서를 읽어 봤지만 아직도 C 언어가 뭔지 잘 모르겠다고 생각하는 분... 더보기

북로그 리뷰 (0) 쓰러가기

도서 구매 후 리뷰를 작성하시면 통합포인트를 드립니다.
결제 90일 이내 작성 시 300원 / 발송 후 5일 이내 작성시 400원 / 이 상품의 첫 리뷰 작성 시 500원
(포인트는 작성 후 다음 날 적립되며, 도서 발송 전 작성 시에는 발송 후 익일에 적립됩니다.
외서/eBook/음반/DVD/GIFT 및 잡지 상품 제외)
안내
  • 해당도서의 리뷰가 없습니다.

Klover 평점/리뷰 (0)

문장수집 (0) 문장수집 쓰기 나의 독서기록 보기
※구매도서의 문장수집을 기록하면 통합포인트 적립 안내

교환/반품/품절안내

※ 상품 설명에 반품/교환 관련한 안내가 있는 경우 그 내용을 우선으로 합니다. (업체 사정에 따라 달라질 수 있습니다.)

교환/반품/품절안내
반품/교환방법 마이룸 > 주문관리 > 주문/배송내역 > 주문조회 > 반품/교환신청 ,
[1:1상담>반품/교환/환불] 또는 고객센터 (1544-1900)

※ 오픈마켓, 해외배송주문, 기프트 주문시 [1:1상담>반품/교환/환불]
    또는 고객센터 (1544-1900)
반품/교환가능 기간 변심반품의 경우 수령 후 7일 이내,
상품의 결함 및 계약내용과 다를 경우 문제점 발견 후 30일 이내
반품/교환비용 변심 혹은 구매착오로 인한 반품/교환은 반송료 고객 부담
반품/교환 불가 사유
  • 소비자의 책임 있는 사유로 상품 등이 손실 또는 훼손된 경우
    (단지 확인을 위한 포장 훼손은 제외)
  • 소비자의 사용, 포장 개봉에 의해 상품 등의 가치가 현저히 감소한 경우
    예) 화장품, 식품, 가전제품(악세서리 포함) 등
  • 복제가 가능한 상품 등의 포장을 훼손한 경우
    예) 음반/DVD/비디오, 소프트웨어, 만화책, 잡지, 영상 화보집
  • 소비자의 요청에 따라 개별적으로 주문 제작되는 상품의 경우 ((1)해외주문도서)
  • 디지털 컨텐츠인 eBook, 오디오북 등을 1회 이상 다운로드를 받았을 경우
  • 시간의 경과에 의해 재판매가 곤란한 정도로 가치가 현저히 감소한 경우
  • 전자상거래 등에서의 소비자보호에 관한 법률이 정하는 소비자 청약철회 제한 내용에
    해당되는 경우
(1) 해외주문도서 : 이용자의 요청에 의한 개인주문상품으로 단순변심 및 착오로 인한 취소/교환/반품 시 ‘해외주문 반품/취소 수수료’ 고객 부담 (해외주문 반품/취소 수수료 : ①양서-판매정가의 12%, ②일서-판매정가의 7%를 적용)
상품 품절 공급사(출판사) 재고 사정에 의해 품절/지연될 수 있으며, 품절 시 관련 사항에 대해서는
이메일과 문자로 안내드리겠습니다.
소비자 피해보상
환불지연에 따른 배상
  • 상품의 불량에 의한 교환, A/S, 환불, 품질보증 및 피해보상 등에 관한 사항은
    소비자분쟁해결 기준 (공정거래위원회 고시)에 준하여 처리됨
  • 대금 환불 및 환불지연에 따른 배상금 지급 조건, 절차 등은 전자상거래 등에서의
    소비자 보호에 관한 법률에 따라 처리함

이 분야의 베스트

더보기+

이 분야의 신간

더보기+

바로가기

  • 우측 확장형 배너 2
  • 우측 확장형 배너 2

최근 본 상품