책소개
프로그래밍의 기초 골격을 탄탄하게 해주는 다시 배우는 C 언어!기존의 ‘프로그래밍’ 책들은 프로그래밍에 대한 기초 내용만, ‘C 언어’ 책들은 C 언어 문법 위주의 내용만 다루고 있어서 그 둘을 연관 짓기 어려워하는 독자가 많았습니다. 이 책은 그 둘을 함께 다루어 C 언어를 배우면서 프로그래밍의 기본기를 탄탄히 다지도록 집필되었습니다.이 책은 크게 세 부분으로 구성되어 있는데, 1부는 프로그램이 필요한 이유와 프로그램이 어떤 과정으로 만들어지는지를 다룹니다. 2부에서는 C 언어에 관해 설명합니다. 다른 C 언어 책들과 비슷하게 보일 수도 있지만, 1부에서 설명한 내용과 연관 지어 C 언어를 사용하여 컴퓨터에서 동작하는 프로그램을 만드는 내용을 다룹니다. 마지막 3부에서는 1부와 2부에서 설명한 방법과 도구를 사용하여 실제 주어진 문제를 풀어나가는 과정을 보여줍니다.
목차
PART I 프로그램, 프로그래밍 1CHAPTER 1 프로그램이란 무엇일까? 51.1 시스템이란 무엇일까? 51.2 블랙박스 시스템과 화이트박스 시스템 71.3 하드웨어 및 소프트웨어로 만들어지는 프로그램 91.4 아날로그와 디지털의 차이는 무엇일까? 111.5 아날로그 신호를 디지털 신호로 변환하기 141.6 프로그램으로서 역할 22CHAPTER 2 프로그램의 핵심: 알고리즘 262.1 프로그램 = 알고리즘 + 프로그래밍 언어 262.2 흐름도: 알고리즘을 표현하기 위한 도구 372.3 알고리즘의 종류 432.4 모로 가도 서울만 가면 된다? 482.5 좋은 알고리즘, 나쁜 알고리즘 50CHAPTER 3 프로그램의 구현 도구: 프로그래밍 언어 553.1 프로그래밍 언어는 외계어가 아니다 553.2 기계어: 컴퓨터가 이해하는 유일한 언어 563.3 컴파일러와 인터프리터 643.4 컴퓨터를 위한 수학 693.5 진법 713.6 비트, 바이트, 워드 74CHAPTER 4 명령어와 데이터의 표현 784.1 문자는 어떻게 표현될까? 794.2 숫자는 어떻게 표현될까? 854.3 명령어는 어떻게 표현되고 처리될까? 94CHAPTER 5 알고리즘은 어떻게 만들어질까? 995.1 알고리즘은 어떻게 작성해야 할까? 995.2 C, 함수 중심의 언어 1035.3 C ? C++ ? 1085.4 프로그래밍은 어떻게 공부해야 할까? 111PART II C 언어 113CHAPTER 6 함수의 구조 1176.1 함수의 구조 1176.2 주석 1266.3 정리 127CHAPTER 7 데이터 유형 1297.1 데이터 유형: 메모리 크기 결정과 값 해석의 기준 1297.2 변수 값 읽기와 쓰기 1337.3 문자 데이터 1377.4 printf: 데이터 출력을 위한 함수 1437.5 변수의 유효 범위 1477.6 정리 150CHAPTER 8 연산자 1528.1 연산자: 데이터를 가공하는 방법 1528.2 연산자와 함수 1538.3 연산자 우선순위와 결합 순서 1558.4 피연산자 개수 1588.5 산술 연산자 1638.6 비교 연산자 1658.7 논리 연산자 1668.8 비트 연산자 1708.9 형 변환 1728.10 정리 176CHAPTER 9 조건문 1789.1 알고리즘의 종류 1789.2 if-else문 1799.3 조건 연산자: 작은 if-else문 1849.4 switch-case문 1869.5 정리 191CHAPTER 10 반복문 19310.1 알고리즘의 종류 19310.2 while문 19410.3 do-while문 19710.4 for문 19810.5 continue와 break 20110.6 반복문이 꼭 필요한가? 20510.7 중첩된 루프 20910.8 정리 212CHAPTER 11 배열 21411.1 배열이 필요한가? 21411.2 배열 선언 21511.3 배열 초기화 및 값의 대입 21911.4 문자열 22211.5 2차원 배열 22611.6 정리 229CHAPTER 12 포인터 23012.1 포인터란 무엇인가? 23012.2 포인터 변수 23212.3 배열과 포인터 23612.4 함수에서 포인터의 전달 23812.5 2차원 포인터 24412.6 동적 할당 24912.7 정리 256CHAPTER 13 함수 25713.1 함수 25713.2 함수의 선언, 정의, 호출 26213.3 함수의 입력과 출력 26313.4 정리 265PART III 카르노맵 267CHAPTER 14 논리식의 간략화 271CHAPTER 15 카르노맵 입출력 277CHAPTER 16 1, 2셀 그룹 찾기 285CHAPTER 17 4, 8, 16셀 그룹 찾기 294CHAPTER 18 간략화된 그룹 집합 선택 305CHAPTER 19 카르노맵 알고리즘의 개선 315찾아보기 320