서브메뉴

본문

두근두근 C언어 수업
두근두근 C언어 수업
저자 : 천인국
출판사 : 생능출판사
출판년 : 2015
ISBN : 9788970508245

책소개

『C언어 수업』은 프로그래밍에 대한 사전 지식이 전혀 없는 분들도 쉽게 학습할 수 있도록 프로그래밍 기초부터 충실히 내용을 구성하였다. 책의 첫 부분에는‘이 책을 사용하는 방법’이라고 책 사용법에 관해 소개를 해두었기 때문에 그 방법대로 따라하면 강의나 강의자에 도움을 받지 않고도 어려움 없이 학습할 수 있다. 30챕터와 256개의 섹션으로 세분화되어 있어, 하루에 30분 1챕터씩 공부하면서 부담 없이 C언어의 기본 내용을 익힐 수 있다. 또 섹션별 세분화된 구성은 알고 모르는 부분을 체크해 취약한 부분을 보충할 수 있게 해준다.
[교보문고에서 제공한 정보입니다.]

출판사 서평

대학에서 첫 프로그램 강의를 듣기 전 예습용이나,
수업 후 해결되지 않는 부분의 보충용 교재(전공자용)


- 프로그래밍에 대한 사전 지식이 전혀 없는 분들도 쉽게 학습할 수 있도록 프로그래밍 기초부터 충실히 내용을 구성하였다. 책의 첫 부분에는‘이 책을 사용하는 방법’이라고 책 사용법에 관해 소개를 해두었기 때문에 그 방법대로 따라하면 강의나 강의자에 도움을 받지 않고도 어려움 없이 학습할 수 있다.
- 30챕터와 256개의 섹션으로 세분화되어 있어, 하루에 30분 1챕터씩 공부하면서 부담 없이 C언어의 기본 내용을 익힐 수 있다. 또 섹션별 세분화된 구성은 알고 모르는 부분을 체크해 취약한 부분을 보충할 수 있게 해준다.
- 그림으로 간단하게 개념을 풀어놓아서 처음 보는 생소하고 어려운 개념도 쉽게 이해할 수 있다. 전문적인 용어를 사용하지 않고 학습자의 눈높이에서 일상적인 단어들을 사용하여 친근감 있게 설명하였다. 또한 초보자들이 불필요한 세부 사항들로 인해 중요한 주제를 습득하는 것을 방해받지 않도록 선별된 내용을 수록하였다.
- 다른 책에는 없는 비주얼 스튜디오 2013의 실행 화면과 똑같은 컬러 편집으로, 컴퓨터 화면을 보듯이 쉽고 편리하게 공부할 수 있다. 마치 강의를 듣는 것 같은 효과를 볼 수 있다.

초중등 소프트웨어 교육의 후속 심화과정 교재(비전공자용)

- 주요 개념들을 스크래치를 통해 설명하여 놀이와 같은 블록형 프로그래밍의 단계를 지나, 본격적인 문자를 작성하는 코딩을 배울 수 있다. 스크래치는 퍼즐처럼 조합하는 프로그래밍 놀이기구이기 때문이다.
- 반복해서 나오는 본문의 예제코드를 직접 타이핑해 보면서 프로그래밍하는 데 익숙해질 수 있다.

- 핵심예제의 문제와 답 사이에 점선이 마련되어 있어서 소스를 작성해 볼 기회를 먼저 주고 점선 밑에 있는 결과를 보고 바로 자신의 답과 비교하면서 확인할 수 있어서 이해력과 응용력을 갖게 된다.
- 쉽고 재미있게 느낄 수 있도록 책 전체가 컬러로 제작되어 있고, 그림과 만화 캐릭터가 책 곳곳에 들어있기 때문에 이 책을 가지고 프로그래밍을 하는 내내 지루하지 않다.


이 책의 내용과 특장점

