본문 바로가기

리디 접속이 원활하지 않습니다.
강제 새로 고침(Ctrl + F5)이나 브라우저 캐시 삭제를 진행해주세요.
계속해서 문제가 발생한다면 리디 접속 테스트를 통해 원인을 파악하고 대응 방법을 안내드리겠습니다.
테스트 페이지로 이동하기

C까기 상세페이지

C까기작품 소개

<C까기> C언어를 가장 정통적으로 쉽게 배울 수 있는 책!
다양한 예제, 쉬운 설명, 다양한 도식과 그림, 만화로 만든 질문들, 코드하이라이트 등
이 책은 C를 공부하는 사람에게 필요한 모든 것이 들어 있다. 이 책을 본다면 별도 강의가 필요 없을 정도이다.
그렇다면 왜 C언어를 공부해야만 하는가?
개발자는 늘 공부 해야 하는 사람이다. 하루가 멀다 하고 쏟아져 나오는 새로운 기술은 바람이 나뭇가지를 뒤 흔들듯 개발자를 이리저리 흔든다. 하지만 그럼에도 불구하고 쉽게 휩쓸리지 않고 탄탄히 서 있는 사람은 있다. 그 사람의 대부분 C언어에 정통한 사람들이다.
C언어는 프로그래밍의 조상님 그 이상으로 거의 시초에 가깝지만 퇴물이 되기는커녕 더 자리를 확고히 잡고 있다. 속도 면에서 어떤 언어도 C언어를 따라올 수 없고 C언어가 만든 개념은 거의 대부분 프로그래밍 언어에서 사용되고 있다. 재주부리는 언어들이 화려한 모습을 보일 때 C언어는 조용히 정답을 내놓는다.
C언어는 한번 오르면 좋을 산이 아니라 꼭 올라야만 하는 산이다. 이 책은 등산을 준비하는 사람을 도울 것이다. 등산을 위해 무엇을 챙겨야 하는지 험악한 지형을 만나면 어떻게 대처 해야 하는지 길을 잘못 들어서면 어떻게 대처 해야 하는지 친절히 안내할 것이다. 시대 흐름에 따라 책장 구석에 파묻히는 책이 아니라 책상 위에서 늘 펼쳐지며 도움을 주는 책이 될 것이다.


목차

챕터1. 프로그램과 프로그래밍 언어
1.1 프로그램과 프로그래밍 언어
1.1.1 DOS, 그때를 아시나요?
1.1.2 프로그램은 어떻게 작동되나?
1.1.3 프로그램은 어떻게 만들어질까?
1.2 프로그래밍 언어의 역사
1.2.1 프로그래밍 언어의 시작, 디지털 신호!
1.2.2 어셈블리어의 등장
1.2.3 고급 언어들의 등장
1.3 프로그래밍 방법의 세 가지
1.3.1 순차적 프로그래밍 방법
1.3.2 구조적 프로그래밍 방법
1.3.3 객체 지향 프로그래밍 방법
1.4 우리가 C 언어를 선택하는 이유
1.4.1 C 언어의 탄생
1.4.2 C 언어의 장점
1.4.2.1 직관적인 하드웨어 제어
1.4.2. 누구도 따라올 수 없는 범용성
1.4.2. 뛰어난 이식성

챕터2. C 프로그래밍 환경 만들기
2.1 설치하기
2.1.1 윈도우 사용자를 위한 Visual Studio 설치하기
2.1.2 맥 사용자를 위한 Xcode 설치하기
2.1 하나의 C 프로그램이 실행되기까지
2.2.1 C 언어를 위한 컴파일러

챕터3 C 언어 프로그래밍과 프로그래밍 규칙
3.1 무작정 프로그래밍 따라해보기
3.2 가장 기초적인 C 프로그래밍 상식 다섯 가지
3.2.1 C 프로그램은 소스 코드로 이루어진 텍스트 파일이다
3.2.2 작성된 순서대로 처리된다
3.2.3 프로그램 실행은 main() 함수에서 출발한다
3.2.4 함수와 제어문은 { } 사이에 내용을 정의한다
3.2.5 문자의 끝은 항상 ; 으로 끝난다
3.2.6 들여쓰기는 기본적인 예의!
3.3 미리 알아둘 두 개의 함수와 특수문자들
3.3.1 화면 출력 함수 printf()
3.3.1.1 printf(출력_데이터);
3.3.1.2 printf(출력_포맷 , 출력_데이타);
3.3.2 사용자의 값을 입력 받는 scanf() 함수
3.3.3 출력 내용을 다양하게 제어하는 제어문자

