책 이미지
책 정보
· 분류 : 국내도서 > 컴퓨터/모바일 > 프로그래밍 언어 > C
· ISBN : 9791185890883
· 쪽수 : 336쪽
· 출판일 : 2017-07-31
책 소개
목차
PART I 프로그램, 프로그래밍 1
CHAPTER 1 프로그램이란 무엇일까? 5
1.1 시스템이란 무엇일까? 5
1.2 블랙박스 시스템과 화이트박스 시스템 7
1.3 하드웨어 및 소프트웨어로 만들어지는 프로그램 9
1.4 아날로그와 디지털의 차이는 무엇일까? 11
1.5 아날로그 신호를 디지털 신호로 변환하기 14
1.6 프로그램으로서 역할 22
CHAPTER 2 프로그램의 핵심: 알고리즘 26
2.1 프로그램 = 알고리즘 + 프로그래밍 언어 26
2.2 흐름도: 알고리즘을 표현하기 위한 도구 37
2.3 알고리즘의 종류 43
2.4 모로 가도 서울만 가면 된다? 48
2.5 좋은 알고리즘, 나쁜 알고리즘 50
CHAPTER 3 프로그램의 구현 도구: 프로그래밍 언어 55
3.1 프로그래밍 언어는 외계어가 아니다 55
3.2 기계어: 컴퓨터가 이해하는 유일한 언어 56
3.3 컴파일러와 인터프리터 64
3.4 컴퓨터를 위한 수학 69
3.5 진법 71
3.6 비트, 바이트, 워드 74
CHAPTER 4 명령어와 데이터의 표현 78
4.1 문자는 어떻게 표현될까? 79
4.2 숫자는 어떻게 표현될까? 85
4.3 명령어는 어떻게 표현되고 처리될까? 94
CHAPTER 5 알고리즘은 어떻게 만들어질까? 99
5.1 알고리즘은 어떻게 작성해야 할까? 99
5.2 C, 함수 중심의 언어 103
5.3 C ? C++ ? 108
5.4 프로그래밍은 어떻게 공부해야 할까? 111
PART II C 언어 113
CHAPTER 6 함수의 구조 117
6.1 함수의 구조 117
6.2 주석 126
6.3 정리 127
CHAPTER 7 데이터 유형 129
7.1 데이터 유형: 메모리 크기 결정과 값 해석의 기준 129
7.2 변수 값 읽기와 쓰기 133
7.3 문자 데이터 137
7.4 printf: 데이터 출력을 위한 함수 143
7.5 변수의 유효 범위 147
7.6 정리 150
CHAPTER 8 연산자 152
8.1 연산자: 데이터를 가공하는 방법 152
8.2 연산자와 함수 153
8.3 연산자 우선순위와 결합 순서 155
8.4 피연산자 개수 158
8.5 산술 연산자 163
8.6 비교 연산자 165
8.7 논리 연산자 166
8.8 비트 연산자 170
8.9 형 변환 172
8.10 정리 176
CHAPTER 9 조건문 178
9.1 알고리즘의 종류 178
9.2 if-else문 179
9.3 조건 연산자: 작은 if-else문 184
9.4 switch-case문 186
9.5 정리 191
CHAPTER 10 반복문 193
10.1 알고리즘의 종류 193
10.2 while문 194
10.3 do-while문 197
10.4 for문 198
10.5 continue와 break 201
10.6 반복문이 꼭 필요한가? 205
10.7 중첩된 루프 209
10.8 정리 212
CHAPTER 11 배열 214
11.1 배열이 필요한가? 214
11.2 배열 선언 215
11.3 배열 초기화 및 값의 대입 219
11.4 문자열 222
11.5 2차원 배열 226
11.6 정리 229
CHAPTER 12 포인터 230
12.1 포인터란 무엇인가? 230
12.2 포인터 변수 232
12.3 배열과 포인터 236
12.4 함수에서 포인터의 전달 238
12.5 2차원 포인터 244
12.6 동적 할당 249
12.7 정리 256
CHAPTER 13 함수 257
13.1 함수 257
13.2 함수의 선언, 정의, 호출 262
13.3 함수의 입력과 출력 263
13.4 정리 265
PART III 카르노맵 267
CHAPTER 14 논리식의 간략화 271
CHAPTER 15 카르노맵 입출력 277
CHAPTER 16 1, 2셀 그룹 찾기 285
CHAPTER 17 4, 8, 16셀 그룹 찾기 294
CHAPTER 18 간략화된 그룹 집합 선택 305
CHAPTER 19 카르노맵 알고리즘의 개선 315
찾아보기 320
저자소개
책속에서

C 언어가 가장 널리 사용되는 프로그래밍 언어 중 하나인 것은 사실이지만, 프로그래밍 언어는 컴퓨터가 이해할 수 있는 적은 수의 단어들을 몇 개의 규칙으로 조합하여 문장으로 나타낼 수 있을 뿐입니다. 가장 대표적인 예로는 “Hello, World!”를 출력하는 것을 들 수 있습니다. 프로그래밍 언어를 배우려는 목적은 “Hello, World!”를 출력하는 데 있지 않습니다. C 언어는 도구일 뿐입니다. C 언어를 배우는 목적은 인공위성을 움직이거나 프로 바둑 기사와의 대국에서 승리하기 위해서이지, C 언어 자체를 배우는 것이어서는 안 됩니다. 프로그램을 작성하는 것을 단순한 코딩이 아닌 그 이상의 것으로 생각하는 것에서부터 시작한다면, C 언어가 좀 더 흥미로울 수 있을 것입니다.
프로그램은 알고리즘과 프로그래밍 언어로 이루어져 있습니다. 무엇을 먼저 배워야 할까요? 이상적인 학습 방법은 하향식으로 배우는 것입니다. 여기서 하향식이란, 큰 문제를 여러 개의 작은 문제로 나눈 후 작은 문제들을 해결함으로써 결국 큰 문제를 해결하는 방식을 말합니다. 프로그램을 작성하는 과정에서는 문장들을 조합하여 주어진 문제를 해결할 수 있는 알고리즘 작성 방법을 먼저 배우고, 개별 문장을 프로그래밍 언어를 사용하여 나타내는 방법을 나중에 배우는 것이 하향식에 해당합니다. 하지만 프로그래밍 언어를 처음 배우는 사람은 알고리즘을 전혀 알지 못합니다. 알고리즘을 먼저 배우면 될 것이라 생각할 수 있지만, 알고리즘은 컴퓨터가 이해하는 단어와 문장으로 나타내야만 합니다.



