이 책의 내용을 간단히 요약하면 다음과 같다. 1장에는 프로그래밍을 하면서 알아야 하는 기초적인 내용과 C언어에 관한 전반적인 기본 내용을 소개하였다. 그리고 2장에는 개발 도구 설치와 프로그램 작성하기를 실어놓았다. 3장은 프로그램 기본구조를 이해하는 장이다. 4장은 화면으로 출력하기 위해 출력에 필요한 요소들과 방법들을 설명하였다. 5장에서는 변수에 관해 다루었다. 6장은 사용자로부터 어떻게 입력을 받는지 소개하였다. 7장은 자료형을 이해하기 위해 마련한 장이다. 8장은 컴퓨터로 수식을 계산하기 위해 필요한 연산자들에 관해 설명하였다. 9장은 제어문, 조건문, 연산자 등에 관해 실어놓았다. 10장에서는 switch 문, 11장에서는 while 문, 12장에서는 for 문에 대해 공부한다. 13장은 배열에 대해 설명한다. 14장에서는 배열을 가지고 응용한다. 15장은 함수에 관해 배운다. 16장은 라이브러리 함수 사용하는 것에 대해 실어놓았다. 17장은 지역변수와 전역변수에 대해 이해한다. 18장은 포인터에 관해 공부한다. 19장은 포인터와 함수를, 20장은 포인터와 배열 함께 이해하는 장이다. 21장은 문자열과 포인터에 대해 설명한다. 22장은 문자열 함수 사용하는 것에 관해 이야기한다. 23장은 구조체를 데이터로 묶는 것, 24장은 구조체를 응용하는 것, 25장은 파일로 입출력하는 것에 대해 설명한다. 26장은 이진 파일을, 27장은 전처리기를, 28장은 동적 메모리 사용하는 것에 관해 실어놓았다. 29장은 고급 기능을 30장은 실전 프로젝트에 관해 공부한다.

두근두근 C언어 수업의 특장점을 이야기하면 다음과 같다.
- 입체적 학습(개념 익히기 -> 예제 코드를 직접 작성 -> 문제와 함께 제시된 답을 확인하여 스스로 피드백하기 -> 규모가 큰 실습예제(Lab)를 학습해서 나의 프로그래밍 실력으로 만들기) 책 한 권으로 학습에서 처음부터 마무리 단계까지 경험해 볼 수 있는 종합입문서이다.
- 이 책은 전공자, 비공전자용으로도 모두 충분한 교재이다. C언어 입문서이지만 C언어 자체만 설명하는 데 한정되지 않고 입문과정에서 필요한 고민과 개념들을 다양한 그림과 스크래치를 이용하여 설명하면서 프로그래밍 자체를 재미있게 익힐 수 있도록 도와준다. 개념 이해를 돕는 상황을 그린 삽화, 도형으로 설명된 개념도와 책 곳곳에 등장하는, 만화책을 읽는 듯한 착각을 하게 만드는 캐릭터들은 문자로만 줄줄 쓰인 지루한 다른 이론책들과는 차별화되는 차이를 준다.
- 다른 책과 다르게 동영상 강의 없이도, 책을 읽으면서 C언어 프로그래밍의 모든 것을 익힐 수 있는 것이다. 참고사항, 도전문제, TIP, 경고 등 다양한 학습 도구를 책 곳곳에 배치하여 학습자를 도와주고 있기 때문이다.
[교보문고에서 제공한 정보입니다.]

목차정보

머리말

이 책을 사용하는 방법

CHAPTER 1 첫걸음
01 프로그램과 프로그래머 / 02 프로그램이란 무엇인가?
03 컴파일러는 무엇인가? / 04 C언어란?
05 C언어의 특징 /06 C언어로 할 수 있는 일
07 스크래치/ 08 스크래치 사용자 인터페이스
09 스크래치 블록 가지고 놀기 / 핵심정리