챕터4. 변수와 자료형
4.1 변수의 이해
4.1.1 메모리를 알면 변수가 보인다
4.1.2 데이터 종류에 따라 변수 종류가 달라진다
4.1.3 변수의 선언 방법
4.1.4 변수 이름을 짓는 규칙
4.1.4.1 영문자, 숫자, 밑줄이 사용될 수 있다
4.1.4.2 변수 이름의 첫 글자는 밑줄이나 영문자이어야 한다
4.1.4.3 밑줄을 제외한 특수문자는 사용할 수 없다
4.1.4.4 예약어는 사용할 수 없다
4.1.4.5 이름 규칙으로 이해하기 쉽게 표현한다
4.1.5 변수의 초기화
4.1.6 변수의 사용 예제
4.2 자료형은 왜 쓸까?
4.2.1 자료형이란
4.2.2 자료형의 종류
4.2.3 데이터의 크기를 재는 sizeof() 함수
4.3 C 언어의 자료형
4.3.1 정수형
4.3.2 정수형의 변종
4.3.3 실수형
4.3.4 문자형
4.3.5 자료형의 정리
4.4 상수
4.4.1 상수가 뭐지요?
4.4.2 상수의 사용 방법
4.4.2.1 #define문을 사용하여 상수를 정의하는 방법
4.4.2.2 const를 사용하여 상수를 정의하는 방법
초보안녕 예제 : 다음의 결과와 같이 사각형의 폭과 높이를 입력 받아
초보안녕 예제 : 넓이를 구하는 프로그램을 작성하세요.
초보안녕 예제 : 다음의 결과처럼 원의 반지름을 입력 받아 넓이와
초보안녕 예제 : 둘레를 구하는 프로그램을 작성하세요.
혼자서도 잘해요 : 약수 구하기
혼자서도 잘해요 : 공통 약수 구하기
혼자서도 잘해요 : 최대공약수 구하기

챕터5. 연산자
5.1 연산자
5.1.1 연산자란?
5.1.2 산술 연산자
5.1.3 비교와 논리 연산자
5.1.4 증가/감소 연산자
5.1.5 비트 연산자
5.1.6 대입 연산자
5.2 연산자에 대해 알아두어야 할 것들
5.2.1 삼항연산자
5.2.2 컴마 연산자
5.2.3 형변환 연산자
5.2.4 연산자의 우선순위
초보안녕 예제 : 1부터 주어진 수까지의 합 계산하기
초보안녕 예제 : 피보나치 수열
초보안녕 예제 : 대소문자 변환 프로그램 (단, 삼항 연산자를 사용하세요)
혼자서도 잘해요 : 몇 개의 정수값을 입력받아 절대값의 곱과 합 그리고 평균 구하기
혼자서도 잘해요 : 팩토리얼 계산

챕터6. 제어문
6.1 조건문
6.1.1 조건문이란?
6.1.1.1 if, else if, else
6.1.1.2 switch-case
6.1.2 if 문
6.1.3 if ~ else
6.1.4 if ~else if ~ else
6.1.5 switch-case문
6.2 반복문
6.2.1 for문
6.2.1.1 제어변수의 초기화
6.2.1.2 제어변수의 제어 조건
6.2.1.3 제어변수의 연산
6.2.2 for문의 응용
6.2.2.1 다중 제어변수의 사용
6.2.2.2 제어변수 초기화 및 제어변수 연산의 생략
6.2.2.3 한 줄로 끝낼 수 있는 for문
6.2.3 while 문
6.2.4 do-while 문
6.3 기타 제어문
6.3.1 break문
6.3.2 continue 문
6.3.3 goto문
초보안녕 예제 : 1부터 1000까지의 수 중에서 주어진 수의 배수의 갯수와 합을 구하는 프로그램 만들기
초보안녕 예제 : 1부터 1000까지의 수 중에서 1과 자신으로 밖에 나누어지지 않는 소수를 구하는 프로그램 만들기
초보안녕 예제 : 절대값을 구하는 프로그램
초보안녕 예제 : 경사진 문자열 출력
혼자서도 잘해요 : 이진수 변환 프로그램
혼자서도 잘해요 : 지그재그 숫자 출력하기
혼자서도 잘해요 : 전체 구구단 출력하기

