책 이미지
책 정보
· 분류 : 국내도서 > 컴퓨터/모바일 > 프로그래밍 언어 > C
· ISBN : 9788968481024
· 쪽수 : 708쪽
책 소개
목차
PART 1 C 언어 기본
1장 프로그램 만들기
_1.1 프로그램과 C 언어
_1.2 컴파일러 사용법
__1.2.1 소스 파일(source file) 작성
__1.2.2 컴파일
__1.2.3 실행
__연습문제 / 정답 및 해설
2장 상수와 데이터 출력
_2.1 C 프로그램의 기본 형태와 데이터 출력 방법
__2.1.1 main 함수 구조
__2.1.2 출력 함수(printf)의 사용법
__2.1.3 printf 함수로 제어 문자 출력
__2.1.4 printf 함수로 정수와 실수 출력
__연습문제 / 정답 및 해설
_2.2 상수와 데이터 표현 방법
__2.2.1 정수 상수 표현법
__2.2.2 실수 상수 표현법
__2.2.3 문자와 문자열 상수 표현법
__2.2.4 상수가 컴파일된 후의 비트 형태
__2.2.5 정수형 상수가 컴파일된 후의 비트 형태
__2.2.6 실수형 상수가 컴파일된 후의 비트 형태
__연습문제 / 정답 및 해설
3장 변수와 데이터 입력
_3.1 변수
__3.1.1 변수 선언 방법
__3.1.2 쓰레기값과 초기화
__3.1.3 정수를 저장하는 자료형
__3.1.4 unsigned 정수 자료형
__3.1.5 실수 자료형
__3.1.6 문자열 저장
__3.1.7 const를 사용한 변수
__3.1.8 예약어와 식별자
__연습문제 / 정답 및 해설
_3.2 데이터 입력
__3.2.1 scanf 함수의 사용법
__3.2.2 scanf 함수의 응용
__3.2.3 문자와 문자열의 입력
__연습문제 / 정답 및 해설
4장 연산자
_4.1 산술, 관계, 논리 연산자
__4.1.1 연산자와 피연산자
__4.1.2 산술 연산자와 대입 연산자
__4.1.3 나눗셈 연산자와 나머지 연산자
__4.1.4 증감 연산자
__4.1.5 관계 연산자
__4.1.6 논리 연산자
__4.1.7 연산의 결과값은 어떻게 되나요?
__연습문제 / 정답 및 해설
_4.2 비트 연산자와 그 외의 멋진 연산자
__4.2.1 형변환 연산자
__4.2.2 sizeof 연산자
__4.2.3 복합대입 연산자
__4.2.4 콤마 연산자
__4.2.5 조건 연산자
__4.2.6 비트 연산자
__4.2.7 연산자 우선순위와 연산 방향
__연습문제 / 정답 및 해설
_도전 실전 예제
5장 선택문(if, switch~case)
_5.1 if문
__5.1.1 if문의 기본 형식
__5.1.2 if ~ else문
__5.1.3 if ~ else if ~ else문
__연습문제 / 정답 및 해설
_5.2 if문의 활용과 switch~case문
__5.2.1 if문 중첩
__5.2.2 if문을 중첩해서 쓰는 이유
__5.2.3 else 결합 문제
__5.2.4 switch ~ case문
__연습문제 / 정답 및 해설
_도전 실전 예제
6장 반복문
_6.1 while, for, do~while
__6.1.1 while문
__6.1.2 for문
__6.1.3 do ~ while문
__연습문제 / 정답 및 해설
_6.2 반복문 활용
__6.2.1 중첩 반복문
__6.2.2 break와 continue 분기문
__연습문제 / 정답 및 해설
_도전 실전 예제
7장 함수
_7.1 함수의 작성과 사용
__7.1.1 함수 정의
__7.1.2 함수 호출과 반환
__7.1.3 함수 선언
__연습문제 / 정답 및 해설
_7.2 여러 가지 함수 유형
__7.2.1 매개변수가 없는 함수
__7.2.2 반환값이 없는 함수
__7.2.3 반환값과 매개변수가 모두 없는 함수
__7.2.4 재귀호출 함수
__7.2.5 재귀호출이 반복문과 다른 점은 무엇인가?
__연습문제 / 정답 및 해설
_도전 실전 예제
8장 배열
_8.1 배열의 선언과 사용
__8.1.1 배열 선언과 배열 요소 사용
__8.1.2 배열 초기화
__8.1.3 배열과 반복문
__8.1.4 sizeof 연산자를 활용한 배열 처리
__연습문제 / 정답 및 해설
_8.2 문자를 저장하는 배열
__8.2.1 char형 배열의 선언과 초기화
__8.2.2 문자열 대입
__8.2.3 문자열 전용 입출력 함수(gets, puts)
__연습문제 / 정답 및 해설
_도전 실전 예제
9장 포인터
__9.1 포인터의 기본 개념
__9.1.1 주소 연산자(&)
__9.1.2 포인터와 간접참조 연산자(*)
__9.1.3 여러 가지 포인터
__9.1.4 const를 사용한 포인터
__연습문제 / 정답 및 해설
_9.2 포인터에 관한 궁금한 이야기
__9.2.1 주소와 포인터의 차이
__9.2.2 주소와 포인터의 크기
__9.2.3 포인터의 대입 규칙
__9.2.4 포인터가 필요한 이유
__연습문제 / 정답 및 해설
_도전 실전 예제
PART 11 C 언어 고급
10장 배열과 포인터
_10.1 배열과 포인터의 관계
__10.1.1 배열명의 정체
__10.1.2 배열명으로 배열 요소 사용하기
__10.1.3 배열명 역할을 하는 포인터
__10.1.4 배열명과 포인터의 차이
__10.1.5 포인터의 뺄셈과 관계 연산
__연습문제 / 정답 및 해설
_10.2 배열을 처리하는 함수
__10.2.1 배열의 값을 출력하는 함수
__10.2.2 배열 요소의 개수가 다른 배열도 출력하는 함수
__10.2.3 배열에 값을 입력하는 함수
__연습문제 / 정답 및 해설
_도전 실전 예제
11장 문자
_11.1 아스키 코드값과 문자 입출력 함수
__11.1.1 문자 상수 구현 방법
__11.1.2 아스키 코드
__11.1.3 scanf 함수를 사용한 문자 입력
__11.1.4 getchar 함수와 putchar 함수
__연습문제 / 정답 및 해설
_11.2 버퍼를 사용하는 입력 함수
__11.2.1 scanf 함수가 문자를 입력하는 과정
__11.2.2 scanf 함수 반환값 활용
__11.2.3 getchar 함수를 사용한 문자열 입력
__11.2.4 fflush 함수
__연습문제 / 정답 및 해설
_도전 실전 예제
12장 문자열
_12.1 문자열과 포인터
__12.1.1 문자열 상수 구현 방법
__12.1.2 char 포인터로 문자열 사용
__12.1.3 scanf 함수를 사용한 문자열 입력
__12.1.4 gets 함수를 사용한 문자열 입력
__12.1.5 fgets 함수를 사용한 문자열 입력
__12.1.6 표준 입력 함수의 버퍼 공유 문제
__12.1.7 문자열을 출력하는 puts, fputs 함수
__연습문제 / 정답 및 해설
_12.2 문자열 연산 함수
__12.2.1 문자열을 대입하는 strcpy 함수
__12.2.2 strcpy 함수 구현 방법
__12.2.3 원하는 개수의 문자만을 복사하는 strncpy 함수
__12.2.4 문자열 길이를 계산하는 strlen 함수
__12.2.5 문자열을 붙이는 strcat, strncat 함수
__12.2.6 문자열을 비교하는 strcmp, strncmp 함수
__연습문제 / 정답 및 해설
_도전 실전 예제
13장 변수의 영역과 데이터 공유
_13.1 변수 사용 영역
__13.1.1 지역 변수
__13.1.2 블록 안에서 사용하는 지역 변수
__13.1.3 전역 변수
__13.1.4 정적 지역 변수
__13.1.5 레지스터 변수
__연습문제 / 정답 및 해설
_13.2 함수의 데이터 공유 방법
__13.2.1 값을 복사해서 전달하는 방법
__13.2.2 주소를 전달하는 방법
__13.2.3 주소를 반환하는 함수
__연습문제 / 정답 및 해설
_도전 실전 예제
14장 다차원 배열과 포인터 배열
_14.1 2차원 배열
__14.1.1 2차원 배열 선언과 요소 사용
__14.1.2 2차원 배열 초기화
__14.1.3 2차원 char 배열
__14.1.4 2차원 char 배열 초기화
__14.1.5 3차원 배열
__연습문제 / 정답 및 해설
_14.2 포인터 배열
__14.2.1 포인터 배열 선언과 사용
__14.2.2 2차원 배열처럼 활용하는 포인터 배열
__연습문제 / 정답 및 해설
_도전 실전 예제
15장 응용 포인터
_15.1 2중 포인터와 배열 포인터
__15.1.1 2중 포인터 개념
__15.1.2 2중 포인터 활용 예 1
__15.1.3 2중 포인터 활용 예 2
__15.1.4 배열 요소의 주소와 배열의 주소
__15.1.5 2차원 배열과 배열 포인터
__15.1.6 2차원 배열의 요소를 참조하는 원리
__연습문제 / 정답 및 해설
_15.2 함수 포인터와 void 포인터
__15.2.1 함수 포인터의 개념
__15.2.2 함수 포인터의 활용
__15.2.3 void 포인터
__연습문제 / 정답 및 해설
_도전 실전 예제
16장 메모리 동적 할당
_16.1 동적 할당 함수
__16.1.1 malloc, free 함수
__16.1.2 동적 할당 영역을 배열처럼 쓰기
__16.1.3 기타 동적 할당 함수
__연습문제 / 정답 및 해설
_16.2 동적 할당 저장 공간의 활용
__16.2.1 동적 할당을 사용한 문자열 처리
__16.2.2 동적 할당 영역에 저장한 문자열을 함수로 처리하는 예
__16.2.3 main 함수의 명령행 인수 사용
__16.2.4 명령행 인수를 사용한 문자열 입력 예
__연습문제 / 정답 및 해설
_도전 실전 예제
17장 사용자 정의 자료형
_17.1 구조체
__17.1.1 구조체 선언과 멤버 사용
__17.1.2 다양한 구조체 멤버
__17.1.3 구조체 변수의 초기화와 대입 연산
__17.1.4 구조체 변수를 함수 매개변수에 사용하기
__17.1.5 비트 필드 구조체
__연습문제 / 정답 및 해설
_17.2 구조체 활용, 공용체, 열거형
__17.2.1 구조체 포인터와 -> 연산자
__17.2.2 구조체 배열
__17.2.3 구조체 배열을 처리하는 함수
__17.2.4 자기 참조 구조체
__17.2.5 공용체
__17.2.6 열거형
__17.2.7 typedef를 사용한 형 재정의
__17.2.8 구조체, 공용체, 열거형을 사용한 프로그램
__연습문제 / 정답 및 해설
_도전 실전 예제
18장 파일 입출력
_18.1 파일 개방과 입출력
__18.1.1 파일 개방과 폐쇄
__18.1.2 스트림 파일과 파일 포인터
__18.1.3 문자 입력 함수 fgetc
__18.1.4 문자 출력 함수 fputc
__18.1.5 기본적으로 개방되는 표준 입출력 스트림 파일
__18.1.6 텍스트 파일과 바이너리 파일
__18.1.7 + 개방 모드, fseek, rewind, feof 함수
__연습문제 / 정답 및 해설
_18.2 다양한 파일 입출력 함수
__18.2.1 한 줄씩 입출력하는 fgets와 fputs
__18.2.2 다양한 형태로 입출력 하는 fscanf, fprintf
__18.2.3 스트림 파일의 버퍼 공유 문제와 fflush 함수
__18.2.4 fread와 fwrite 함수
__연습문제 / 정답 및 해설
_도전 실전 예제
19장 전처리와 분할 컴파일
_19.1 전처리 지시자
__19.1.1 파일을 포함하는 #include
__19.1.2 매크로명을 만드는 #define
__19.1.3 #define을 사용한 매크로 함수
__19.1.4 이미 정의된 매크로
__19.1.5 매크로 연산자 #과 ##
__19.1.6 조건부 컴파일 지시자
__19.1.7 #pragma 지시자
__연습문제 / 정답 및 해설
_19.2 분할 컴파일
__19.2.1 분할 컴파일 방법
__19.2.2 분할 컴파일에서 extern과 static의 용도
__19.2.3 헤더 파일의 필요성과 중복 문제 해결 방법
__연습문제 / 정답 및 해설
_도전 실전 예제
부록
_ A. 아스키 코드표
_ B. 선택정렬 알고리즘
_ C. 날짜와 시간 함수, 난수 함수, 가변 인수 함수
_ D. C 표준 라이브러리 함수와 매크로. 678
_ E. 실전 프로젝트. 702