CHAPTER 2 개발 도구 설치와 프로그램 작성하기
01 프로그램 개발 단계 / 02 비주얼 스튜디오 2013
03 비주얼 스튜디오 설치 / 04 프로젝트
05 프로젝트 만들기 /06 소스 파일 만들기
07 소스 코드 입력 /08 컴파일
09 컴파일 오류가 표시되었다면 /10 프로그램 실행
11 저장된 프로젝트 열기 / 핵심정리

CHAPTER 3 프로그램 기본구조 이해하기
01 첫 번째 프로그램의 간략한 설명 /02 main( ) 함수
03 함수란? /04 문장 설명
05 헤더 파일 포함: #include / 06 함수 안에 문장들이 여러 개 있을 때
07 줄바꿈 문자 / 08 공백과 들여쓰기
09 주석 /10 주석을 붙인 예제
핵심예제 개인정보 출력하기 / 핵심예제 도형 출력하기
핵심정리

CHAPTER 4 화면으로 출력하기
01 화면에 출력하기 /02 정수와 실수
03 정수 출력하기/ 04 형식 지정자의 종류
05 문자와 문자열 /06 이스케이프 시퀀스
07 이스케이프 시퀀스 예제 /08 2진수
09 다양한 출력이 가능하다 /핵심예제 형식 지정자로 출력하기
핵심예제 구구단 출력하기/ 핵심정리

CHAPTER 5 변수
01 변수란 무엇인가?/ 02 스크래치에서의 변수 #1
03 스크래치에서의 변수 #2/ 04 변수의 선언과 사용
05 자료형이란? /06 변수의 이름짓기
07 변수의 초깃값/ 08 변수의 값을 출력하려면
09 변수 값은 얼마든지 변경이 가능하다!/10 변수에 다른 변수 값을 대입해보자.
11 연산을 하려면 / 12 변수와 상수
13 기호 상수 / 14 기호 상수의 이점
Lab 덧셈 프로그램 / Solution 핵심정리

CHAPTER 6 사용자로부터 입력받기
01 사용자와 상호작용하기 / 02 scanf( ) 함수
03 형식 지정자 /04 입력 안내 메시지
핵심예제 입력받은 정수 합계 구하기/ Lab 정수 3개 더하기
Solution / Lab 원의 면적 계산
Solution /핵심정리

CHAPTER 7 자료형 이해하기
01 자료형이란?/ 02 정수형
03 자료형의 크기 계산 / 04 부호 없는 정수
05 실수형/ 06 실수형 예제
핵심예제 여러 가지로 자료형 사용하기 / 07 문자형
08 아스키 코드 /09 문자 변수
핵심예제 문자 입출력 /10 자료형 자동 변환
11 형변환 예제 /핵심예제 자료형의 크기 출력하기
Lab 태양에서 빛이 오는 시간 계산 / Solution
핵심정리

CHAPTER 8 컴퓨터로 수식 계산하기
01 컴퓨터와 수식 /02 스크래치 연산자
03 스크래치 연산 예제 /04 수식이란?
05 산술 연산자 /06 나머지 연산자
핵심예제 몫과 나머지 구하기/ 핵심예제 거스름돈 계산 프로그램
07 자동적인 형변환/ 08 명시적인 형변환
Lab 온도 변환표 출력 / Solution
09 증감 연산자 / 10 ++x와 x++의 차이점
11 대입 연산자/ 12 복합 연산자
핵심예제 구의 부피 / 13 연산자의 우선순위
14 연산자의 결합 규칙 / Lab 탄도 위치 계산
Solution / 핵심정리

CHAPTER 9 둘 중 하나 선택하기
01 제어문 /02 스크래치에서의 조건문
03 스크래치 조건문 예제 / 04 관계 연산자
05 관계 연산자 예제 / 06 논리 연산자
07 논리 연산자 설명 / 08 논리 연산자 예제
09 if-else 문 핵심예제 홀수, 짝수 구별하기
핵심예제 두 수 중에서 큰 수 출력하기 /Lab 윤년 판단
Solution / 10 복합문(블록)
중첩 if 문 /핵심예제 성적에 따라 학점 매기기
이차방정식/ Solution
Lab 계산기 만들기/ Solution
핵심정리

