logo
x
BOOKPRICE.co.kr
책, 도서 가격비교 사이트

검색가능 서점


도서목록 제공


쉽게 풀어쓴 C언어 Express

쉽게 풀어쓴 C언어 Express

(개정3판)

천인국 (지은이)
  |  
생능출판사
2018-08-20
  |  
30,000원

일반도서

서점 할인가 할인률 배송비 혜택/추가 실질최저가 구매하기
영풍문고 27,600원 -8% 0원 1,200원 26,400원 구매
인터파크 27,000원 -10% 0원 0원 27,000원 구매
반디앤루니스 28,800원 -4% 0원 0원 28,800원 구매
알라딘 30,000원 -0% 0원 900원 29,100원 구매
교보문고 30,000원 -0% 0원 900원 29,100원 구매

중고도서

서점 유형 등록개수 최저가 구매하기
교보문고 판매자 배송 4개 28,490원 구매
인터파크 판매자 배송 2개 28,490원 구매
yes24 판매자 배송 2개 30,000원 구매
알라딘 판매자 배송 2개 30,000원 구매

책 정보

분류 : 국내도서>대학교재/전문서적>공학계열>컴퓨터공학>자료구조
ISBN : 9788970509570
쪽수 : 776쪽

책 소개

쉽게 풀어쓴 C언어 Express의 개정판. 각 장의 중간 또는 각 장의 끝에 2~3개의 심도 있는 실습 문제를 추가하였으며, 실습 문제는 다양한 분야에서 흥미를 가질 수 있는 문제들을 엄선하였다.

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

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 스크래치
Mini Project 3개의 수 중에서 최대값 찾기
■ Q&A
■ Exercise

Chapter 02 프로그램 작성 과정
2.1 프로그램 개발 과정
2.2 통합 개발 환경
2.3 비주얼 스튜디오 설치
2.4 비주얼 스튜디오 사용하기
2.5 예제 프로그램의 간략한 설명
2.6 예제 프로그램의 응용
Lab 간단한 계산을 해보자.
2.7 오류 수정
Mini Project 오류를 처리해보자.
■ Q&A
■ Summary
■ Exercise
■ Programming

Chapter 03 C 프로그램 구성요소
3.1 “덧셈”프로그램 #1
3.2 주석
3.3 전처리기
3.4 함수
3.5 변수
3.6 수식과 연산
3.7 printf()
Lab 사칙 연산
3.8 scanf()
3.9 “덧셈”프로그램 #2
Lab “연봉계산기” 프로그램
Lab “원의 면적 구하기” 프로그램
Lab “환율계산” 프로그램
Mini Project 사각형의 둘레와 면적
■ Q&A
■ Summary
■ Exercise
■ Programming

Chapter 04 변수와 자료형
4.1 변수와 상수
4.2 자료형
4.3 정수형
4.4 부동 소수점형
4.5 문자형
Lab 변수의 초기값
Mini Project 태양빛 도달 시간 계산
■ Q&A
■ Summary
■ Exercise
■ Programming

Chapter 05 수식과 연산자
5.1 수식과 연산자
5.2 산술 연산자
Lab 거스름돈 계산하기
5.2 대입 연산자
5.3 관계 연산자
5.4 논리 연산자
Lab 윤년 판단
5.5 조건 연산자
5.6 콤마 연산자
5.7 비트 연산자
Lab 10진수를 2진수로 출력하기
Lab XOR를 이용한 암호화
5.8 형변환
5.9 연산자의 우선 순위와 결합 규칙
Mini Project 화씨 온도를 섭씨로 바꾸기
■ Q&A
■ Summary
■ Exercise
■ Programming

Chapter 06 조건문
6.1 제어문
6.2 if 문
6.3 if-else 문
6.4 다중 if 문
Lab 계산기 만들기
Lab 이차 방정식 풀기
6.5 switch 문
Lab 산술 계산기(switch 버전)
6.6 goto 문
Mini Project 올바른 삼각형 구별하기
■ Summary
■ Exercise
■ Programming

Chapter 07 반복문
7.1 반복의 개념
7.2 while 문
7.3 반복 루프에서 보초값 사용하기
Lab 최대 공약수 찾기
Lab 반감기
7.4 do...while 문
Lab 숫자 추측 게임
7.5 for 문
Lab 직각 삼각형 찾기
7.7 break와 continue
Lab 복리 이자 계산
Lab 자동으로 수학문제 생성하기
Lab 도박사의 확률
Lab 화면에 사각형 그리기
Mini Project 파이 구하기
■ Q&A
■ Exercise
■ Programming

Chapter 08 함수
8.1 함수란?
8.2 함수 정의
8.3 매개 변수와 반환값
Lab 생일 축하 함수
Lab 정수를 입력받는 get_integer() 함수
Lab 정수의 합을 계산하는 add() 함수
Lab 팩토리얼 계산 함수
Lab 온도변환기
Lab 조합 계산하기
Lab 소수 찾기
8.4 함수 원형
8.5 라이브러리 함수(난수)
Lab 동전던지기 게임
Lab 자동차 경주 프로그램
Lab 불규칙하게 점 그리기
8.6 라이브러리 함수(수학 함수)
Lab 나무 높이 측정
Lab 삼각함수 그리기
8.7 함수를 사용하는 이유
Mini Project 실수 계산기 프로그램 작성
■ Advanced Topic
■ Q&A
■ Summary
■ Exercise
■ Programming

