책 소개
C 언어는 프로그래밍을 공부하는 사람들의 필수 코스입니다.
어렵고 힘들어도 절대로 포기할 수 없는 C 언어!
초보자 여러분들에게 『요리조리 맛있는 C 언어』를 담아드립니다.
이 책은 C 언어를 배우는 게 어렵다고 느끼시는 분이나 배우다가 중간에 포기한 분들을 위한 책입니다.
기본 예제를 바탕으로 C 언어의 표준 문법을 상세히 설명하였고 각 장마다 레벨업문제, 연습문제, 실습문제를 단계별로 배치하여 해당하는 장에서 배운 내용을 온전히 독자의 것으로 만들 수 있도록 담았습니다.
예제 코드에서는 소스 코드의 핵심이 되는 부분을 해설 칸으로 꼼꼼히 설명하였고, 중요 라인에 지시선을 추가하여 어느 부분을 중점적으로 봐야 하는지 알아보기 쉽게 구성하였습니다.
또한 본문에서는 요점을 잊어버리지 않도록 ‘콕콕’을 통해 다시 한번 내용을 되짚어주며, 더 많은 내용을 원하는 독자들을 위해 ‘뛰어넘기’를 준비했습니다.
작가 소개
저 : 서보원
한국데이터시스템에서 시스템 분석가로 근무하면서 프로그램 설계 및 제작 업무를 하였고, 현재는 동국대학교 전산원 컴퓨터공학 교수로 재직 중이며, C, C++, Visual Basic, JAVA 등의 프로그래밍 언어를 자유자재로 구사하면서 후진을 양성하고 있습니다.
주요 저서
PHP 그대로 따라하기(혜지원)
JSP 프로그래밍(혜지원)
C# 프로그래밍(혜지원)
JAVA 별거 아니네(사이버출판사)
C++ 별거 아니네(사이버출판사)
비주얼베이직 6(사이버출판사)
Java2 기초 플러스(성안당)
C++ 클래스와 상속(성안당)
Java 프로그래밍 사전(성안당) 등의 번역 및 감역
목 차
{ PART 01 프로그램과 C 언어 }
Chapter 01 프로그램이란?
1 | 프로그램
2 | 프로그래밍 언어
Chapter 02 프로그래밍 언어의 종류
1 | 저급 언어와 고급 언어
2 | 컴파일 언어와 인터프리트 언어
3 | 절차지향 언어와 객체지향 언어
Chapter 03 C 언어의 역사와 특징
1 | C 언어의 역사
2 | C 언어의 특징
{ PART 02 C 언어와의 첫 만남 }
Chapter 01 C 프로그램 환경 설정하기
1 | Visual Studio 2017 사용하기
2 | Dev C++ 사용하기
Chapter 02 첫 번째 C 프로그램
1 | 프로그램 작성 방법
2 | C 프로그램의 기본 구조
3 | 첫 번째 프로그램의 분석
4 | 몇 가지 규칙
5 | 간단한 표준 입출력 프로그램
{ PART 03 변수와 자료형 }
Chapter 01 변수란?
1 | 식별자(identifier)
2 | 변수와 상수
Chapter 02 자료형
1 | 자료형이란?
2 | 자료형의 사용 방법
3 | 자료형 수정자
4 | 문자형 변수
5 | 정수형 변수
6 | 실수형 변수
Chapter 03 상수
1 | 상수의 종류
2 | 정수형 상수
3 | 실수형 상수
4 | 문자 상수
5 | 문자열 상수
Chapter 04 형변환
1 | 형변환이란?
2 | 자동 형변환
3 | 강제 형변환
{ PART 04 연산자 }
Chapter 01 수식과 문장
1 | 수식
2 | 문장
Chapter 02 연산자의 종류와 우선순위
1 | 연산자의 종류
2 | 연산자의 우선순위
Chapter 03 산술 연산자
Chapter 04 증감 연산자
Chapter 05 대입 연산자
Chapter 06 관계 연산자
Chapter 07 논리 연산자
Chapter 08 비트 논리 연산자
1 | 비트 논리 연산자
2 | 비트 이동 연산자
Chapter 09 주소 연산자
Chapter 10 기타 연산자
1 | 조건 연산자
2 | 연결 연산자
3 | 캐스트 연산자
4 | sizeof 연산자
{ PART 05 제어문 }
Chapter 01 제어 구조
1 | 제어 구조의 종류
2 | 순차 처리
3 | 선택 처리
4 | 반복 처리
Chapter 02 선택문
1 | if문
2 | switch문
Chapter 03 반복문
1 | while문
2 | do~while문
3 | for문
Chapter 04 분기문
1 | break문
2 | continue문
3 | goto문
4 | return문
{ PART 06 배열과 포인터 }
Chapter 01 포인터
1 | 포인터란?
2 | 포인터의 사용 방법
3 | 포인터 사용의 주의 사항
Chapter 02 배열
1 | 배열의 정의
2 | 배열의 선언
3 | 배열의 초기화
4 | 다차원 배열
{ PART 07 포인터 활용 }
Chapter 01 배열과 포인터의 관계
1 | 포인터 연산
2 | 포인터로 배열 처리하기
Chapter 02 포인터와 문자열
1 | 문자열 처리
2 | 다차원 배열과 문자열
Chapter 03 포인터의 종류
1 | 배열 포인터
2 | 포인터 배열
3 | 포인터의 포인터
4 | void형 포인터
{ PART 08 함수 }
Chapter 01 함수의 정의
1 | 프로그램과 함수
2 | 함수란?
3 | 함수의 정의
Chapter 02 함수의 사용
1 | 함수의 선언
2 | 함수의 사용
Chapter 03 매개변수 전달 방법
1 | 매개변수
2 | 매개변수 전달 방법
3 | 값에 의한 호출(call by value)
4 | 참조에 의한 호출(call by reference)
Chapter 04 함수에서 값을 반환하는 방법
1 | return 명령
2 | 함수의 자료형
3 | void형 함수
4 | main 함수의 자료형과 매개변수
Chapter 05 순환 함수
1 | 순환 함수란?
2 | 순환 함수의 특징
3 | 순환 함수를 사용한 하노이 타워 문제
{ PART 09 표준 입출력과 문자열 함수 }
Chapter 01 표준 입출력 함수
1 | 표준 입출력 함수
2 | 단일 문자 출력 함수
3 | 단일 문자 입력 함수
4 | 문자열 출력 함수
5 | 문자열 입력 함수
Chapter 02 문자열 함수
1 | 문자열 함수의 종류
2 | 문자열 관련 함수 작성하기
{ PART 10 기억 클래스 }
Chapter 01 메모리 할당 방법
1 | 동적 할당(dynamic allocation)
2 | 정적 할당(static allocation)
Chapter 02 기억 클래스
1 | 기억 클래스
2 | 기억 클래스의 종류
3 | 자동 변수
4 | 레지스터 변수
5 | 정적 변수
6 | 외부 변수
Chapter 03 메모리의 동적 할당
1 | C 언어의 메모리 관리
2 | 동적 할당 함수
{ PART 11 구조체 }
Chapter 01 구조체의 이해
1 | 구조체란?
2 | 구조체 선언 및 정의
Chapter 02 구조체의 사용
1 | 구조체 멤버에 대한 접근
2 | 구조체 변수의 초기화
3 | 구조체 배열과 포인터
4 | 중첩된 구조체
5 | 구조체를 매개변수로 사용하는 함수
Chapter 03 자기 참조 구조체
1 | 자기 참조 구조체란?
2 | 연결 리스트(linked list)
Chapter 04 공용체
1 | 공용체란?
2 | 공용체의 사용 방법
Chapter 05 비트 필드
1 | 비트 필드란?
2 | 비트 필드의 사용 방법
{ PART 12 선행 처리기 }
Chapter 01 선행처리기의 이해
1 | 선행처리기란?
2 | 선행처리 명령의 종류
3 | 선행처리 명령의 사용 방법
Chapter 02 #include
1 | 사용 방법
2 | 표준 헤더 파일의 종류
Chapter 03 #define
1 | #define의 기능
2 | 단순 치환
3 | 매크로 함수
4 | #undef
Chapter 04 조건 컴파일
1 | 조건 컴파일이란?
2 | #ifdef, #ifndef
3 | #if, #elif
4 | 기타 명령어
{ PART 13 파일 입출력 }
Chapter 01 파일 입출력의 기초
1 | 스트림의 이해
2 | 파일 입출력 함수의 종류
Chapter 02 파일 입출력
1 | 파일 입출력 작업의 순서
2 | 파일 열기
3 | 파일 닫기
4 | 문자 입출력 함수
5 | 문자열 파일 입출력 함수
6 | 서식화 파일 입출력 함수
7 | 블록 단위 입출력 함수
Chapter 03 파일에 대한 임의 접근
1 | 임의 접근이란?
2 | 임의 접근 함수
{ 부록 C 언어의 표준 라이브러리 }
01 | 문자 검사 및 변환 함수
02 | 데이터 변환 함수
03 | 문자열 처리 함수
04 | 버퍼 조작 함수
05 | 메모리 관련 함수
06 | 수학 함수
07 | 표준 입출력 함수
08 | 파일 입출력 함수
09 | 폴더 관련 함수
10 | 시간 함수
11 | 난수 발생 함수
Index
- 단순 변심인 경우 : 상품 수령 후 7일 이내 신청
- 상품 불량/오배송인 경우 : 상품 수령 후 3개월 이내, 혹은 그 사실을 알게 된 이후 30일 이내 반품 신청 가능
반품사유 | 반품 배송비 부담자 |
---|---|
단순변심 | 고객 부담이며, 최초 배송비를 포함해 왕복 배송비가 발생합니다. 또한, 도서/산간지역이거나 설치 상품을 반품하는 경우에는 배송비가 추가될 수 있습니다. |
고객 부담이 아닙니다. |
진행 상태 | 결제완료 | 상품준비중 | 배송지시/배송중/배송완료 |
---|---|---|---|
어떤 상태 | 주문 내역 확인 전 | 상품 발송 준비 중 | 상품이 택배사로 이미 발송 됨 |
환불 | 즉시환불 | 구매취소 의사전달 → 발송중지 → 환불 | 반품회수 → 반품상품 확인 → 환불 |
- 결제완료 또는 배송상품은 1:1 문의에 취소신청해 주셔야 합니다.
- 특정 상품의 경우 취소 수수료가 부과될 수 있습니다.
결제수단 | 환불시점 | 환불방법 |
---|---|---|
신용카드 | 취소완료 후, 3~5일 내 카드사 승인취소(영업일 기준) | 신용카드 승인취소 |
계좌이체 |
실시간 계좌이체 또는 무통장입금 취소완료 후, 입력하신 환불계좌로 1~2일 내 환불금액 입금(영업일 기준) |
계좌입금 |
휴대폰 결제 |
당일 구매내역 취소시 취소 완료 후, 6시간 이내 승인취소 전월 구매내역 취소시 취소 완료 후, 1~2일 내 환불계좌로 입금(영업일 기준) |
당일취소 : 휴대폰 결제 승인취소 익월취소 : 계좌입금 |
포인트 | 취소 완료 후, 당일 포인트 적립 | 환불 포인트 적립 |
- 단순변심으로 인한 반품 시, 배송 완료 후 7일이 지나면 취소/반품 신청이 접수되지 않습니다.
- 주문/제작 상품의 경우, 상품의 제작이 이미 진행된 경우에는 취소가 불가합니다.
- 구성품을 분실하였거나 취급 부주의로 인한 파손/고장/오염된 경우에는 취소/반품이 제한됩니다.
- 제조사의 사정 (신모델 출시 등) 및 부품 가격변동 등에 의해 가격이 변동될 수 있으며, 이로 인한 반품 및 가격보상은 불가합니다.
- 뷰티 상품 이용 시 트러블(알러지, 붉은 반점, 가려움, 따가움)이 발생하는 경우 진료 확인서 및 소견서 등을 증빙하면 환불이 가능하지만 이 경우, 제반 비용은 고객님께서 부담하셔야 합니다.
- 각 상품별로 아래와 같은 사유로 취소/반품이 제한 될 수 있습니다.
상품군 | 취소/반품 불가사유 |
---|---|
의류/잡화/수입명품 | 상품의 택(TAG) 제거/라벨 및 상품 훼손으로 상품의 가치가 현저히 감소된 경우 |
계절상품/식품/화장품 | 고객님의 사용, 시간경과, 일부 소비에 의하여 상품의 가치가 현저히 감소한 경우 |
가전/설치상품 | 전자제품 특성 상, 정품 스티커가 제거되었거나 설치 또는 사용 이후에 단순변심인 경우, 액정화면이 부착된 상품의 전원을 켠 경우 (상품불량으로 인한 교환/반품은 AS센터의 불량 판정을 받아야 합니다.) |
자동차용품 | 상품을 개봉하여 장착한 이후 단순변심의 경우 |
CD/DVD/GAME/BOOK등 | 복제가 가능한 상품의 포장 등을 훼손한 경우 |
상품의 시리얼 넘버 유출로 내장된 소프트웨어의 가치가 감소한 경우 | |
노트북, 테스크탑 PC 등 | 홀로그램 등을 분리, 분실, 훼손하여 상품의 가치가 현저히 감소하여 재판매가 불가할 경우 |