CHAPTER 10 여럿 중에서 하나 선택하기(switch 문)
01 switch 문 / 02 switch 문의 예
03 break 문이 없다면?/04 default 문
05 switch 문을 if-else 문으로 바꿀 수 있을까? /핵심예제 달의 일수 출력
Lab 계산기 만들기 #2 / Solution
Lab 학점 평가하기 / Solution
Lab 어드벤처 게임 /Solution
06 조건 연산자 /핵심예제 두 수 중 큰 수와 작은 수 찾기
핵심정리

CHAPTER 11 조건으로 반복하기(while 문)
01 반복의 필요성 /02 Scratch에서의 반복문
03 스크래치 예제: 포탄 궤적 /04 while 문
05 기본 예제 / 핵심예제 0부터 9까지 출력하기
핵심예제 (1 + 2 + 3 + … + 9 + 10) 계산하기 / 핵심예제 팩토리얼 계산
핵심예제 구구단 출력 /핵심예제 최솟값 구하기
핵심예제 카운트다운 프로그램 / 핵심예제 배수의 합 계산 프로그램
06 do-while 문/핵심예제 기본 예제
핵심예제 0을 입력할 때까지 합계 구하기 / 핵심예제 신호등 프로그램
07 조건식의 형태 /핵심정리

CHAPTER 12 횟수로 반복하기(for 문)
01 for 문 /02 for 문의 실행 과정
03 제어 변수 사용/핵심예제 정수들의 합
핵심예제 팩토리얼 계산하기/핵심예제 온도 변환 테이블 출력
11 Lab 화면에 사각형 그리기/Solution
Lab 함수 그래프 그리기 /Solution
04 for 문과 while 문의 비교/05 다양한 for 문의 형태
핵심예제 수열 값 계산하기/ 핵심예제 약수 계산하기
06 중첩 반복문 /핵심예제 구구단 출력하기
핵심예제 주사위 경우의 수 /07 break 문
핵심예제 break를 이용한 반복 종료 / 08 continue 문
Lab 배터리 관리 /Solution
Lab 숫자 게임 /Solution
Lab 직각 삼각형 찾기 /Solution
Lab 성적 처리 / Solution
핵심정리

CHAPTER 13 배열이란 무엇인가
01 배열의 필요성 /02 스크래치에서의 배열 #1
03 스크래치에서의 배열 #2/ 04 배열 선언
05 배열에 값 저장하기/ 06 배열과 반복문
07 배열 요소 출력하기 /08 사용자 입력을 배열 요소에 저장하기
09 인덱스의 범위 /10 배열의 초기화
11 배열의 크기 계산/ 핵심예제 선수 평균 득점 계산
핵심예제 주사위 던지기/ Lab 극장 예약 시스템
Solution /핵심정리

CHAPTER 14 배열을 응용해보자.
01 배열에서 최솟값이나 최댓값 찾기/핵심예제 배열에서 최솟값이나 최댓값 찾기
02 배열에서 특정한 값 찾기 /핵심예제 배열에서 특정한 값 탐색하기
핵심예제 히스토그램 그리기 / Lab 인기투표 결과 구하기
Solution /03 2차원 배열
04 2차원 배열의 초기화 /핵심예제 행렬 덧셈
Lab 영화 평점 계산하기/Solution
05 문자열이란?/06 왜 문자열의 끝에 NULL 문자가 필요한가?
07 문자열 예제 /08 문자 배열의 초기화
09 문자열 입출력/핵심예제 문자열 길이 구하기
핵심정리

