서브메뉴

본문

C언어 Express (Visual Studio 2019)
C언어 Express (Visual Studio 2019)
저자 : 천인국
출판사 : 생능출판
출판년 : 2018
ISBN : 9788970509570

책소개

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

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

첫째, 적절한 그림을 가능한 많이 사용하여 보다 친숙하고, 지루하지 않으며 독자들이 이해하기 쉽도록 구성하였다. 입문자들은 그림을 통하여 보다 쉽게 관련 개념들을 빠르게 이해할 수 있다.

둘째, 각각의 주제에 대하여 개념과 원리를 자세하게 설명하였으며 설명은 문답식이어서 독자들이 친숙하게 느끼도록 하였다.

셋째, 페이지가 허용하는 한도에서 충분한 예제 프로그램을 제공하여 입문자들이 참고할 수 있도록 하였다.

넷째, 실습 책을 따로 구입하지 않아도 혼자서 실습을 진행할 수 있도록 단계식 실습 문제를 제공하였다. 사용자들은 주어진 예제 소스를 첨삭해가면서 학습한 내용을 체득할 수 있도록 하였다.
[교보문고에서 제공한 정보입니다.]

출판사 서평

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

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

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

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

셋째, 연습 문제와 프로그래밍 문제를 대폭적으로 교체, 정선하였다. 너무 어려운 문제나 중복되는 문제를 삭제하고 새롭고 흥미로운 문제들은 추가하였다. 또 프로그래밍 문제에는 힌트를 두어 프로그램을 작성하는 데 도움을 주고자 하였다.

넷째, 각 장의 끝에 Summary를 두어 각 장에서 학습한 내용을 스스로 정리할 수 있도록 하였다. 또한 각 장에서 가장 대표적인 소스를 중심으로 독자들이 직접 설명을 붙이도록 하였다.
[교보문고에서 제공한 정보입니다.]

목차정보

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
[교보문고에서 제공한 정보입니다.]