책 이미지
책 정보
· 분류 : 국내도서 > 컴퓨터/모바일 > 프로그래밍 언어 > C
· ISBN : 9791192187907
· 쪽수 : 541쪽
· 출판일 : 2023-01-10
책 소개
목차
CHAPTER 1 프로그래밍과 C 언어 001
1.1 C 언어 소개 002
1.1.1 프로그래밍 개요 002
1.1.2 C 언어의 특징 005
1.2 C 프로그램 개발 010
1.2.1 일반적인 C 프로그램 개발 010
1.2.2 Visual Studio를 이용한 C 프로그램 개발 013
1.2.3 Visual Studio 사용법 019
■ 연습문제 026
■ 프로그래밍 과제 028
CHAPTER 2 C 프로그램의 기본 031
2.1 첫 번째 C 프로그램 032
2.1.1 주석 032
2.1.2 main 함수 035
2.1.3 출력 039
2.2 C의 입력과 출력 042
2.2.1 변수 042
2.2.2 printf 함수 044
2.2.3 scanf 함수 049
■ 연습문제 054
■ 프로그래밍 과제 056
CHAPTER 3 데이터형과 변수 059
3.1 데이터형 060
3.1.1 데이터형의 개념 060
3.1.2 정수형 064
3.1.3 문자형 071
3.1.4 실수형 075
3.2 변수와 상수 078
3.2.1 변수 079
3.2.2 상수 085
■ 연습문제 095
■ 프로그래밍 과제 097
CHAPTER 4 연산자 099
4.1 연산자의 기본 개념 100
4.1.1 수식 100
4.1.2 연산자와 피연산자 100
4.2 연산자의 종류 102
4.2.1 산술 연산자 102
4.2.2 증감 연산자 105
4.2.3 대입 연산자 107
4.2.4 관계 연산자 111
4.2.5 논리 연산자 114
4.2.6 비트 연산자 117
4.2.7 조건 연산자 123
4.2.8 형 변환 연산자 125
4.3 연산자의 우선순위와 결합 규칙 128
4.3.1 연산자의 우선순위 128
4.3.2 연산자의 결합 규칙 130
■ 연습문제 132
■ 프로그래밍 과제 135
CHAPTER 5 제어문 139
5.1 조건문 140
5.1.1 if 140
5.1.2 switch 148
5.2 반복문 153
5.2.1 for 154
5.2.2 while 162
5.2.3 do while 166
5.3 분기문 168
5.3.1 break 168
5.3.2 continue 172
5.3.3 goto 174
5.3.4 return 176
■ 연습문제 177
■ 프로그래밍 과제 182
CHAPTER 6 함수 187
6.1 함수의 개념 188
6.1.1 함수의 필요성 188
6.1.2 함수의 종류 189
6.1.3 함수의 요건 190
6.2 함수의 기본 191
6.2.1 함수의 정의 191
6.2.2 함수의 호출 197
6.2.3 함수의 선언 209
6.3 지역 변수와 전역 변수 214
6.3.1 지역 변수 215
6.3.2 전역 변수 219
6.3.3 변수의 영역 규칙 222
■ 연습문제 224
■ 프로그래밍 과제 228
CHAPTER 7 배열 233
7.1 배열의 기본 234
7.1.1 배열의 개념 234
7.1.2 배열의 선언 235
7.1.3 배열의 초기화 239
7.1.4 배열의 사용 242
7.2 다차원 배열 249
7.2.1 다차원 배열의 개념 249
7.3 배열의 활용 255
7.3.1 함수의 인자로 배열 전달하기 255
7.3.2 배열의 탐색과 정렬 259
■ 연습문제 265
■ 프로그래밍 과제 269
CHAPTER 8 포인터 273
8.1 포인터의 기본 274
8.1.1 포인터의 개념 274
8.1.2 포인터의 선언 및 초기화 275
8.1.3 포인터의 사용 280
8.1.4 포인터의 용도 283
8.1.5 포인터 사용 시 주의 사항 286
8.1.6 const 포인터 287
8.2 포인터의 활용 291
8.2.1 배열과 포인터의 관계 291
8.3 함수와 포인터 301
8.3.1 함수의 인자 전달 방법 301
8.3.2 값에 의한 호출 301
8.3.3 참조에 의한 호출 302
8.3.4 배열의 전달 306
■ 연습문제 311
■ 프로그래밍 과제 315
CHAPTER 9 문자열 319
9.1 문자 배열 320
9.1.1 문자와 문자열 320
9.1.2 문자 배열의 선언 및 초기화 321
9.1.3 문자 배열의 사용 322
9.2 표준 C의 문자열 처리 함수 324
9.2.1 문자열의 길이 구하기 326
9.2.2 문자열의 복사 328
9.2.3 문자열의 비교 331
9.2.4 문자열의 연결 333
9.2.5 문자열의 검색 334
9.2.6 문자열의 토큰 나누기 336
9.2.7 문자열의 입출력 337
9.3 문자열 포인터 341
9.3.1 char*형의 문자열 포인터 341
9.3.2 const char*형의 문자열 포인터 345
9.3.3 문자열 사용을 위한 가이드라인 348
9.4 문자열의 배열 350
9.4.1 2차원 문자 배열 350
9.4.2 문자열 포인터 배열 353
■ 연습문제 356
■ 프로그래밍 과제 359
CHAPTER 10 구조체 363
10.1 구조체의 기본 364
10.1.1 구조체의 개념 364
10.1.2 구조체의 정의 364
10.1.3 구조체 변수의 선언 및 초기화 367
10.1.4 구조체 변수의 사용 369
10.1.5 구조체 변수 간의 초기화와 대입 371
10.1.6 구조체 변수의 비교 373
10.2 구조체의 활용 375
10.2.1 구조체 배열 375
10.2.2 구조체 포인터 379
10.2.3 함수의 인자로 구조체 전달하기 381
10.2.4 구조체의 멤버로 다른 구조체 사용하기 388
10.3 열거체와 공용체 391
10.3.1 열거체 391
10.3.2 공용체 395
10.3.3 typedef 398
■ 연습문제 401
■ 프로그래밍 과제 404
CHAPTER 11 입출력 409
11.1 표준 입출력 410
11.1.1 스트림 기반의 입출력 410
11.1.2 printf 함수 다시 보기 413
11.1.3 scanf 함수 다시 보기 417
11.1.4 형식이 없는 표준 스트림 입출력 함수 422
11.2 파일 입출력 423
11.2.1 파일 입출력의 개요 424
11.2.2 텍스트 파일 입출력 430
11.2.3 2진 파일 입출력 438
■ 연습문제 442
■ 프로그래밍 과제 445
CHAPTER 12 전처리기와 분할 컴파일 449
12.1 전처리기 450
12.1.1 매크로 451
12.1.2 조건부 컴파일 458
12.2 변수의 기억 부류 466
12.2.1 변수의 특성 466
12.2.2 extern 468
12.2.3 static 470
12.3 분할 컴파일 474
12.3.1 #include 474
12.3.2 헤더 파일의 구성 475
■ 연습문제 482
■ 프로그래밍 과제 486
CHAPTER 13 동적 메모리와 함수 포인터 489
13.1 동적 메모리 490
13.1.1 동적 메모리의 개념 490
13.1.2 동적 메모리의 필요성 491
13.1.3 동적 메모리의 할당과 해제 492
13.1.4 동적 메모리의 사용 시 주의 사항 496
13.1.5 동적 메모리의 활용 499
13.1.6 동적 메모리 관리 함수 506
13.2 함수 포인터 507
13.2.1 함수 포인터의 기본 507
13.2.2 함수 포인터형 511
13.2.3 함수 포인터 배열 512
13.2.4 함수 포인터의 활용 515
■ 연습문제 520
■ 프로그래밍 과제 523
INDEX 527
저자소개
책속에서
C 언어는 다른 언어에 비해 간결한 구문과 프로그램 개발에 꼭 필요한 핵심적인 기능들 을 제공한다. C는 절차적 프로그래밍(Procedural Programming)을 지원하며, 함수나 사용 자 정의형 같은 고수준의 지원 기능(highlevel capability)을 제공한다.
...(중략)
C 언어는 프로그래머들 사이에서 일종의 공용어 역할을 한다. 다양한 알고리즘이나 소 스 코드, 라이브러리가 C로 개발 및 공개되어 있기 때문에, C 언어를 알면 이런 프로그래 밍 정보를 쉽게 활용할 수 있다. 또한 우리가 알고 있는 대부분의 최신 언어(C++, Java, C#, Javascript, Perl 등)는 C로부터 파생되었기 때문에 C 언어를 알면 다른 언어를 배우는 것이 쉬워진다.
다양한 최신 언어가 등장했음에도 불구하고, 성능이 중요하거나 이식성이 필수적인 프로그램을 작성할 때 많은 프로그래머들이 여전히 C/C++을 선택하고 있다.
C/C++이 사용되는 대표적인 개발 분야로 PC나 스마트폰의 운영체제 개발(Windows, LINUX, iOS, Android 등)을 들 수 있다. 운영체제는 컴퓨터 시스템을 구동해야 하므로 성능이 최우선시되고, 다양한 컴퓨터 시스템에서 실행될 수 있어야 하므로 이식성이 필수적 이기 때문이다.
그 밖에도 Python이나 Perl 언어의 컴파일러, MATL AB 같은 고성능 라이브러리, Oracle 이나 MySQL 같은 데이터베이스도 C/C++로 개발되었다. 또한 우리가 일상적으로 사용하는 업무용 프로그램(MS Office)이나 웹 브라우저(Internet Explorer, Chrome)나 게임·게 임 엔진 같은 고성능 애플리케이션 개발에도 C/C++이 주로 사용되고 있다.



















