컴퓨터를 이용하려면 프로그래밍 언어가 필요하고 다시 저급 고급언어로 나눠지는데 c언어는 고급언어에 속한다. C언어는 문법이 간결하고 다양한 함수를 활용할 수 있으며 초급자들도 쉽게 입문할 수 있다. 프로그램 실행의 전반적인 순서를 보면, 명령어를 이용한 소스코드 작성->컴파일 이용 기계어로 변환->링크(실행파일 생성)->프로그램 실행 의 순서다. 본문으로 들어가기전 컴파일러 소개가 있다. 컴파일에 입력할 소스파일을 작성하자. 각종 명령어와 특정 작업을 위한 함수 목록들인 헤더 파일, 입출력 함수(헤더 파일 중 하나)의 소개가 이어진다. 표준 출력 함수는 원하는 데로 데이터가 출력되도록 돕는다. 표준 입력 함수는 원하는 값을 입력할 수 있도록 도와주는 명령어이다. 입력하려는 값의 종류별로 명령어가 다르다. C언어에서 문자를 숫자로 표현할 때 효율성을 제공하는 것이 아스키코드인데 주로 사용하는 코드값을 나열되어 있다. 각종 명령어를 작성하면 저장공간을 확보해야 하는데 그 공간을 지정하는 것이 변수이다. 어떤 종류의 입력값인가에 따라 변수의 형태도 바뀐다. 수식은 피연산자와 연산자가 결합한 것이고 피연산자는 숫자나 문자를 의미하고, 연산자는 피연산자들의 계산을 위해 필요한 덧셈 뺄셈같은 기호다. 산술 대입 증감 관계 논리 조건 비트 주소참조 등의 연산자들을 설명한다. 그리고 알고리즘의 방향을 정해주는 조건이 필요한데 이를 제어문이라 한다. If, switch문이 있다. 명령어를 연속 실행할 수 있도록 하는 for, while, do~while문이 있다. 연산자와는 다르게 입력값을 원하는 방식으로 도출하도록 돕는 것이 있는데 함수는 라이브러리 함수와 정의함수로 나뉘고 라이브러리 함수는 c언어를 기계어를 변환해주는 컴파일러 제작 회사에서 제공하며 정의함수는 사용자가 직접 만들어 사용하는 것이다. 라이브러함수 종류에는 복권번호 예측 등을 위한 난수발생함수, 수학 함수, 유틸리티 함수가 있으며 주로 헤더파일에서 가져다 쓴다. 정의함수를 이용할 때는 직접 함수를 정의하고 선언 후(저장공간 확보) 컴파일러에게 통보한다. 매개변수와 인수(매개변수와 일대일로 대응하며 함수에 호출하도록함)의 필요성과 다양한 사용방법 그리고 자기 자신을 계속호출하는 순환 함수 정의와 사용법, 연관된 데이터를 별도 변수 처리않고 하나로 묶어 표현하는 배열(소스 코드 관리 용이)이 있다. 배열은 반복문 활용시 주로 사용하는데 자동차예약관리 프로그램 등이 있다. 이외에도 정열과 탐색, 다차원배열(배열의 크기 지정부분이 2개 이상 ex. 여러 명의 혈압 체크, 여러 명의 과목별 점수, 빙고게임 등)이 있다. 데이터나 프로그램이 저장된 메모리 주소 지정 변수를 포인터라고 하는데 주소를 참조하여 호출할 수 있는 장점이 있다. 그리고 모든 연산자는 아니지만 일부 연산자를 사용 및 활용할 수 있다. 이외 문자열, 구조체, 공용체, 스트림설명이 이어진다. 각종 명령어 등 용어 색인목록 정리도 잘 되어 있다. 설명은 자세하나 기본적으로 왜 이런 것들을 사용하는지에 대한 설명이 부족하며 c언어 프로그래밍은 보통 어떤 것들을 출력하기 위해 만드는지에 대한 설명이 부족하다. 책은 전반적으로 보기에도 편안하고 내용도 예시 위주로 꼼꼼하나 고급언어 설명집 정도 같이 봐주면 좋을 듯 하다. 그리고 용어정의 테스트와 실기예제 들이 맘에 든다. 알찬 책이다.