Core C Programming(2판)
Regular price
$32.58
Sale price
Regular price
✈️
Estimated delivery date 예상 배송일
Standard Shipping
불러오는 중...
주문일로부터 8-12 영업일
Express Shipping
불러오는 중...
주문일로부터 6-8 영업일
이 책은 C 문법서가 아니기 때문에, 각 장이 왜 이런 기능이 필요할까? 에서부터 시작하고 있습니다. 왜 이런 기능이 필요한지, 왜 그렇게 사용할 수밖에 없는지를 알고 나면 개념 을 받아들이고 이해하기 쉬워집니다. 또한, 이 책은 핵심을 꿰뚫는 풍부하고 다양한 그림을 통해서 C의 기능들을 설명하고 있습니다.
개념 설명 후에는 사용 형식과 다양한 예제 코드, 주의 사항들을 통해서 배운 개념을 자기 것으로 만들 수 있도록 단계별로 확장해 나갑니다. 소단원별로 비교적 쉽고 간단한 객관식 문제를 제시하여, 배운 내용 중 핵심 키워드를 다시 생각해볼 수 있도록 구성하였습니다. 또한 장 별로 제시된 다양한 형식의 연습문제(객관식, OX, 단답형, 주관식, 프로그래밍 문제 등)를 통해서 C 언어의 여러 가지 기능에 대한 이해도를 스스로 판단할 수 있을 것입니다.
C가 제공하는 다양한 고급 기능과 활용 방법은 C를 처음 배우는 입장에서는 오히려 큰 진입 장벽이 될 수 있습니다. 이 책에서는 초보자가 굳이 알 필요 없는 부분은 생략하고, 핵심 기능 위주로 한 한기 동안 C 언어를 배울 수 있도록 구성하였습니다. 초보자들도 점차적으로 프로그래밍에 익숙해질 수 있도록 짧고 간단한 예제부터 시작해서
실무에서도 자주 사용되는 코드를 예제로 설명하고 있습니다.
예제에서 다뤄지지 못한 심화 내용은 다양한 프로그래밍 과제를 통해서 제시됩니다. 프로그래밍 과제에서는 각 문제마다 이용해야 할 기능과 난이도를 표시하여 학습자의 수준에 맞게 과제를 진행할 수 있게 구성하였습니다. 또한, 필요한 경우에는 프로그래밍에 익숙하지 않은 학습자에게 간단한 팁을 제시하여 문제 해결을 위한 접근 방향을 안내합니다.
이 책의 제일 중요한 특징은 C 언어를 처음 접하는 학생이나 프로그래머가 보다 쉽게 올 바른 코드를 작성할 수 있도록 C의 여러 가지 핵심 기능에 대한 가이드라인을 제시하고 있다는 것입니다. 예를 들어 9장의 문자열에서는 문자 배열과 문자열 포인터의 문법적인 특성이나 차이점만 설명하는 것이 아니라 어떤 상황에서 문자 배열을 사용해야 하고, 어떤 상황에서 문자열 포인터를 사용해야 하는지를 명확히 제시하고 있습니다.
개념 설명 후에는 사용 형식과 다양한 예제 코드, 주의 사항들을 통해서 배운 개념을 자기 것으로 만들 수 있도록 단계별로 확장해 나갑니다. 소단원별로 비교적 쉽고 간단한 객관식 문제를 제시하여, 배운 내용 중 핵심 키워드를 다시 생각해볼 수 있도록 구성하였습니다. 또한 장 별로 제시된 다양한 형식의 연습문제(객관식, OX, 단답형, 주관식, 프로그래밍 문제 등)를 통해서 C 언어의 여러 가지 기능에 대한 이해도를 스스로 판단할 수 있을 것입니다.
C가 제공하는 다양한 고급 기능과 활용 방법은 C를 처음 배우는 입장에서는 오히려 큰 진입 장벽이 될 수 있습니다. 이 책에서는 초보자가 굳이 알 필요 없는 부분은 생략하고, 핵심 기능 위주로 한 한기 동안 C 언어를 배울 수 있도록 구성하였습니다. 초보자들도 점차적으로 프로그래밍에 익숙해질 수 있도록 짧고 간단한 예제부터 시작해서
실무에서도 자주 사용되는 코드를 예제로 설명하고 있습니다.
예제에서 다뤄지지 못한 심화 내용은 다양한 프로그래밍 과제를 통해서 제시됩니다. 프로그래밍 과제에서는 각 문제마다 이용해야 할 기능과 난이도를 표시하여 학습자의 수준에 맞게 과제를 진행할 수 있게 구성하였습니다. 또한, 필요한 경우에는 프로그래밍에 익숙하지 않은 학습자에게 간단한 팁을 제시하여 문제 해결을 위한 접근 방향을 안내합니다.
이 책의 제일 중요한 특징은 C 언어를 처음 접하는 학생이나 프로그래머가 보다 쉽게 올 바른 코드를 작성할 수 있도록 C의 여러 가지 핵심 기능에 대한 가이드라인을 제시하고 있다는 것입니다. 예를 들어 9장의 문자열에서는 문자 배열과 문자열 포인터의 문법적인 특성이나 차이점만 설명하는 것이 아니라 어떤 상황에서 문자 배열을 사용해야 하고, 어떤 상황에서 문자열 포인터를 사용해야 하는지를 명확히 제시하고 있습니다.
Couldn't load pickup availability
출판사 리뷰
출판사 리뷰
목차
목차
C 언어와 프로그래밍 개요 001
·1.1 C 언어 소개 003
1.1.1 프로그래밍의 개념 003
1.1.2 C 언어의 특징 007
·1.2 C 프로그램 개발 012
1.2.1 일반적인 C 프로그램 개발 과정 012
1.2.2 Visual Studio를 이용한 C 프로그램 개발 과정 015
1.2.3 Visual Studio를 이용한 C 프로그램 개발 과정 019
■■ Summary 031
■■ Exercise 032
■■ Programming Assignment 035
CHAPTER 2
C 프로그램의 기본 037
·2.1 C 프로그램의 구성 요소 039
2.1.1 주석 039
2.1.2 main 함수 041
2.1.3 출력 047
·2.2 C 언어의 입력과 출력 050
2.2.1 변수 050
2.2.2 printf 함수 052
2.2.3 scanf 함수 058
■■ Summary 064
■■ Exercise 065
■■ Programming Assignment 070
CHAPTER 3
데이터형과 변수 073
·3.1 데이터형 075
3.1.1 데이터형의 기본 개념 075
3.1.2 정수형 079
3.1.3 문자형 088
3.1.4 실수형 092
·3.2 변수와 상수 096
3.2.1 변수 096
3.2.2 상수 105
■■ Summary 118
■■ Exercise 119
■■ Programming Assignment 124
CHAPTER 4
연산자 127
·4.1 연산자의 기본 개념 129
4.1.1 수식 129
4.1.2 연산자와 피연산자 130
·4.2 연산자의 종류 132
4.2.1 산술 연산자 132
4.2.2 증감 연산자 139
4.2.3 대입 연산자 142
4.2.4 관계 연산자 147
4.2.5 논리 연산자 150
4.2.6 비트 연산자 154
4.2.7 그 밖의 연산자 161
·4.3 연산자의 우선순위와 결합 규칙 170
4.3.1 연산자의 우선순위 170
4.3.2 연산자의 결합 규칙 172
■■ Summary 174
■■ Exercise 175
■■ Programming Assignment 179
CHAPTER 5
제어문 185
·5.1 조건문 187
5.1.1 if 188
5.1.2 switch 201
·5.2 반복문 208
5.2.1 반복문의 필요성 208
5.2.2 for 209
5.2.3 while 218
5.2.4 do while 222
5.2.5 무한 루프 226
·5.3 분기문 228
5.3.1 break 228
5.3.2 continue 233
5.3.3 goto 235
CHAPTER 6
함수 255
·6.1 함수의 개념 257
6.1.1 함수의 필요성 257
6.1.2 함수의 종류 259
·6.2 함수의 기본 261
6.2.1 함수의 정의 261
6.2.2 함수의 호출 270
6.2.3 함수의 선언 287
·6.3 지역 변수와 전역 변수 292
6.3.1 지역 변수 293
6.3.2 전역 변수 300
6.3.3 변수의 영역 규칙 303
·6.4 표준 C 라이브러리 함수 306
■■ Summary 311
■■ Exercise 312
■■ Programming Assignment 318
CHAPTER 7
배열 325
·7.1 배열의 기본 327
7.1.1 배열의 개념 327
7.1.2 배열의 선언 329
7.1.3 배열의 초기화 334
7.1.4 배열의 사용 338
·7.2 배열의 활용 345
7.2.1 배열의 탐색과 정렬 345
7.2.2 다차원 배열 352
7.2.3 함수의 인자로 배열 전달하기 359
■■ Summary 364
■■ Exercise 365
■■ Programming Assignment 370
CHAPTER 8
8 포인터 377
·8.1 포인터의 기본 379
8.1.1 포인터의 개념 379
8.1.2 포인터의 선언 및 초기화 380
8.1.3 포인터의 사용 387
8.1.4 포인터의 용도 389
8.1.5 포인터 사용 시 주의 사항 393
8.1.6 const 포인터 396
·8.2 포인터의 활용 399
8.2.1 배열과 포인터의 관계 399
8.2.2 여러 가지 포인터의 선언 412
·8.3 함수와 포인터 417
8.3.1 함수의 인자 전달 방법 417
8.3.2 값에 의한 전달 417
8.3.3 포인터에 의한 전달 419
8.3.4 배열의 전달 424
■■ Summary 428
■■ Exercise 429
■■ Programming Assignment 434
CHAPTER 9
문자열 441
·9.1 문자 배열 443
9.1.1 문자와 문자열 443
9.1.2 문자 배열의 선언 및 초기화 444
9.1.3 문자 배열의 사용 446
·9.2 표준 C의 문자열 처리 함수 448
9.2.1 문자열의 길이 구하기 450
9.2.2 문자열의 복사 452
9.2.3 문자열의 비교 456
9.2.4 문자열의 연결 458
9.2.5 문자열의 검색 460
9.2.6 문자열의 토큰 나누기 462
9.2.7 문자열의 입출력 464
·9.3 문자열 포인터 468
9.3.1 char*형의 문자열 포인터 468
9.3.2 const char*형의 문자열 포인터 473
9.3.3 문자열 사용을 위한 가이드라인 476
·9.4 문자열의 배열 480
9.4.1 2차원 문자 배열 480
9.4.2 문자열 포인터 배열 484
■■ Summary 488
■■ Exercise 489
■■ Programming Assignment 494
CHAPTER 10
구조체 501
·10.1 구조체의 기본 503
10.1.1 구조체의 개념 503
10.1.2 구조체의 정의 504
10.1.3 구조체 변수의 선언 및 초기화 508
10.1.4 구조체 변수의 사용 510
10.1.5 구조체 변수 간의 초기화와 대입 513
10.1.6 구조체 변수의 비교 515
10.1.7 typedef 517
·10.2 구조체의 활용 521
10.2.1 구조체 배열 522
10.2.2 구조체 포인터 526
10.2.3 함수의 인자로 구조체 전달하기 532
10.2.4 비트필드 540
10.2.5 구조체의 멤버로 다른 구조체 변수 사용하기 544
·10.3 공용체와 열거체 546
10.3.1 열거체 546
10.3.2 공용체 551
■■ Summary 557
■■ Exercise 558
■■ Programming Assignment 565
CHAPTER 11
변수, 함수의 활용 및 동적 메모리 573
·11.1 변수의 활용 575
11.1.1 변수의 특성 575
11.1.2 auto와 register 577
11.1.3 extern 578
11.1.4 static 583
·11.2 함수의 활용 593
11.2.1 재귀 함수 593
11.2.2 함수 포인터 599
·11.3 동적 메모리 619
11.3.1 동적 메모리의 개념 619
11.3.2 동적 메모리의 필요성 620
11.3.3 동적 메모리의 할당과 해제 622
11.3.4 동적 메모리 사용 시 주의 사항 627
11.3.5 동적 메모리의 활용 631
11.3.6 동적 메모리 관리 함수 635
■■ Summary 636
■■ Exercise 637
■■ Programming Assignment 642
CHAPTER 12
표준 입출력과 파일 입출력 649
·12.1 표준 입출력 651
12.1.1 스트림 기반의 입출력 651
12.1.2 printf 함수 다시 보기 655
12.1.3 scanf 함수 다시 보기 659
12.1.4 형식이 없는 표준 스트림 입출력 함수 667
·12.2 파일 입출력 668
12.2.1 파일 입출력의 개요 669
12.2.2 텍스트 파일 입출력 675
12.2.3 2진 파일 입출력 686
■■ Summary 694
■■ Exercise 695
■■ Programming Assignment 701
CHAPTER 13
전처리기와 분할 컴파일 707
·13.1 전처리기 709
13.1.1 매크로 710
13.1.2 조건부 컴파일 728
·13.2 분할 컴파일 738
13.2.1 #include문 739
13.2.2 소스 파일과 헤더 파일의 구성 741
13.2.3 헤더 파일의 중복 포함 막기 753
13.2.4 헤더 파일과 소스 파일의 구성 756
·13.3 main 함수의 매개변수 757
■■ Summary 761
■■ Exercise 762
■■ Programming Assignment 768
INDEX 773
·1.1 C 언어 소개 003
1.1.1 프로그래밍의 개념 003
1.1.2 C 언어의 특징 007
·1.2 C 프로그램 개발 012
1.2.1 일반적인 C 프로그램 개발 과정 012
1.2.2 Visual Studio를 이용한 C 프로그램 개발 과정 015
1.2.3 Visual Studio를 이용한 C 프로그램 개발 과정 019
■■ Summary 031
■■ Exercise 032
■■ Programming Assignment 035
CHAPTER 2
C 프로그램의 기본 037
·2.1 C 프로그램의 구성 요소 039
2.1.1 주석 039
2.1.2 main 함수 041
2.1.3 출력 047
·2.2 C 언어의 입력과 출력 050
2.2.1 변수 050
2.2.2 printf 함수 052
2.2.3 scanf 함수 058
■■ Summary 064
■■ Exercise 065
■■ Programming Assignment 070
CHAPTER 3
데이터형과 변수 073
·3.1 데이터형 075
3.1.1 데이터형의 기본 개념 075
3.1.2 정수형 079
3.1.3 문자형 088
3.1.4 실수형 092
·3.2 변수와 상수 096
3.2.1 변수 096
3.2.2 상수 105
■■ Summary 118
■■ Exercise 119
■■ Programming Assignment 124
CHAPTER 4
연산자 127
·4.1 연산자의 기본 개념 129
4.1.1 수식 129
4.1.2 연산자와 피연산자 130
·4.2 연산자의 종류 132
4.2.1 산술 연산자 132
4.2.2 증감 연산자 139
4.2.3 대입 연산자 142
4.2.4 관계 연산자 147
4.2.5 논리 연산자 150
4.2.6 비트 연산자 154
4.2.7 그 밖의 연산자 161
·4.3 연산자의 우선순위와 결합 규칙 170
4.3.1 연산자의 우선순위 170
4.3.2 연산자의 결합 규칙 172
■■ Summary 174
■■ Exercise 175
■■ Programming Assignment 179
CHAPTER 5
제어문 185
·5.1 조건문 187
5.1.1 if 188
5.1.2 switch 201
·5.2 반복문 208
5.2.1 반복문의 필요성 208
5.2.2 for 209
5.2.3 while 218
5.2.4 do while 222
5.2.5 무한 루프 226
·5.3 분기문 228
5.3.1 break 228
5.3.2 continue 233
5.3.3 goto 235
CHAPTER 6
함수 255
·6.1 함수의 개념 257
6.1.1 함수의 필요성 257
6.1.2 함수의 종류 259
·6.2 함수의 기본 261
6.2.1 함수의 정의 261
6.2.2 함수의 호출 270
6.2.3 함수의 선언 287
·6.3 지역 변수와 전역 변수 292
6.3.1 지역 변수 293
6.3.2 전역 변수 300
6.3.3 변수의 영역 규칙 303
·6.4 표준 C 라이브러리 함수 306
■■ Summary 311
■■ Exercise 312
■■ Programming Assignment 318
CHAPTER 7
배열 325
·7.1 배열의 기본 327
7.1.1 배열의 개념 327
7.1.2 배열의 선언 329
7.1.3 배열의 초기화 334
7.1.4 배열의 사용 338
·7.2 배열의 활용 345
7.2.1 배열의 탐색과 정렬 345
7.2.2 다차원 배열 352
7.2.3 함수의 인자로 배열 전달하기 359
■■ Summary 364
■■ Exercise 365
■■ Programming Assignment 370
CHAPTER 8
8 포인터 377
·8.1 포인터의 기본 379
8.1.1 포인터의 개념 379
8.1.2 포인터의 선언 및 초기화 380
8.1.3 포인터의 사용 387
8.1.4 포인터의 용도 389
8.1.5 포인터 사용 시 주의 사항 393
8.1.6 const 포인터 396
·8.2 포인터의 활용 399
8.2.1 배열과 포인터의 관계 399
8.2.2 여러 가지 포인터의 선언 412
·8.3 함수와 포인터 417
8.3.1 함수의 인자 전달 방법 417
8.3.2 값에 의한 전달 417
8.3.3 포인터에 의한 전달 419
8.3.4 배열의 전달 424
■■ Summary 428
■■ Exercise 429
■■ Programming Assignment 434
CHAPTER 9
문자열 441
·9.1 문자 배열 443
9.1.1 문자와 문자열 443
9.1.2 문자 배열의 선언 및 초기화 444
9.1.3 문자 배열의 사용 446
·9.2 표준 C의 문자열 처리 함수 448
9.2.1 문자열의 길이 구하기 450
9.2.2 문자열의 복사 452
9.2.3 문자열의 비교 456
9.2.4 문자열의 연결 458
9.2.5 문자열의 검색 460
9.2.6 문자열의 토큰 나누기 462
9.2.7 문자열의 입출력 464
·9.3 문자열 포인터 468
9.3.1 char*형의 문자열 포인터 468
9.3.2 const char*형의 문자열 포인터 473
9.3.3 문자열 사용을 위한 가이드라인 476
·9.4 문자열의 배열 480
9.4.1 2차원 문자 배열 480
9.4.2 문자열 포인터 배열 484
■■ Summary 488
■■ Exercise 489
■■ Programming Assignment 494
CHAPTER 10
구조체 501
·10.1 구조체의 기본 503
10.1.1 구조체의 개념 503
10.1.2 구조체의 정의 504
10.1.3 구조체 변수의 선언 및 초기화 508
10.1.4 구조체 변수의 사용 510
10.1.5 구조체 변수 간의 초기화와 대입 513
10.1.6 구조체 변수의 비교 515
10.1.7 typedef 517
·10.2 구조체의 활용 521
10.2.1 구조체 배열 522
10.2.2 구조체 포인터 526
10.2.3 함수의 인자로 구조체 전달하기 532
10.2.4 비트필드 540
10.2.5 구조체의 멤버로 다른 구조체 변수 사용하기 544
·10.3 공용체와 열거체 546
10.3.1 열거체 546
10.3.2 공용체 551
■■ Summary 557
■■ Exercise 558
■■ Programming Assignment 565
CHAPTER 11
변수, 함수의 활용 및 동적 메모리 573
·11.1 변수의 활용 575
11.1.1 변수의 특성 575
11.1.2 auto와 register 577
11.1.3 extern 578
11.1.4 static 583
·11.2 함수의 활용 593
11.2.1 재귀 함수 593
11.2.2 함수 포인터 599
·11.3 동적 메모리 619
11.3.1 동적 메모리의 개념 619
11.3.2 동적 메모리의 필요성 620
11.3.3 동적 메모리의 할당과 해제 622
11.3.4 동적 메모리 사용 시 주의 사항 627
11.3.5 동적 메모리의 활용 631
11.3.6 동적 메모리 관리 함수 635
■■ Summary 636
■■ Exercise 637
■■ Programming Assignment 642
CHAPTER 12
표준 입출력과 파일 입출력 649
·12.1 표준 입출력 651
12.1.1 스트림 기반의 입출력 651
12.1.2 printf 함수 다시 보기 655
12.1.3 scanf 함수 다시 보기 659
12.1.4 형식이 없는 표준 스트림 입출력 함수 667
·12.2 파일 입출력 668
12.2.1 파일 입출력의 개요 669
12.2.2 텍스트 파일 입출력 675
12.2.3 2진 파일 입출력 686
■■ Summary 694
■■ Exercise 695
■■ Programming Assignment 701
CHAPTER 13
전처리기와 분할 컴파일 707
·13.1 전처리기 709
13.1.1 매크로 710
13.1.2 조건부 컴파일 728
·13.2 분할 컴파일 738
13.2.1 #include문 739
13.2.2 소스 파일과 헤더 파일의 구성 741
13.2.3 헤더 파일의 중복 포함 막기 753
13.2.4 헤더 파일과 소스 파일의 구성 756
·13.3 main 함수의 매개변수 757
■■ Summary 761
■■ Exercise 762
■■ Programming Assignment 768
INDEX 773
저자
저자
천정아
이화여대 이학석사
전) LG전자기술원 주임연구원
전) LG정보통신 선임연구원
전) 삼성SDS 멀티캠퍼스 전임교수
전) ㈜베스트인프라 수석컨설턴트
전) LG전자기술원 주임연구원
전) LG정보통신 선임연구원
전) 삼성SDS 멀티캠퍼스 전임교수
전) ㈜베스트인프라 수석컨설턴트
Payment & Security
Payment methods
Your payment information is processed securely. We do not store credit card details nor have access to your credit card information.
$99 이상 무료 배송
3% 리워드 크레딧 적립
Secure Payment

