1장. C 프로그래밍 입문
1.1. C 언어 소개
1.2. 실습환경 구성(Visual Studio)
1.3. 첫 번째 예제, HelloWorld!
1.4. 프로그램의 기본 요소
1.4.1. #include 전처리기
1.4.2. 스코프(Scope)와 구문
1.4.3. 함수
1.4.4. 빌드 타임에 벌어지는 일들
연습문제
2장. 자료형
2.1. 변수와 상수
2.1.1. C 언어의 자료형
2.1.2. 보수와 음수 표현
2.1.3. 부호비트와 자료비트 그리고 표현범위
2.2. 정수 자료형과 변수, 상수
2.2.1. char와 ASCII코드
2.2.2. short, wchar_t
2.2.3. int와 long
2.3. 실수 자료형
2.3.1. float
2.3.2. double
2.4. 문자와 문자(배)열
2.5. 이름과 주석문
2.5.1. 이름 짓기와 식별자
2.5.2. 주석문
연습문제
3장. 표준 입출력 도구
3.1. 문자 입출력
3.1.1. getchar( ) / putchar( ) 함수
3.1.2. _getch( ) / _getche( ) 함수
3.2. 문자열 입출력
3.2.1. gets( ) / puts( ) 함수
3.2.2. gets( ) 함수와 보안 결함
3.3. printf( ) 함수
3.3.1. 형식 문자와 이스케이프 시퀀스
3.3.2. 문자와 정수 출력
3.3.3. 실수와 지수 출력
3.4. scanf( ) 함수
3.4.1. 정수 입력
3.4.2. 두 정수의 입력 및 구분
3.4.3. 문자 입력
3.4.4. 문자열 입력
모범답안과 해설
연습문제
4장. 연산자 - 기본
4.1. 산술 연산자
4.1.1. 덧셈, 뺄셈 연산자
4.1.2. 이형자료 간의 연산 및 형승격
4.1.3. 곱셈, 나눗셈 연산자
4.1.4. 나머지 연산자
4.2. 대입 연산자
4.2.1. 단순 대입 연산자
4.2.2. 복합 대입 연산자
4.3. 형변환 연산자
4.4. 단항 증감 연산자
4.5. 비트 연산자
4.5.1. 비트 연산자의 사용
4.5.2. 마스크 연산
모범답안과 해설
연습문제
5장. 연산자 - 응용
5.1. sizeof 연산자
5.2. 관계 연산자
5.3. 논리 연산자
5.3.1. 논리합(OR)과 논리곱(AND)
5.3.2. 부정
5.3.3. 쇼트서킷
5.4. 조건 연산자(삼항 연산자)
5.4.1. 최댓값 구하기
5.4.2. 최댓값 구하기 방식 비교
모범답안과 해설
연습문제
6장. 기본 제어문
6.1. if문
6.1.1. 기본 구조
6.1.2. 제어문과 스코프
6.2. if else문
6.2.1. 기본구조
6.2.2. 중첩된 제어문
6.2.3. 식별자 검색순서(스코프의 중첩)
6.3. 다중 if문
6.4. switch-case문
6.5. goto문
모범답안과 해설
연습문제
7장. 반복문
7.1. while - 조건 기반 반복문
7.1.1. 기본구조 조건에 의한 제어
7.1.2. 무한루프
7.1.3. 반복문 내부에 선언한 자동변수
7.1.4. 반복문의 중첩
7.2. for, 계수 기반 반복문
7.2.1. while문과 비교
7.2.2. '*'를 이용한 도형출력 실습
7.3. do while문
7.4. break와 continue
모범답안과 해설
연습문제
8장. 배열
8.1. 1차원 배열의 기본 문법
8.2. 최댓값/최솟값
8.3. 문자의 배열
8.3.1. 문자열의 기본 구조
8.3.2. 문자열의 끝이 '\0'인 이유
8.4. 다차원 배열
8.4.1. 2차원 배열의 기본 문법
8.4.2. 3차원 배열
모범답안과 해설
연습문제
9장. 배열을 활용한 프로그래밍 기법
9.1. 배열 요소의 정렬
9.1.1. 선택정렬로 알려진 버블정렬
9.1.2. 버블정렬
9.1.3. 선택정렬
9.2. 배열과 교차의 구현
9.3. 달팽이 배열 채우기
9.4. Lookup 배열
모범답안과 해설
연습문제
10장. 함수에 대한 기본 이론
10.1. 사용자 정의 함수의 선언 및 정의
10.1.1. 매개변수
10.1.2. 반환 자료형
10.2. 두 가지 함수 설계 원칙
10.2.1. UI와 기능의 분리
10.2.2. 재사용 가능한 단위 기능의 구현
10.3. 코드 분할
10.3.1. 함수의 원형 선언
10.3.2. 전역변수
10.3.3. 전역변수와 식별자 검색 순서
모범답안과 해설
연습문제
11장. 메모리와 포인터
11.1. 컴퓨터와 메모리
11.1.1. 메모리의 종류
11.1.2. 포인터 변수의 선언 및 정의
11.1.3. 포인터와 배열
11.2. 메모리 동적 할당 및 관리
11.2.1. 메모리 초기화 및 사용(배열)
11.2.2. 메모리 복사
11.2.3. 메모리 비교(memcmp( ), strcmp( ))
11.2.4. 문자열 검색
11.2.5. 배열 연산자 풀어쓰기
11.2.6. realloc( ), sprintf( ) 함수
11.3. 잘못된 메모리 접근
11.4. 포인터의 배열과 다중 포인터
11.4.1. char*의 배열
11.4.2. 다중 포인터