쉽게 풀어쓴 C언어 EXPRESS (개정판)

고객평점
저자천인국
출판사항생능출판사, 발행일:2016/01/22
형태사항p.731 A4판:28
매장위치컴퓨터부(B2) , 재고문의 : 051-816-9500
ISBN9788970507385 [소득공제]
판매가격 28,000원  
포인트 560점
배송비결제주문시 결제
절판도서 및 품절도서 입니다 매장으로 문의바랍니다.
재고 0인 도서는 수량 부족으로 발송지연이 예상되니 주문 전 문의바랍니다.

책 소개

▣ 출판사서평

보다 쉽고 재미있는 프로그래밍의 세계로!

C언어는 공학 전반의 실무 현장에서 가장 많이 사용되는 언어 중의 하나이다. C언어는 간결하고 효율적이며 저수준의 하드웨어 제어도 가능한 강력한 언어이다. 이 책을 저술하게 된 가장 큰 이유는, 프로그래밍 입문자들이 이 책을 통하여 보다 쉽고 재미있게 프로그래밍의 세계로 들어올 수 있도록 하자는 것이었다. 그러기 위해 다음과 같이 이 책을 구성하였다.

첫째, 적절한 그림을 가능한 많이 사용하여 보다 친숙하고, 지루하지 않으며 독자들이 이해하기 쉽도록 구성하였다. 입문자들은 그림을 통하여 보다 쉽게 관련 개념들을 빠르게 이해할 수 있다. 둘째, 각각의 주제에 대하여 개념과 원리를 자세하게 설명하였으며 설명은 문답식이어서 독자들이 친숙하게 느끼도록 하였다.

셋째, 페이지가 허용하는 한도에서 충분한 예제 프로그램을 제공하여 입문자들이 참고할수 있도록 하였다. 넷째, 실습 책을 따로 구입하지 않아도 혼자서 실습을 진행할 수 있도록 단계식 실습 문제를 제공하였다. 사용자들은 주어진 예제 소스를 첨삭해가면서 학습한 내용을 체득할 수 있도록 하였다.

추가되고 보완된 새로운 모습의 개정판!

이 책은 출간된 지 4년 동안 우리나라 거의 모든 대학의 C언어 강좌에서 베스트셀러로 각광받았다. 그럼에도 불구하고 다음과 같이 더 알찬 내용을 추가하여 개정판이 나왔다.

첫째, 각 장의 중간 또는 각 장의 끝에 2~3개의 심도 있는 실습 문제를 추가하였다. 실습 문제는 다양한 분야에서 흥미를 가질 수 있는 문제들을 엄선하였다. 실습에서는 예제와는 다르게 프로그램의 실행 결과가 먼저 제시되는데, 제시된 실행 결과를 생성할 수 있는 프로그램을 힌트와 함께 작성하다보면, 문제를 해결하는 능력도 단계적으로 배양될 것이다. 또 실습 문제 끝에는 도전 문제를 두어 독자들이 주어진 소스에 기능을 추가해 좀 더 수준 높은 프로그램을 완성할 수 있도록 하였다.

둘째, 예제 프로그램 소스에 직접 설명을 붙였다. 독자들이 소스를 읽다보면 여러 가지 의문점이 들 수 있는데, 소스와 분리된 설명은 찾아서 보기 힘들다. 따라서 소스에 직접 설명을 붙임으로써 독자들이 빠르고 더 쉽게 예제 프로그램을 이해할 수 있도록 하였다.

셋째, 연습 문제와 프로그래밍 문제를 대폭적으로 교체, 정선하였다. 너무 어려운 문제나 중복되는 문제를 삭제하고 새롭고 흥미로운 문제들은 추가하였다. 또 프로그래밍 문제에는 힌트를 두어 프로그램을 작성하는 데 도움을 주고자 하였다.
넷째, 각 장의 끝에 Summary를 두어 각 장에서 학습한 내용을 스스로 정리할 수 있도록 하였다. 또한 각 장에서 가장 대표적인 소스를 중심으로 독자들이 직접 설명을 붙이도록 하였다.

이 책의 내용

1장 ‘프로그래밍의 개념’에서는 프로그래밍의 개념과 프로그래밍 언어의 역할을 이해하고, 알고리즘이 왜 필요하고 중요한지와 프로그램 개발 과정을 이해한다. 2장 ‘프로그래밍 작성 과정’에서는 Visual C++를 이용한 프로그램 작성 과정을 살펴보고, 예제 프로그램 작성과 컴파일, 실행해본다. 3장 ‘C 프로그램 구성 요소’에서는 주석, 변수, 함수, 문장 등의 프로그램을 구성하는 요소들의 개념을 이해하고, printf(), scanf() 같은 입출력 함수의 사용법을 익히며, 수식과 연산의 기초적인 사항들을 학습한다.