Chapter 09 함수와 변수
9.1 변수의 속성
9.2 지역 변수
9.3 전역 변수
9.4 생존 시간
Lab 은행 계좌 구현하기
Lab 한번만 초기화하기
9.5 연결
9.6 어떤 저장 유형을 사용하여 하는가?
Lab 난수 발생기 작성
9.7 가변 매개 변수 함수
9.8 순환 호출
■ Advanced Topic
■ Summary
■ Exercise
■ Programming

Chapter 10 배열
10.1 배열이란?
10.2 배열의 초기화
Lab 주사위 던지기
Lab 극장 예약 시스템
Lab 최소값 찾기
10.3 배열과 함수
10.4 정렬
10.5 탐색
10.6 2차원 배열
Lab 영상 처리
Mini Project TIC-TAC_TOE 게임
■ Summary
■ Exercise
■ Programming

Chapter 11 포인터
11.1 포인터란?
11.2 간접 참조 연산자 *
11.3 포인터 사용시 주의할 점
11.4 포인터 연산
11.5 포인터와 함수
11.6 포인터와 배열
Lab 영상 처리
11.7 포인터 사용의 장점
Mini Project 자율 주행 자동차
■ Q&A
■ Summary
■ Exercise
■ Programming

Chapter 12 문자와 문자열
12.1 문자와 문자열
12.2 문자 입출력 라이브러리
12.3 문자열 입출력 라이브러리
12.4 문자 처리 라이브러리
Lab 단어 세기
12.5 문자열 처리 라이브러리 함수
12.6 문자열 수치 변환
Lab 영상 파일 이름 자동 생성
12.7 문자열 여러 개를 저장하는 방법
Lab 한영 사전의 구현
Lab 메시지 암호화
Mini Project 행맨 게임
■ Q&A
■ Summary
■ Exercise
■ Programming

Chapter 13 구조체
13.1 구조체란 무엇인가?
13.2 구조체의 선언, 초기화, 사용
Lab 2차원 공간 상의 점을 구조체로 표현하기
13.2 구조체의 활용
Lab 사각형을 point 구조체로 나타내기
13.3 구조체의 배열
13.4 구조체와 포인터
13.6 구조체와 함수
Lab 벡터 연산
13.5 공용체
13.7 열거형
13.8 typedef
Lab 2차원 공간 상의 점을 POINT 타입으로 정의하기
Mini Project 성적 우수자 찾기
■ Q&A
■ Summary
■ Exercise
■ Programming

Chapter 14 포인터 활용
14.1 이중 포인터
14.2 포인터 배열
14.3 배열 포인터
14.4 함수 포인터
14.5 다차원 배열과 포인터
14.6 const 포인터와 volatile 포인터
14.7 void 포인터
14.8 main 함수의 인수
Lab 프로그램 인수 사용하기
Lab qsort() 함수 사용하기
Mini Project 이분법으로 근 구하기
■ Summary
■ Exercise
■ Programming

Chapter 15 스트림과 파일 입출력
15.1 스트림
15.2 printf()출력
15.3 scanf()를 이용한 입력
15.4 파일의 기초
15.5 텍스트 파일 읽기와 쓰기
Lab 파일에서 특정 문자열 탐색
15.6 이진 파일 읽기와 쓰기
Lab 이진 파일에 학생 정보 저장하기
Lab 이미지 파일 복사하기
15.7 임의 접근
Mini Project 주소록 만들기
■ Q&A
■ Summary
■ Exercise
■ Programming

Chapter 16 전처리 및 다중 소스 파일
16.1 전처리기란?
16.2 단순 매크로
16.3 함수 매크로
Lab ASSERT 매크로
Lab 비트 매크로 작성
16.4 #ifdef, #endif
Lab 여러 가지 버전 정의하기
Lab 리눅스 버전과 윈도우 버전 분리
16.5 #if, #else, #endif
16.6 다중 소스 파일
Lab 헤더 파일 중복 포함 막기
16.7 비트 필드 구조체
Mini Project 전처리기 사용하기
■ Summary
■ Exercise
■ Programming

Chapter 17 동적 메모리
17.1 동적 할당 메모리란?
17.2 동적 메모리 할당의 기본
Lab 10개의 문자열을 저장하는 동적 메모리
17.3 calloc()과 realloc()
17.4 연결 리스트란?
Mini Project 동적 구조체 배열을 이용한 영화 관리 프로그램
■ Summary
■ Exercise
■ Programming


저자소개

천인국(지은이)   자세히
1983년 서울대학교 전자공학과 공학사 1985년 한국과학기술원 전기및전자공학과 공학석사 1993년 한국과학기술원 전기및전자공학과 공학박사 1985년~1988년 삼성전자 종합연구소 주임 연구원 2005년 캐나다 UBC 방문 교수 1993년~현재 순천향대학교 컴퓨터공학과 교수


리뷰


연관도서

도서 정보제공 : 알라딘