CHAPTER 15 함수란 무엇인가
01 함수는 왜 필요할까? /02 함수의 개념
03 스크래치에서의 함수 #1 /04 스크래치에서의 함수 #2
05 함수란? / 06 함수의 정의
07 함수 호출/08 함수 호출 예제
09 매개변수를 통한 데이터의 전달/ 10 인수 전달과 함수 호출
11 완전한 함수 호출 프로그램 /12 함수 작성의 예 #1
13 함수 호출 예제 #1 / 14 함수 원형이 필요한 이유
15 함수 작성의 예 #2 / 16 함수 호출 예제 #2
핵심예제 두 수 중에서 큰 수 찾기/ 핵심예제 온도 변환 함수
Lab 소수 찾기 /Solution
17 함수를 사용한 프로그램 설계 / 핵심정리

CHAPTER 16 라이브러리 함수 사용하기
01 라이브러리 함수 /02 난수 생성 함수
핵심예제 로또 번호 생성 / 03 난수 시드
Lab 동전던지기 게임 /Solution
Lab 불규칙하게 점 그리기 /Solution
04 수학 함수들 /핵심예제 삼각함수 관계식 계산
Lab 삼각함수 그리기 /Solution
Lab 자동차 경주 / Solution
Lab 외계인 게임/ Solution
핵심정리

CHAPTER 17 지역변수와 전역변수 이해하기
01 전역변수와 지역변수 / 02 변수의 유효 범위
03 지역변수 이름은 중복될 수 있다!/ 04 지역변수는 블록에서도 선언될 수 있다!
05 지역변수의 생존 시간/ 06 전역변수의 생존 시간과 초깃값
07 정적변수/핵심예제 저축 금액 누적하기
핵심예제 정적변수를 사용한 초기화/Lab 로그인 제한
Solution /핵심정리

CHAPTER 18 포인터란 무엇인가
01 포인터의 개념 /02 변수의 주소
03 주소 연산자 & /04 포인터의 선언과 초기화
05 포인터를 통한 간접 참조/06 포인터와 변수를 연결해보자
07 포인터 값은 변경할 수 있다! /08 포인터 사용 시 주의사항 #1
09 포인터를 통하여 변수를 변경할 수 있다! /10 포인터 사용 시 주의사항 #2
11 포인터 연산 /12 포인터 연산 예제
13 포인터는 왜 사용하는 것인가?/핵심정리

CHAPTER 19 포인터와 함수 이해하기
01 함수에 인수를 전달하는 방법 / 02 값에 의한 전달
03 참조에 의한 전달/ Lab swap() 함수 작성
Solution /04 함수가 여러 개의 값을 반환하게 하려면?
05 인수를 변경 못하게 하려면?/06 scanf()의 비밀?
핵심정리

CHAPTER 20 포인터와 배열 이해하기
01 배열 이름은 배열의 주소와 같다! / 02 배열의 이름은 포인터?
03 배열과 포인터의 관계 /04 포인터를 배열처럼 사용할 수 있을까?
05 함수로 배열을 전달하면 어떻게 되나요? / 핵심예제 배열 원소의 합 계산(배열 버전) /
핵심예제 배열 원소의 합 계산(포인터 버전) /Lab 평균과 표준편차 구하기
Solution / Lab 영상 처리
Solution / 06 함수 포인터
07 함수 포인터 예제 / 08 함수 포인터의 용도
핵심정리/

CHAPTER 21 문자열과 포인터
01 포인터로 문자열 가리키기 / 02 문자열 상수
03 문자열을 나타내는 2가지 방법 비교 / 04 배열과 포인터 방법의 차이점
05 여러 개의 문자열 저장 방법 #1 / 06 문자열 배열 예제
07 여러 개의 문자열 저장 방법 #2/ Lab 암호 강인성 조사
Solution 384 핵심정리

CHAPTER 22 문자열 함수 사용하기
01 문자열 라이브러리 함수 /02 문자 입출력 함수
03 문자열 입출력 함수/04 문자열 처리 함수
05 문자열 복사 함수/ 06 문자열 연결 함수
07 문자열 비교 / 08 문자열 토큰 분리
09 문자열 토큰 분리 예제/10 문자열 수치 변환
Lab 메시지 암호화/Solution
Lab 행맨/Solution
핵심정리

