제1장 C 언어의 시작 1.1 C 언어란 ... 2 1 2 기본 형태 ... 5 1.3 기본 입출력 함수 ... 9 1.5 지정어와 식별어 ... 15 1.6 연산자 ... 17 1.7 주석 ... 18 1.8 상수 및 문자열 ... 19 예제 프로그램 ... 22 연습문제 ... 25 제2장 자료형 2.1 상수와 변수 ... 30 2.2 변수 선언 ... 31 2.3 수식과 대입 ... 32 2.4 자료형의 종류 ... 35 2.4.1 정수형 ... 36 2.4.2 부동 소수점형 ... 37 2.4.3 문자형 ... 39 2.4.4 열거형 ... 43 2.5 sizeof 연산 ... 45 2.6 자료형 변환 및 연산 ... 47 예제 프로그램 ... 49 연습문제 ... 52 제3장 연산자 3.1 연산자의 종류 및 기능 ... 56 3.1.1 산술 연산자 ... 56 3.1.2 관계 연산자 ... 58 3.1.3 동등 연산자 ... 59 3.1.4 논리 연산자 ... 60 3.1.5 조건 연산자 ... 62 3.1.6 비트 연산자 ... 64 3.1.7 대입 연산자 ... 66 3.1.8 증감 연산자 ... 69 3.1.9 기타 연산자 ... 70 3.2 연산자의 우선순위 및 결합성 ... 72 예제 프로그램 ... 73 연습문제 ... 76 제4장 제어문 4.1 문장 ... 80 4.2 반복문 ... 81 4.2.1 while 문 ... 82 4.2.2 for 문 ... 86 4.2.3 do-while 문 ... 89 4.3 조건문 ... 90 4.3.1 if 및 if-else문 ... 90 4.3.2 switch-case문 ... 95 4.4 기타 제어문 ... 99 4.4.1 break 문 ... 99 4.4.2 continue문 ... 100 4.4.3 goto문 ... 101 4.4.4 exit문 ... 104 예제 프로그램 ... 106 연습문제 ... 109 제5장 함수와 자료선언 5.1 함수의 정의 및 사용 ... 112 5.1.1 함수의 정의 ... 113 5.1.2 함수의 선언 및 호출 ... 116 5.1.3 복귀문 ... 118 5.1.4 매개변수의 전달 Call by value ... 119 5.2 변수의 영역 규칙 ... 120 5.3 순환 함수 ... 123 5.4 기억 클래스 ... 125 5.4.1 자동 변수 ... 125 5.4.2 정적 변수 ... 127 5.4.3 외부 변수 ... 129 5.4.4 레지스터 변수 ... 131 예제 프로그램 ... 133 연습문제 ... 137 제6장 배열 6.1 1차원 배열 ... 142 6.2 다차원 배열 ... 146 6.3 배열의 초기화 ... 148 예제 프로그램 ... 153 연습문제 ... 157 제7장 포인터 7.1 포인터의 소개 ... 160 7.2 배열과 포인터의 관계 ... 164 7.3 포인터 배열 ... 170 7.4 포인터와 함수의 매개 변수 ... 173 7.5 매개 변수로서 배열 ... 175 7.6 매개변수로서의 함수 ... 180 7.7 주함수 main()의 매개 변수 ... 183 예제 프로그램 ... 186 연습문제 ... 191 제8장 문자열 8.1 문자열의 소개 ... 196 8.2 문자열의 입출력 ... 199 8.3 에스케이프 문자 ... 202 8.4 문자열 배열 ... 205 8.5 변환 및 연산 ... 208 8.6 문자열 관련 표준 함수 ... 210 예제 프로그램 ... 215 연습문제 ... 217 제9장 표준 함수 9.1 표준 함수 사용을 위한 준비 ... 220 9.2 표준 파일 입출력 함수 ... 221 9.2.1 getchar() 및 putchar() ... 222 9.2.2 gets() 및 puts() ... 225 9.2.3 scanf() ... 228 9.2.4 printf() ... 235 9.3 사용자(고수준) 파일 입출력 함수 ... 240 9.3.1 파일 개방 및 닫기 ... 241 9.3.2 문자 입출력 함수 ... 243 9.3.3 문자열 입출력 함수 ... 246 9.3.4 지정된 형태에 의한 자료의 입출력 함수 ... 248 9.3.5 정해진 크기의 자료 입출력 함수 ... 248 9.3.6 입출력 위치 관련 함수 ... 250 9.4 문자열 및 문자 조작 함수 ... 253 9.4.1 문자열 조작 함수 ... 253 9.4.2 문자 조작 함수 ... 255 9.5 기억 장치 관리 함수 ... 257 9.6 산술 함수 ... 258 9.7 기타 표준 함수 ... 259 예제 프로그램 ... 260 연습문제 ... 265 제10장 구조형, 공용형 및 형 정의 10.1 구조형 struct ... 272 10.1.1 선언과 참조 ... 272 10.1.2 구조형의 초기화 ... 277 10.1.3 포인터와 구조형 ... 278 10.1.4 함수와 구조형 ... 284 10.2 공용형 union ... 285 10.3 비트 필드 ... 288 10.4 형 정의 typedef ... 291 예제 프로그램 ... 293 연습문제 ... 295 제11장 선행처리기 11.1 선행처리기의 소개 ... 300 11.2 define ... 300 11.3 undef ... 304 11.4 include의 사용 ... 305 11.5 기타 ... 306 예제 프로그램 ... 308 연습문제 ... 310 제12장 응용 프로그램 12.1 작지만 유용한 프로그램 ... 312 12.1.1 정수를 이진수로 변환 ... 312 12.1.2 정수를 이용한 계산 ... 313 12.1.3 실수 구간의 합 계산 ... 314 12.1.4 입력 정수 분포 구하기 ... 315 12.1.5 입력 정수 문자열의 정수 변환 ... 317 12.1.6 메직 스퀘어 계산 ... 319 12.2 간단만 성적처리 프로그램 ... 321 12.2.1 학급 성적 관리 ... 321 12.2.2 사용자 파일로부터 입력 성적 처리 ... 324 12.3 연결 리스트 이용 ... 327 12.3.1 오름차순의 연결 리스트 생성과 삽입 ... 327 12.3.2 다항식 계산 ... 331 12.4 간단한 수치해석 문제 ... 336 12.4.1 수치 적분 ... 336 12.4.2 방정식의 근 계산 ... 342 12.5 간단한 학사 관리 프로그램 ... 349 12.5.1 정렬 ... 350 12.5.2 검색 ... 352 12.5.3 전체 프로그램 작성 ... 353 부록 부록 A. ASCII 코드 부록 B. UNIX 명령어 부록 C. 부호를 가진 4-비트 2진수의 표현 찾아보기