4장 ‘변수와 자료형’에서는 변수와 상수의 개념을 이해하고, C에서 사용 가능한 변수의 종류에 대해 학습하며, 정수형 변수와 상수를, 부동 소수점형 변수와 상수를, 기호 상수를 선언하고 사용할 수 있고 오버플로우와 언더플로우를 이해한다. 5장 ‘수식과 연산자’에서는 수식과 연산자의 개념을 이해하고, 대입, 산술, 증감, 관계, 논리 연산자를 사용할 수 있고 결과값을 이해할 수 있으며, 연산자의 우선순위와 결합 규칙을 이해한다. 6장 ‘조건문’에서는 가능한 여러 가지 동작 중에서 하나를 선택하는 if..else 문의 사용법과 관계 연산자와 논리 연산자 그리고 선택할 수 있는 동작이 많은 경우에 사용되는 switch 문의 사용법을 학습하고, 반복문의 흐름을 제어하는 break, continue, goto 등의 사용법을 학습한다.

7장 ‘반복문’에서는 프로그램 안의 문장들을 반복적으로 실행하기 위한 while 구조와 for 구조를 학습하고, 반복문에서의 break와 continue 사용법을 익힌다. 8장 ‘함수’에서는 함수의 개념, 함수의 장점을 이해하고, 함수를 작성할 수 있고 함수를 호출할 수 있는 방법과 함수와 함수 사이에서 정보를 전달하고 받는 메커니즘을 이해한다. 9장 ‘함수와 변수’에서는 변수가 선언되는 위치에 따라 변수의 범위, 생존 시간, 연결 등이 어떻게 달라지는지를 이해하고, 저장 유형 지정자에 따라 변수의 속성이 어떻게 변경되는지를 학습하며, 자기 자신을 호출하는 순환 호출의 개념과 응용 예를 살펴본다.

10장 ‘배열’에서는 배열을 선언하고 초기화하며 각 원소들을 참조하는 방법과 반복 구조를 이용하여 배열 원소들에 대하여 동일한 처리를 반복 적용하는 방법을 학습하고, 정렬과 탐색 알고리즘을 살펴본다. 11장 ‘포인터’에서는 포인터의 개념과 포인터 선언 및 초기화 과정과 포인터의 연산의 특수성을 이해하고, 포인터와 배열의 관계와 포인터를 이용한 참조에 의한 호출을 이해한다. 12장 ‘문자열’에서는 문자열이 컴퓨터 내부에서 어떻게 표현되는지를 학습하고, 문자와 문자열을 입출력하고 처리하는 라이브러리 함수를 살펴본다.

13장 ‘구조체’에서는 구조체의 개념을 학습하고 구조체를 선언하고 초기화하는 방법을 살펴본다. 또한 구조체와 포인터의 관계와 공용체와 typedef을 이용한 사용자 정의 자료형을 만드는 방법을 학습한다. 14장 ‘포인터 활용’에서는 포인터의 포인터, 포인터 배열, 함수 포인터들을 학습하고, 다차원 배열과 포인터의 관계와 main() 함수의 인수에 대하여 살펴본다. 15장 ‘전처리 및 비트 필드’에서는 전처리에 속하는 여러 가지 지시자들을 학습하고, 전처리 기능을 이용한 매크로를 작성하고 사용하는 방법과 여러 개의 소스 파일을 사용하는 프로젝트를 작성하여 보며, 구조체 안에 비트를 저장할 수 있는 비트 필드 기능을 학습한다.

16장 ‘스트림과 파일 입출력’에서는 스트림의 개념과 형식화된 입출력을 이해하고, 파일 입출력과 입출력 라이브러리 함수들을 이해한다. 17장 ‘동적 메모리와 연결 리스트’에서는 동적 메모리 할당의 개념과 절차를 이해하고 관련된 라이브러리 함수를 학습하며, 연결 리스트의 개념을 이해하고 배열과 비교하여 장단점을 살펴보며, 연결리스트를 사용하는 예제를 학습한다.

▣ 작가 소개

저자 : 천인국
서울대학교 전자공학과 공학사, 한국과학기술원 전기및전자공학과 공학석사, 한국과학기술원 전기및전자공학과 공학박사 학위를 받았다. 삼성전자 종합연구소 주임 연구원을 거쳐 순천향대학교 정보기술공학부 교수가 되었다.

▣ 주요 목차

Chapter 01 프로그래밍의 개념
1.1 프로그래밍이란?
1.2 프로그래밍 언어
1.3 C언어의 소개
1.4 알고리즘이란?
1.5 프로그램 개발 과정
1.6 스크래치