챕터7. 함수
7.1 함수
7.1.1 함수의 정의
7.1.2 함수는 어떻게 만들어질까?
7.1.2.1 프로토타입
7.1.2.2 리턴 타입
7.1.2.3 함수의 이름
7.1.2.4 함수의 파라미터
7.1.2.5 함수의 내부
7.1.3 왜 함수를 사용할까?
7.2 변수의 범위
7.2.1 변수의 네 가지 종류
7.2.1.1 지역 변수
7.2.1.2 전역 변수
7.2.1.3 정적 변수(Static Variable)
7.2.1.4 외부 변수 (Extern Variable)
7.3 재귀 호출
초보안녕 예제 : 별모양을 사선으로 출력하는 프로그램
초보안녕 예제 : 별모양을 사선으로 출력하는 프로그램2 (단, 전역 변수가 아닌 정적 변수(static variable)을 사용하여 작성하시오.)
초보안녕 예제 : 공백과 ‘*’문자 출력하기
혼자서도 잘해요 : 다른 사람의 생일을 구하는 프로그램
혼자서도 잘해요 : 이차방정식의 해 구하기
혼자서도 잘해요 : 재귀호출로 최대공약수 프로그램 구현

챕터8. 메모리 - 배열과 포인터의 이해
8.1 메모리의 물리적인 개념
8.1.1 메모리에 값이 저장되는 원리
8.1.2 메모리의 종류
8.1.3 메모리와 주소의 관계
8.2 메모리의 기본적인 사용 : 배열
8.2.1 메모리의 논리적인 개념
8.2.2 메모리의 기본적인 사용 방법 : 배열
8.2.3 배열의 사용 형식
8.2.4 다차원 배열
8.3 메모리의 효율적인 사용 : 포인터
8.3.1 포인터는 왜 사용해야 할까?
8.3.2 포인터의 사용 형식
8.3.3 포인터의 활용 - 문자열의 저장과 출력
8.3.4 포인터의 연산
8.3.5 포인터의 활용 - Call-by-reference
초보안녕 예제 : 배열을 이용한 Matrix 출력
초보안녕 예제 : 배열을 이용한 경사진 숫자 출력
초보안녕 예제 : 배열을 이용한 마름모 출력 프로그램
혼자서도 잘해요 : 숫자로 문자열을 입력 받아서 천단위로, 문자를 찍어 출력하는 프로그램
혼자서도 잘해요 : 5 x 5 크기의 matrix에 나선형으로 숫자를 출력하기

챕터9. 메모리의 고급 기법 - 포인터의 활용
9.1 배열과 포인터
9.1.1 포인터처럼 메모리를 사용하는 배열
9.1.2 포인터를 이용한 배열의 응용
9.1.3 배열과 포인터의 차이점
9.1.4 포인터를 사용한 문자열 처리
9.1.4.1 포인터를 이용하여 문자열을 복사하는 함수 만들기
9.1.4.2 포인터를 이용하여 문자열의 개수를 반환하는 함수 만들기
9.1.4.3 포인터를 이용해 특수문자를 제거하는 함수 만들기
9.2 포인터를 이용한 메모리 함수들
9.2.1 메모리를 할당하는 함수 : malloc()
9.2.2 메모리를 해제하는 함수 : free()
9.2.3 메모리를 복사하는 함수 : memcpy()
9.2.4 메모리의 값들을 원하는 데이터로 초기화하는 함수 : memset()
9.4 포인터를 사용할 때 범하기 쉬운 오류
9.4.1 문자열의 여러 가지 저장방법
9.4.2 포인터로 함수의 파라미터를 사용하는 경우의 문제점
9.4.3 메모리 할당과 메모리 해제 시 포인터 사용의 문제점
초보안녕 예제 : 포인터를 배열처럼 사용하는 프로그램
초보안녕 예제 : 원하는 문자로 메모리 초기화
초보안녕 예제 : 포인터 배열을 이용한 경사진 숫자 출력하기
혼자서도 잘해요 : 스택(stack) 프로그램
혼자서도 잘해요 : 큐(Queue) 프로그램

