출고예상일 안내
주문하신 상품이 한국에서 현지 배송을 위한 출고단계가 이루어질 것으로 예상되는 날짜입니다. 상품을 준비하는 과정에서 내부적인 사정으로 인해 출고예상일에 다소 오차가 생길 수 있습니다.
여러 상품(예약상품포함)을 함께 주문하신 경우 출고예상일이 가장 늦은 날짜에 맞춰 함께 배송됩니다.

ISBN : 9791185890630 / 472쪽 / 897g / 171 x 225 (㎜)
이 상품에 궁금하신점이 있으세요? 1:1상담문의

-
정지훈
-
클리커, 이희영, 강민혁
-
이와사키 히로마사
-
성구(강성규)
- 25,200
- 22,500
- 15,120
- 21,600
출판사 리뷰
출판사 서평 쉽고 명쾌한 설명, 유용한 연습문제, 난공불락 포인터까지 정복할 수 있는 명품 C 언어 입문서! 일본 아마존 C 언어 분야 베스트셀러! 이 책은 C 언어로 프로그래밍을 시작하려는 분이나 이미 다른 C 언어 책으로 배우려 했으나 성공하지 못한 분들이 C 언어의 주요 기능을 제대로 배울 수 있도록 기획되었다. 일본에서 인기가 많은 인터넷 C 언어 강좌를 고스란히 옮긴 이 책은 그 어떤 책보다 요소 하나하나에 대해 확실하게 설명한다. 이미 다른 C 언어 입문서를 읽어 봤지만 아직도 C 언어가 뭔지 잘 모르겠다고 생각하는 분... 쉽고 명쾌한 설명, 유용한 연습문제, 난공불락 포인터까지 정복할 수 있는 명품 C 언어 입문서! 일본 아마존 C 언어 분야 베스트셀러! 이 책은 C 언어로 프로그래밍을 시작하려는 분이나 이미 다른 C 언어 책으로 배우려 했으나 성공하지 못한 분들이 C 언어의 주요 기능을 제대로 배울 수 있도록 기획되었다. 일본에서 인기가 많은 인터넷 C 언어 강좌를 고스란히 옮긴 이 책은 그 어떤 책보다 요소 하나하나에 대해 확실하게 설명한다. 이미 다른 C 언어 입문서를 읽어 봤지만 아직도 C 언어가 뭔지 잘 모르겠다고 생각하는 분들이 읽었으면 한다. 이 책의 주요 내용 · C 프로그램 작성법 · 수치 표시와 계산 · 키보드를 사용한 입력 · 조건에 따른 처리 · 문자열을 다루는 방법 · 매크로 사용법 · 화면에 문자 표시하기 · 변수 사용법 · 비교와 판단 · 함수 생성 방법 · 파일 처리 · 동적 배열

변수란, 수치를 저장해 두기 위해 메모리 영역에 이름을 붙인 것을 말한다. 대부분의 입문서에서는 수치를 넣어 두는 상자라고 설명하지만 이런 설명 방법은 컴퓨터가 많이 보급되기 전의 설명이다. 컴퓨터를 다뤄 본 사람이라면 메모리라고 설명하는 편이 더 좋을 것이다.
_68
예를 들어, 어느 나라의 소비세를 계산한다고 해 보자. 금액×1.05라는 수식을 계산하면, 일반적으로 답이 실수로 나온다. 그러나 금액이 소수로 나오는 것은 자연스럽지 않다. 만약 실수를 정수로 변환하는 방법이 있다면 이 문제는 해결될 것이다. C 언어에는 형을 강제적으로 변환하는 기능이 있으며, 이를 명시적 형 변환이라 한다.
_81
이제부터는 한 번 작성한 프로그램을 다시 사용하는 것에 대해 생각해 보자. 만들어 둔 프로그램을 다시 사용하는 가장 간단한 방법은, 복사해서 main 함수 안에 붙여 넣는 것이다. 그러나 긴 프로그램의 경우 코드가 뒤죽박죽 섞여 알아보기가 힘든 프로그램이 될 수도 있다. 이전에 작성한 프로그램을 다시 사용하는 것을 재사용이라고 부르며, 함수로 재사용하는 것은 부품화라고 부른다. 부품을 많이 준비해 두면 아주 긴 프로그램이라도 그 부품을 조합하는 것만으로 완성할 수 있어 매우 효율적이다.
_160
컴퓨터 성능이 좋아짐에 따라 일반 프로그램도 충분히 빠르게 움직이는 요즘, 개발자 가치의 절반은 얼마나 수정하기 쉬운 프로그램을 만드느냐에 달려 있다고 해도 과언이 아니다. 그래서 우리도 초보자가 수정하기 쉬운 프로그램을 만드는 방법을 전수하겠다. 간단하다. 무조건 함수를 많이 만들어라. 함수로 나눌 수 있는 것은 모두 함수로 나누어라. 과하다 싶을 정도로 해도 된다. 함수를 만들 때는 함수명과 인수를 생각해야 한다. 이를 생각하는 것만으로도 자연스럽게 수정하기 쉬운 프로그램으로 만들어진다.
_170
지금까지 함수마다 변수가 개별로 만들어짐을 배웠다. 이러한 구조로 되어 있는 이유는 함수의 독립성을 높이기 위해서다. 11장에서 만든 min~max의 합계를 구하는 sum 함수는 다른 프로그램에서도 바로 사용할 수 있다. 이처럼 함수를 간단히 사용할 수 있도록 각 함수는 독립적이어야 한다. 예를 들어, sum 함수는 num 변수를 사용한다. 만약 모든 함수에서 변수가 공유된다면, 다른 함수에서 num 함수를 사용한 경우 그 함수 값이 변경되어 버린다. 따라서 sum 함수를 다른 프로그램에서 사용하려면 같은 이름을 가진 변수가 없는지 먼저 확인해야 한다. 그러나 각 함수에서 사용하는 변수가 독립적이면, 다른 함수의 변수에 영향을 미치지 않아 변수 값이 언제 변경될지에 대한 두려움이 없어진다.
_182
목차
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.










































