Chapter 1. 프로그램과 프로그래밍 언어
1.1 우리가 C 언어를 선택하는 이유
01 C 언어의 탄생
02 C 언어의 장점
1.2 하나의 C 프로그램이 실행되기까지
01 원시 소스 파일을 만든다
02 컴파일러를 이용해 이진 코드로 바꾼다
03 링크 명령을 이용해 실행 파일로 만든다
1.3 C 프로그램 개발 환경 만들기
01 Visual Studio의 설치
1.4 Visual Studio에서 첫 번째 C 프로그램 만들어 보기
01 Visual Studio 프로그램 사용하기
Chapter 2. C 프로그램의 구성 요소 및 프로그래밍 규칙
2.1 C 프로그램은 무엇으로 이루어져 있을까?
2.2 가장 기초적인 C 프로그래밍 상식 일곱 가지
01 C 프로그램은 소스 코드로 이루어진 텍스트 파일이다
02 작성된 순서대로 처리된다
03 프로그램 실행은 main() 함수에서 출발한다
04 함수와 제어문은 { } 사이에 내용을 정의한다
05 문자의 끝은 항상 세미콜론(;)으로 끝난다
06 들여쓰기는 기본적인 예의!
07 주석의 사용
2.3 미리 알아둘 두 개의 함수와 특수문자들
01 화면 출력 함수 printf()
02 사용자의 값을 입력 받는 scanf() 함수
03 출력 내용을 다양하게 제어하는 제어문자
연ㆍ습ㆍ문ㆍ제
Chapter 3. 변수와 상수
3.1 변수의 이해
01 변수와 메모리
02 변수의 종류
03 변수의 선언 방법
3.2 변수의 사용
01 영문자, 숫자, 밑줄이 사용될 수 있다
02 변수명의 첫 글자는 밑줄이나 영문자여야 한다
03 밑줄을 제외한 특수문자는 사용할 수 없다
04 예약어는 사용할 수 없다
05 이름 규칙으로 이해하기 쉽게 표현한다
3.3 변수의 초기화
3.4 변수의 사용 예제
3.5 상수
01 상수가 뭐죠?
02 상수의 사용 방법
3.6 예제로 마무리
연ㆍ습ㆍ문ㆍ제
Chapter 4. 자료형
4.1 자료형의 사용 이유
01 자료형의 정의
02 자료형의 종류
03 sizeof() 함수
4.2 C 언어의 자료형
01 정수형
02 정수형의 변종
03 실수형
04 문자형
05 자료형의 정리
4.3 예제로 마무리
연ㆍ습ㆍ문ㆍ제
Chapter 5. 연산자
5.1 연산자
01 연산자란?
02 산술 연산자
03 비교와 논리 연산자
04 증가/감소 연산자
05 비트 연산자
06 대입 연산자
5.2 연산자에 대해 알아두어야 할 것들
01 삼항 연산자
02 컴마 연산자
03 형변환 연산자
04 연산자의 우선순위
5.3 예제로 마무리
연ㆍ습ㆍ문ㆍ제
Chapter 6. 제어문
6.1 조건문
01 조건문이란?
02 if 문
03 if ~ else 문
04 if ~ else if ~ else 문
05 switch ~ case 문
6.2 반복문
01 for 문
02 for 문의 응용
03 while 문
04 do-while 문
6.3 기타 제어문
01 break 문
02 continue 문
03 goto 문
연ㆍ습ㆍ문ㆍ제
Chapter 7. 함수
7.1 함수의 정의와 사용 방법
01 함수의 정의
02 함수의 다섯 가지 구성 원칙
03 함수를 사용하는 이유
7.2 변수의 적용 범위
01 변수의 네 가지 종류
7.3 재귀 호출
7.4 예제로 마무리
연ㆍ습ㆍ문ㆍ제
Chapter 8. 배열과 포인터의 이해
8.1 메모리의 기본적인 사용 : 배열
01 메모리의 논리적인 개념
02 메모리의 기본적인 사용 방법 : 배열
03 배열의 사용 형식
04 다차원 배열
8.2 메모리의 효율적인 사용 : 포인터
01 포인터를 사용하는 이유
02 포인터의 사용 형식
03 포인터의 활용 : 문자열의 저장과 출력
04 포인터의 연산
05 포인터의 활용 : Call-by-reference
8.3 예제로 마무리
연ㆍ습ㆍ문ㆍ제
Chapter 9. 포인터 완전 정복
9.1 배열과 포인터
01 포인터처럼 메모리를 사용하는 배열
02 포인터를 이용한 배열의 응용
03 배열과 포인터의 차이점
9.2 포인터를 사용한 문자열 처리
01 포인터를 이용하여 문자열을 복사하는 함수 만들기
02 포인터를 이용하여 문자열의 개수를 반환하는 함수 만들기
03 포인터를 이용하여 특수문자를 제거하는 함수 만들기
9.3 예제로 마무리
01 포인터를 배열처럼 사용하는 프로그램
02 포인터 배열을 이용한 경사진 숫자 출력하기
03 스택(Stack) 프로그램
연ㆍ습ㆍ문ㆍ제
Chapter 10. 포인터의 활용
10.1 포인터를 이용한 메모리 함수들
01 메모리를 할당하는 함수 : malloc()
02 메모리를 해제하는 함수 : free()
03 메모리를 복사하는 함수 : memcpy()
04 메모리 초기화 함수 : memset()
10.2 포인터를 사용할 때 범하기 쉬운 오류
01 문자열의 여러 가지 저장방법
02 포인터로 함수의 파라미터를 사용하는 경우의 문제점
03 메모리 할당과 메모리 해제 시 포인터 사용의 문제점
10.3 예제로 마무리
01 원하는 문자로 메모리 초기화
02 큐(Queue) 프로그램
연ㆍ습ㆍ문ㆍ제
Chapter 11. 특별한 자료형
11.1 새로운 자료형의 정의
01 자료형의 이름 변경 : typedef
02 열거형
11.2 구조체
01 구조체의 개념
02 구조체 배열
03 함수의 파라미터로 구조체의 사용
04 구조체 포인터의 사용
11.3 공용체(Union)
01 공용체의 사용 형식
02 공용체의 메모리 공유 원리
03 구조체와 공용체의 메모리 크기 이해하기
04 공용체의 실무 응용
05 구조체와 공용체를 이용한 비트 연산
11.4 예제로 마무리
01 구조체 안에서 구조체를 사용하는 프로그램
02 동적으로 할당하여 사용하는 구조체 프로그램
연ㆍ습ㆍ문ㆍ제
Chapter 12. 파일 입출력
12.1 파일 열고 닫기
01 파일 열기 함수 : fopen()
02 파일 닫기 함수 : fclose()
12.2 한 문자 단위의 파일 입출력
01 파일 내용 출력하기
02 파일에 문자 저장하기
03 fgetc() 함수와 fputc() 함수를 사용한 파일 복사 기능
12.3 한 줄 단위의 파일 입출력
01 문자열을 읽고 저장하는 함수 : fgets()와 fputs()
12.4 바이트 단위의 파일 입출력
01 바이트 단위의 파일 입출력 : fread()와 fwrite()
12.5 예제로 마무리
01 바이트 단위로 저장되어 있는 파일에서 데이터의 검색
02 두 개의 파일을 읽어서 한 라인씩 합치는 프로그램
03 임시 파일을 생성하였다가 삭제하는 프로그램
연ㆍ습ㆍ문ㆍ제
Chapter 13. 전처리기
13.1 전처리기
01 전처리기의 목적
02 소스 파일과 헤더 파일
03 헤더 파일에 두면 좋은 것들
04 헤더 파일에 두면 안 되는 것들
13.2 전처리기의 사용
01 #define 문
02 #pragma 문
03 #ifdef 계열
04 매크로 함수
Appendix. 부록
연습문제 정답
찾아보기