Chapter 02 프로그래밍 작성 과정
2.1 통합 개발 환경
2.2 Visual C++를 이용한 프로그램 작성
2.3 예제 프로그램의 설명
2.4 예제 프로그램의 응용
2.5 오류 수정 및 디버깅

Chapter 03 C 프로그램 구성 요소
3.1 “덧셈”프로그램 1
3.2 주석
3.3 전처리기
3.4 함수
3.5 변수
3.6 수식과 연산
3.7 printf()
3.8 “덧셈”프로그램 2
3.9 scanf()
3.10 프로그램 예제
■실습: 사각형의 둘레와 면적

Chapter 04 변수와 자료형
4.1 변수와 상수
4.2 자료형
4.3 변수의 이름 짓기
4.4 변수 선언과 사용
4.5 정수형
4.6 부동 소수점형
4.7 문자형
■실습: 태양빛 도달 시간

Chapter 05 수식과 연산자
5.1 수식과 연산자의 개념
5.2 산술 연산자
5.3 대입 연산자
5.4 형변환
5.5 관계 연산자
5.6 논리 연산자
■실습: 윤년
5.7 조건 연산자
5.8 콤마 연산자
5.9 비트 단위 연산자
■실습: 픽셀의 컬러 표현
5.10 연산자의 우선 순위와 결합 규칙
■실습: 화씨온도를 섭씨로 바꾸기

Chapter 06 조건문
6.1 제어문
6.2 if 문
6.3 if-else 문
6.4 다중 if 문
■실습: 이차 방정식
■실습: 산술 계산기 #1
6.5 switch 문 221
■실습: 산술 계산기 #2
6.6 goto 문 229

Chapter 07 반복문
7.1 반복문이란?
7.2 while 문
■실습: 반감기
7.3 do...while 문
■실습: 숫자 추측 게임
7.4 for 문
7.5 중첩 반복문
■실습: 직각 삼각형 찾기
7.6 break와 continue
■실습: 파이 구하기
■실습: 복리 이자 계산
■실습: 달력 출력

Chapter 08 함수
8.1 함수란?
8.2 함수 정의
8.3 함수 정의 예제
8.4 함수 호출과 반환
■실습: 소수 찾기
8.5 함수 원형
8.6 라이브러리 함수
■실습: 자동차 게임
8.7 함수를 사용하는 이유

Chapter 09 함수와 변수
9.1 변수의 속성
9.2 범위
9.3 지역 변수
9.4 전역 변수
9.5 생존 시간
■실습: 로그인 횟수 제한하기
9.6 연결
9.7 어떤 저장 유형을 사용하여야 하는가?
9.8 가변 매개 변수 함수
9.9 순환

Chapter 10 배열
10.1 배열
10.2 배열의 초기화
■실습: 극장 예약 시스템
■실습: 최소값 찾기
■실습: 투표 집계하기
10.3 배열의 응용
10.4 배열과 함수
10.5 정렬
10.6 탐색
10.7 다차원 배열
■실습: tic-tac-toe 게임

Chapter 11 포인터
11.1 포인터란?
11.2 간접 참조 연산자 *
11.3 포인터 사용시 주의할 점
11.4 포인터 연산
11.5 포인터와 배열
■실습: 영상 처리
11.6 포인터와 함수
11.7 포인터 사용의 장점

Chapter 12 문자열
12.1 문자열
12.2 문자 입출력 라이브러리
12.3 문자열 입출력 라이브러리
12.4 문자 처리 라이브러리
12.5 문자열 처리 라이브러리 함수
12.6 문자열 수치 변환
12.7 문자열의 배열
■실습: 메시지 암호화
■실습: 행맨 게임

Chapter 13 구조체
13.1 구조체란 무엇인가?
13.2 구조체의 선언, 초기화, 사용
13.3 구조체의 활용
13.4 구조체의 배열
13.5 구조체와 포인터
13.6 구조체와 함수
13.7 공용체
13.8 열거형
13.9 typedef
■실습: 평점이 높은 학생 찾기

Chapter 14 포인터 활용
14.1 이중 포인터
14.2 포인터 배열
14.3 배열 포인터
14.4 함수 포인터
14.5 다차원 배열과 포인터
14.6 const 포인터와 volatile 포인터
14.7 void 포인터
14.8 main 함수의 인수
■실습: 이분법으로 근 구하기

Chapter 15 전처리 및 비트 필드
15.1 전처리기란?
15.2 단순 매크로
15.3 함수 매크로
15.4 #ifdef, #endif
15.5 #if, #else, #endif
15.6 다중 소스 파일
15.7 비트 필드 구조체
■실습: 전처리기 사용하기