챕터10. 특별한 자료형
10.1 새로운 자료형의 정의
10.1.1 자료형의 이름 변경 : typedef
10.1.1.1 typedef의 사용 형식
10.1.1.2 헤더파일에서 typedef 사용하기
10.1.2 열거형
10.1.2.1 열거형의 사용 형식
10.1.2.2 열거형에 typedef 사용하기
10.2 구조체
10.2.1 구조체의 개념
10.2.2 구조체 배열
10.2.3 함수의 파라미터로 구조체 사용
10.2.4 구조체 포인터의 사용
10.3 공용체(Union)
10.3.1 공용체의 사용 형식
10.3.2 공용체의 메모리 공유 원리
10.3.3 구조체와 공용체의 메모리 크기 이해하기
10.3.4 공용체의 실무 응용
10.3.5 구조체와 공용체를 이용한 비트 연산
초보안녕 예제 : 구조체 안에서 구조체를 사용하는 프로그램
초보안녕 예제 : 동적으로 할당하여 사용하는 구조체 프로그램

챕터11. 파일 입출력
11.1 파일 열고 닫기
11.1.1 파일 열기 : fopen() 함수
11.1.2 파일의 닫기 : fclose()
11.2 한 문자 단위의 파일 입출력
11.2.1 파일 내용 출력하기
11.2.2 파일에 문자 저장하기
11.2.3 fgetc() 함수와 fputc() 함수를 사용한 파일 복사 기능
11.3 한 줄 단위의 파일 입출력
11.3.1 문자열을 읽고 저장하는 함수 : fgets()와 fputs()
11.4 바이트 단위의 파일 입출력
11.4.1 바이트 단위의 파일 입출력 : fread()와 fwrite()
초보안녕 예제 : 바이트 단위로 저장되어 있는 파일에서 데이터의 검색
초보안녕 예제 : 두 개의 파일을 읽어서 한 라인씩 합치는 프로그램
초보안녕 예제 : 임시 파일을 생성하였다가 삭제하는 프로그램
혼자서도 잘해요 : 파일에서 알파벳 단어의 수를 세는 프로그램

챕터12. 전처리기
12.1 전처리기
12.1.1 전처리기의 목적
12.1.2 소스 파일과 헤더 파일
12.1.3 헤더 파일에 두면 좋은 것들
12.1.3.1 함수의 프로토타입 선언
12.1.3.2 새로운 데이터형의 정의
12.1.3.3 다른 헤더 파일들의 추가
12.1.4 헤더 파일에 두면 안 되는 것들
12.1.4.1 전역 변수의 선언
12.1.4.2 함수의 몸체
12.1.5 전처리기의 사용
12.1.5.1 #define문
12.1.5.2 #pragma
12.1.5.3 #ifdef 계열
12.1.5.4 매크로 함수


리뷰

구매자 별점

0.0

점수비율
  • 5
  • 4
  • 3
  • 2
  • 1

0명이 평가함

리뷰 작성 영역

이 책을 평가해주세요!

내가 남긴 별점 0.0

별로예요

그저 그래요

보통이에요

좋아요

최고예요

별점 취소

구매자 표시 기준은 무엇인가요?

'구매자' 표시는 리디에서 유료도서 결제 후 다운로드 하시거나 리디셀렉트 도서를 다운로드하신 경우에만 표시됩니다.

무료 도서 (프로모션 등으로 무료로 전환된 도서 포함)
'구매자'로 표시되지 않습니다.
시리즈 도서 내 무료 도서
'구매자’로 표시되지 않습니다. 하지만 같은 시리즈의 유료 도서를 결제한 뒤 리뷰를 수정하거나 재등록하면 '구매자'로 표시됩니다.
영구 삭제
도서를 영구 삭제해도 ‘구매자’ 표시는 남아있습니다.
결제 취소
‘구매자’ 표시가 자동으로 사라집니다.

이 책과 함께 구매한 책


이 책과 함께 둘러본 책



본문 끝 최상단으로 돌아가기

spinner
모바일 버전