CHAPTER 23 구조체로 데이터 묶기
01 구조체란? /02 구조체의 선언
03 구조체 변수 생성/ 04 구조체 멤버 접근
05 예제: 구조체의 선언과 사용 핵심예제 점들 간의 거리 계산
06 예제: 학생 데이터/ 07 구조체의 초기화
Lab 주소록 /Solution
08 구조체 변수의 대입과 비교/핵심정리

CHAPTER 24 구조체 응용하기
01 구조체의 배열 /핵심예제 학생 성적 저장
Lab 학생 성적 처리/Solution
02 구조체의 포인터 / 03 예제: 포인터와 구조체
04 구조체와 함수/ 05 구조체 포인터를 함수로 넘기는 방법
Lab 벡터/Solution
06 공용체 / 07 공용체 기본 예제
08 예제: 인터넷 ip 주소 /09 열거형
10 열거형의 예/ 11 열거형의 기본 예제
12 typedef/ 13 구조체 선언과 typedef의 결합
Lab 점의 평행 이동 / Solution
핵심예제 좌표 일치 판단 / Lab 복소수 덧셈
Solution / Lab 인사관리
Solution / 핵심정리

CHAPTER 25 파일로 입출력하기
01 왜 파일 입출력이 필요한가? /02 파일의 개념
03 파일의 종류/ 04 줄바꿈 문자
05 스트림/ 06 파일 입출력의 개요
07 fopen() 함수/ 08 파일 모드
09 입출력 라이브러리 함수 / 10 문자 단위 입출력
11 예제: 파일 생성하고 글자 쓰기 / 12 예제: 파일 오픈하고 글자 읽기
13 문자열 단위 입출력 /14 예제: 파일 생성하고 문자열 쓰기
15 예제: 파일 오픈하고 문자열 읽기 /핵심예제 파일 복사하기
핵심예제 간단한 메모 파일 만들기 /16 형식 지정 출력
17 fprintf() 예제 / 18 fscanf() 예제
Lab 리포트 표절 적발 프로그램/ Solution
핵심정리

CHAPTER 26 이진 파일 사용하기
01 이진 파일의 개념 /02 이진 파일 읽고 쓰기
03 예제: 이진 파일 읽고 쓰기 /Lab 이진 파일 복사
Solution/ 04 임의 접근
05 fseek() /06 fseek() 예제
Lab 파일에서 단어 찾기/ Solution
핵심정리

CHAPTER 27 전처리기 사용하기
01 전처리기란?/ 02 #include 지시자
03 단순 매크로 / 04 함수 매크로
05 함수 매크로의 예제/ 핵심예제 변수의 값을 교환하는 매크로
06 #ifdef, #endif/ 07 #ifdef, #endif 예제
Lab 버전 처리/ Solution
핵심정리

CHAPTER 28 동적 메모리 사용하기
01 동적 할당 메모리의 개념/ 02 동적 메모리 사용 절차
03 malloc() / 04 동적 메모리 사용
05 동적 메모리 반납 / 핵심예제 평균 점수 계산하기
06 구조체 배열 예제 / 07 realloc() 함수
Lab 선호 과일 리스트 만들기 /Solution
Lab 크기가 알려지지 않은 파일 읽기 / Solution
핵심정리

CHAPTER 29 고급 기능
01 다중 소스 파일 02 헤더 파일
03 비주얼 스튜디오에서의 다중 소스 파일/ 핵심예제 다중 소스 파일
04 외부 변수 /05 비트 연산
06 비트 연산자/ 07 비트 연산 예제
핵심예제 정수를 2진수로 표시하기 /Lab 메시지 암호화
Solution / 08 main 함수의 인수
09 main 함수의 인수 예제/ 핵심정리

CHAPTER 30 실전 프로젝트
01 책 관리 프로그램/ Solution
02 앵그리 공 게임 /Solution

찾아보기
[교보문고에서 제공한 정보입니다.]