Chapter 16 스트림과 파일 입출력
16.1 스트림
16.2 printf() 출력
16.3 scanf()를 이용한 입력
16.4 파일의 기초
16.5 텍스트 파일 읽기와 쓰기
16.6 이진 파일 읽기와 쓰기
16.7 임의 접근
■실습: 주소록 만들기

Chapter 17 동적 메모리와 연결 리스트
17.1 동적 할당 메모리란?
17.2 동적 메모리 할당의 기본
17.3 동적 메모리 할당의 응용
17.4 연결 리스트란?
17.5 연결 리스트의 연산
■실습: 동적 구조체 배열을 이용한 영화 관리 프로그램

작가 소개

목 차

역자 소개

01. 반품기한
  • 단순 변심인 경우 : 상품 수령 후 7일 이내 신청
  • 상품 불량/오배송인 경우 : 상품 수령 후 3개월 이내, 혹은 그 사실을 알게 된 이후 30일 이내 반품 신청 가능
02. 반품 배송비
반품 배송비
반품사유 반품 배송비 부담자
단순변심 고객 부담이며, 최초 배송비를 포함해 왕복 배송비가 발생합니다. 또한, 도서/산간지역이거나 설치 상품을 반품하는 경우에는 배송비가 추가될 수 있습니다.
상품의 불량 또는 오배송 고객 부담이 아닙니다.
03. 배송상태에 따른 환불안내
환불안내
진행 상태 결제완료 상품준비중 배송지시/배송중/배송완료
어떤 상태 주문 내역 확인 전 상품 발송 준비 중 상품이 택배사로 이미 발송 됨
환불 즉시환불 구매취소 의사전달 → 발송중지 → 환불 반품회수 → 반품상품 확인 → 환불
04. 취소방법
  • 결제완료 또는 배송상품은 1:1 문의에 취소신청해 주셔야 합니다.
  • 특정 상품의 경우 취소 수수료가 부과될 수 있습니다.
05. 환불시점
환불시점
결제수단 환불시점 환불방법
신용카드 취소완료 후, 3~5일 내 카드사 승인취소(영업일 기준) 신용카드 승인취소
계좌이체 실시간 계좌이체 또는 무통장입금
취소완료 후, 입력하신 환불계좌로 1~2일 내 환불금액 입금(영업일 기준)
계좌입금
휴대폰 결제 당일 구매내역 취소시 취소 완료 후, 6시간 이내 승인취소
전월 구매내역 취소시 취소 완료 후, 1~2일 내 환불계좌로 입금(영업일 기준)
당일취소 : 휴대폰 결제 승인취소
익월취소 : 계좌입금
포인트 취소 완료 후, 당일 포인트 적립 환불 포인트 적립
06. 취소반품 불가 사유
  • 단순변심으로 인한 반품 시, 배송 완료 후 7일이 지나면 취소/반품 신청이 접수되지 않습니다.
  • 주문/제작 상품의 경우, 상품의 제작이 이미 진행된 경우에는 취소가 불가합니다.
  • 구성품을 분실하였거나 취급 부주의로 인한 파손/고장/오염된 경우에는 취소/반품이 제한됩니다.
  • 제조사의 사정 (신모델 출시 등) 및 부품 가격변동 등에 의해 가격이 변동될 수 있으며, 이로 인한 반품 및 가격보상은 불가합니다.
  • 뷰티 상품 이용 시 트러블(알러지, 붉은 반점, 가려움, 따가움)이 발생하는 경우 진료 확인서 및 소견서 등을 증빙하면 환불이 가능하지만 이 경우, 제반 비용은 고객님께서 부담하셔야 합니다.
  • 각 상품별로 아래와 같은 사유로 취소/반품이 제한 될 수 있습니다.

환불불가
상품군 취소/반품 불가사유
의류/잡화/수입명품 상품의 택(TAG) 제거/라벨 및 상품 훼손으로 상품의 가치가 현저히 감소된 경우
계절상품/식품/화장품 고객님의 사용, 시간경과, 일부 소비에 의하여 상품의 가치가 현저히 감소한 경우
가전/설치상품 전자제품 특성 상, 정품 스티커가 제거되었거나 설치 또는 사용 이후에 단순변심인 경우, 액정화면이 부착된 상품의 전원을 켠 경우 (상품불량으로 인한 교환/반품은 AS센터의 불량 판정을 받아야 합니다.)
자동차용품 상품을 개봉하여 장착한 이후 단순변심의 경우
CD/DVD/GAME/BOOK등 복제가 가능한 상품의 포장 등을 훼손한 경우
내비게이션, OS시리얼이 적힌 PMP 상품의 시리얼 넘버 유출로 내장된 소프트웨어의 가치가 감소한 경우
노트북, 테스크탑 PC 등 홀로그램 등을 분리, 분실, 훼손하여 상품의 가치가 현저히 감소하여 재판매가 불가할 경우