상세정보
예제 205편과 다양한 연습 문제, 그림 220점, 유튜브 강의까지!
<<뼈 때리는 C>>는 C 언어 입문자를 대상으로 한다. C 언어의 다양한 문법과 기법을 입문자가 한 권의 책에서 모두 익히기란 사실상 불가능에 가깝다. C가 익숙해지도록 너무 쉽지도 어렵지도 않게끔 했음에도 너무 쉽다는 독자와 어렵다는 독자가 있을 것이다. 그렇기에 설명은 줄이고 실습 위주의 연습과 그림으로 학습할 수 있도록 했다. 문제를 해결할 때 설명서를 보고 따라하는 것이 아니라 직접 생각하고 고민해봐야만 효과를 극대화할 수 있다. 비슷하지만, 조금씩 다른 유형의 반복적인 문제를 풀어 봄으로서 습관이 밸 수 있도록 한다. 공부가 아니라 문제 해결 방법을 배우는 것이므로 손에 익어 자연스레 코딩할 수 있도록 말이다.
- 출판사 리뷰 -
‘왜’ 쓰이는지 ‘어떻게’ 쓰는지 ‘직접 써봐야’ 알 수 있다!
C 언어 '참교육'하다.
프로그래밍을 시작할 때, 처음 시작함에도 불구하고 모든 원리와 이론을 알아야지만 다음 단계로 갈 수 있다고 사람들은 생각합니다. 시작은 쉬워서 금방 익히고 넘어갈 수 있지만, 점점 어려워져 중도에 포기하는 경우가 많다. 특히 C가 더 그러하다. 복잡하고 어려운 개념을 굳이 설명 글로 이해하고 나서 예제를 보고 연습 문제를 풀어보는 것보단 설명은 짧게 실습과 연습 문제는 그때그때 직접 해보고 다음으로 넘어가는 것이 기억하기에도 익히기에도 가장 좋은 방법일 것이다. "지금 배우는 기능을 쓰면 앞에서 봤던 것보다 더 나은 프로그램을 만들 수 있겠다."라고 생각할 수 있을 때, 바로 연습 문제를 풀어보는 것이 좋다. 왜 쓰이는지 어떻게 쓰이는지 직접 써봐야 알 수 있는 것처럼 말이다. <<뼈 때리는 C>>는 입문서로써 이와 같은 이유로 직접 풀어가며 자연스레 익힐 수 있는 핵심만을 전달할 수 있도록 노력했다.
문제 해결과 논리적 사고 학습을 위한 C, 코드 한 줄 쓰려면 머리가 캄캄해진다?
더욱 효율적인 문제 해결을 위해 프로그래밍을 합니다. 문법 학습도 중요하지만, 당장 문법과 함수를 안다고 바로 코딩할 수 있는 것도 아닙니다. 문법이나 함수의 사용법을 이해하는 데 필요한 완성된 예제 205편과 그림 220점, 상황에 맞는 연습 문제로 영어 회화와 같이 살아있는 프로그램을 공부하기 위해 핵심 내용을 중심으로 설명을 간결하게 했습니다. 기초를 익히는 것은 물론 응용하는 데 필요한 사고력을 키우고자 합니다. 어려운 문법과 개념을 습관처럼 손에 익히는 것이 목표입니다.
또한 워크북 형태로써 자기 주도 학습의 교재나 대학, 학원에서의 강의 교재로써도 적합합니다.
이 책의 특징
더하지도 덜하지도 않게 C 프로그래밍은 딱 여기까지만
- 현기증 나지 않게 핵심만 다룬 간결한 설명
- 적절한 예제와 바로 보는 실습 결과, 어려운 이론은 그림으로 더욱더 쉽게!
- 중간중간 직접 생각하고 풀어야 하는 다양한 형식의 ‘연습 문제’
- 본문 곳곳에 지루할 틈 없는 보충과 핵심 등의 다양한 구성 요소
<<뼈 때리는 C>>는 C 언어 입문자를 대상으로 한다. C 언어의 다양한 문법과 기법을 입문자가 한 권의 책에서 모두 익히기란 사실상 불가능에 가깝다. C가 익숙해지도록 너무 쉽지도 어렵지도 않게끔 했음에도 너무 쉽다는 독자와 어렵다는 독자가 있을 것이다. 그렇기에 설명은 줄이고 실습 위주의 연습과 그림으로 학습할 수 있도록 했다. 문제를 해결할 때 설명서를 보고 따라하는 것이 아니라 직접 생각하고 고민해봐야만 효과를 극대화할 수 있다. 비슷하지만, 조금씩 다른 유형의 반복적인 문제를 풀어 봄으로서 습관이 밸 수 있도록 한다. 공부가 아니라 문제 해결 방법을 배우는 것이므로 손에 익어 자연스레 코딩할 수 있도록 말이다.
- 출판사 리뷰 -
‘왜’ 쓰이는지 ‘어떻게’ 쓰는지 ‘직접 써봐야’ 알 수 있다!
C 언어 '참교육'하다.
프로그래밍을 시작할 때, 처음 시작함에도 불구하고 모든 원리와 이론을 알아야지만 다음 단계로 갈 수 있다고 사람들은 생각합니다. 시작은 쉬워서 금방 익히고 넘어갈 수 있지만, 점점 어려워져 중도에 포기하는 경우가 많다. 특히 C가 더 그러하다. 복잡하고 어려운 개념을 굳이 설명 글로 이해하고 나서 예제를 보고 연습 문제를 풀어보는 것보단 설명은 짧게 실습과 연습 문제는 그때그때 직접 해보고 다음으로 넘어가는 것이 기억하기에도 익히기에도 가장 좋은 방법일 것이다. "지금 배우는 기능을 쓰면 앞에서 봤던 것보다 더 나은 프로그램을 만들 수 있겠다."라고 생각할 수 있을 때, 바로 연습 문제를 풀어보는 것이 좋다. 왜 쓰이는지 어떻게 쓰이는지 직접 써봐야 알 수 있는 것처럼 말이다. <<뼈 때리는 C>>는 입문서로써 이와 같은 이유로 직접 풀어가며 자연스레 익힐 수 있는 핵심만을 전달할 수 있도록 노력했다.
문제 해결과 논리적 사고 학습을 위한 C, 코드 한 줄 쓰려면 머리가 캄캄해진다?
더욱 효율적인 문제 해결을 위해 프로그래밍을 합니다. 문법 학습도 중요하지만, 당장 문법과 함수를 안다고 바로 코딩할 수 있는 것도 아닙니다. 문법이나 함수의 사용법을 이해하는 데 필요한 완성된 예제 205편과 그림 220점, 상황에 맞는 연습 문제로 영어 회화와 같이 살아있는 프로그램을 공부하기 위해 핵심 내용을 중심으로 설명을 간결하게 했습니다. 기초를 익히는 것은 물론 응용하는 데 필요한 사고력을 키우고자 합니다. 어려운 문법과 개념을 습관처럼 손에 익히는 것이 목표입니다.
또한 워크북 형태로써 자기 주도 학습의 교재나 대학, 학원에서의 강의 교재로써도 적합합니다.
이 책의 특징
더하지도 덜하지도 않게 C 프로그래밍은 딱 여기까지만
- 현기증 나지 않게 핵심만 다룬 간결한 설명
- 적절한 예제와 바로 보는 실습 결과, 어려운 이론은 그림으로 더욱더 쉽게!
- 중간중간 직접 생각하고 풀어야 하는 다양한 형식의 ‘연습 문제’
- 본문 곳곳에 지루할 틈 없는 보충과 핵심 등의 다양한 구성 요소
1장 우선 익숙해지자
_1-1 우선 출력해 보자
__1) 정수의 덧셈 결과를 출력
__2) 프로그램과 컴파일
__3) 주석
__4) 마법의 주문
__5) printf 함수 : 형식에 맞추어 출력하는 함수
__6) 문장
__7) 정수의 뺄셈 결과를 출력
__8) 형식 문자열과 변환 지정
__9) 기호 문자 읽는 법
__10) 형식 없이 출력하기
__11) 문자열 리터럴
__12) 확장 표기
_1-2 변수
__1) 변수와 선언
__2) 대입
__3) 초기화
_1-3 입력과 출력
__1) 키보드로 입력받기
__2) scanf 함수 : 값을 읽어 들이는 함수
__3) 곱셈하기
__4) puts 함수 : 출력하는 함수
_정리
2장 연산과 자료형
_2-1 연산
__1) 연산자와 피연산자
__2) 승제 연산자와 가감 연산자
__3) printf 함수에서 % 문자 출력하기
__4) 일의 자리 숫자 구하기
__5) 여러 개의 변환 지정
__6) 단항 산술 연산자
__7) 대입 연산자
__8) 식과 대입식
__9) 구문
_2-2 자료형
__1) 평균값 구하기
__2) 자료형
__3) 자료형과 객체
__4) 정수 상수와 부동 소수점 상수
__5) double형의 연산
__6) 자료형과 연산
__7) 형 변환
__8) 변환 지정
_정리
3장 프로그램의 흐름 분기
_3-1 if문
__1) if문(1)
__2) 홀수 판정하기
__3) if문(2)
__4) 짝수와 홀수 판정하기
__5) 0인지 판정하기
__6) if문의 구문 도표
__7) 등가 연산자
__8) 나머지 판정
__9) 관계 연산자
__10) if문 중첩하기
__11) 평가
__12) 더 큰 값 찾기
__13) 세 가지 값 중에서 최댓값 찾기
__14) 조건 연산자
__15) 차 구하기
__16) 복합문(블록)
__17) 논리 연산자
_3-2 switch문
__1) switch문과 break문
__2) 복잡한 switch문
__3) switch문과 if
__4) 조건문
_정리
4장 프로그램의 흐름 반복
_4-1 do-while문
__1) do-while문
__2) 복합문 안에서 선언하기
__3) 일정한 조건을 만족하는 값만 읽어 들이기
__4) 논리 부정 연산자와 드모르간의 법칙
__5) 여러 정숫값의 총합과 평균 구하기
__6) 복합 대입 연산자
__7) 전치 증가 연산자와 후치 증가 연산자
_4-2 while문
__1) while문
__2) 감소 연산자로 간결하게 표현하기
__3) 카운트업
__4) 일정 횟수만 반복하기
__5) 문자 상수와 putchar 함수
__6) do-while문과 while문
__7) 전치 증가 연산자와 전치 감소 연산자
__8) do-while문의 표기
__9) 정숫값을 역순으로 출력
_4-3 for문
__1) for문
__2) for문으로 일정 횟수만 반복하기
__3) 짝수 열거하기
__4) 약수 열거하기
__5) 구문과 빈 문장
__6) 반복문
_4-4 다중 루프1) 이중 루프
__2) 도형 그리기
__3) 다중 루프
__
_4-5 프로그램의 요소와 서식
__1) 예약어
__2) 연산자
__3) 식별자
__4) 구분자
__5) 상수와 문자열 리터럴
__6) 자유 형식
__7) 인접한 문자열 리터럴 연결
__8) 들여쓰기
_정리
5장 배열
_5-1 배열
__1) 배열
__2) 배열 순회하기
__3) 배열 초기화하기
__4) 배열 복사하기
__5) 배열 요소로 값을 읽어 들이기
__6) 배열의 모든 요소를 역순으로 재배치하기
__7) 배열로 점수 계산하기
__8) 오브젝트 매크로
__9) 배열 요소의 최댓값과 최솟값
__10) 배열의 길이
_5-2 다차원 배열
__1) 다차원 배열
_정리
6장 함수
_6-1 함수란
__1) main 함수와 라이브러리 함수
__2) 함수란
__3) 함수 정의
__4) 함수 호출
__5) 세 값 중 최댓값 구하기
__6) 함수의 반환값을 인자로서 다른 함수에 넘기기
__7) 우리가 만든 함수를 부르는 함수
__8) 값 넘기기
_6-2 함수 설계
__1) 값을 반환하지 않는 함수
__2) 함수의 범용성
__3) 인자를 받지 않는 함수
__4) 함수의 반환값으로 초기화
__5) 유효범위
__6) 파일 유효범위
__7) 선언과 정의
__8) 함수 원형 선언
__9) 헤더와 인클루드
__10) 함수의 범용성
__11) 함수의 범용성
__12) 배열 넘겨받기와 형 한정자 const
__13) 선형 검색(순차 검색)
__14) 다차원 배열 넘기기
_6-3 유효범위와 기억수명
_1) 유효범위와 식별자의 가시성
__2) 기억수명
_정리
7장 기본형
_7-1 기본형과 수
__1) 산술형과 기본형
__2) 기수법
__3) 기수 변환
_7-2 정수형과 문자형
__1) 정수형과 문자형
__2) 헤더
__3) 문자형
__4) 비트와 CHAR_BIT
__5) sizeof 연산자
__6) size_t형과 typedef 선언
__7) 정수형 가려 쓰기
__8) 정수형의 내부 표현
__9) 부호 없는 정수의 내부 표현
__10) 부호 있는 정수의 내부 표현
__11) 비트 단위 논리 연산
__12) 시프트 연산
__13) 정수 상수
__14) 정수 상수의 자료형
__15) 정수 출력하기
__16) 오버플로와 예외
_7-3 부동소수점형
__1) 부동소수점형
__2) 부동소수점 상수
__3) 헤더
__4) 반복 제어
_7-4 연산과 연산자
__1) 연산자의 우선순위와 결합성
__2) 형 변환의 규칙
_정리
8장 다양한 프로그램을 만들어 보자
_8-1 함수 매크로
__1) 함수와 자료형
__2) 함수 매크로
__3) 함수와 함수 매크로
__4) 인자가 없는 함수 매크로
__5) 함수 매크로와 콤마 연산자
_8-2 정렬
__1) 버블 정렬
_8-3 열거체
__1) 열거체
__2) 열거 상수
__3) 이름공간
_8-4 재귀 함수
__1) 함수와 자료형
__2) 계승
_8-5 입출력과 문자
__1) getchar 함수와 EOF
__2) 입력에서 출력으로 복사하기
__3) 숫자의 개수 세기
__4) 문자
__5) 확장 표기
_정리
9장 문자열 기초
_9-1 문자열이란
__1) 문자열 리터럴
__1) 문자열 리터럴의 크기
__2) 문자열
__3) 문자 배열의 초기화
__4) 빈 문자열
__5) 문자열 읽어 들이기
__6) 문자열을 형식화하여 출력하기
_9-2 문자열 배열
__1) 문자열 배열
__2) 문자열 배열로 문자열 읽어 들이기
_9-3 문자열 다루기
__1) 문자열의 길이
__2) 문자열 출력
__3) 숫자가 나타난 횟수
__4) 대문자·소문자로 변환하기
__5) 문자열 배열 넘기기
_정리
10장 포인터
_10-1 포인터
__1) 함수의 인자
__2) 오브젝트와 주소
__3) 주소 연산자
__4) 포인터
__5) 간접 참조 연산자
_10-2 포인터와 함수
__1) 함수 인자로 쓰이는 포인터
__2) 합과 차를 구하는 함수
__3) 두 오브젝트의 값을 교환하기
__4) 두 값을 정렬하기
__5) scanf 함수와 포인터
__6) 포인터의 자료형
__7) 널 포인터
__8) 스칼라형
_10-3 포인터와 배열
__1) 포인터와 배열
__2) 간접 참조 연산자와 인덱스 연산자
__3) 배열과 포인터의 차이
__4) 배열 넘기기
_정리
11장 문자열과 포인터
_11-1 문자열과 포인터
__1) 배열에 의한 문자열과 포인터에 의한 문자열
__2) 배열에 의한 문자열과 포인터에 의한 문자열의 차이
__3) 문자열 배열
_11-2 포인터에 의한 문자열 조작
__1) 문자열 길이 구하기
__2) 문자열 복사하기
__3) 문자열을 잘못 복사한 사례
__4) 포인터를 반환하는 함수
_11-3 문자열을 다루는 라이브러리 함수
__1) strlen 함수 : 문자열의 길이를 구한다
__2) strcpy 함수, strncpy 함수 : 문자열을 복사한다
__3) strcat 함수, strncat 함수 : 문자열을 연결한다
__4) strcmp 함수, strncmp 함수 : 문자열의 대소 관계를 구한다
__5) atoi 함수, atol 함수, atof 함수 : 문자열을 숫자로 변환한다
_정리
12장 구조체
_12-1 구조체
__1) 데이터의 관련성
__2) 구조체
__3) 구조체 멤버와 . 연산자
__4) 멤버 초기화
__5) 구조체 멤버와 -> 연산자
__6) 구조체와 typedef
__7) 구조체와 프로그램
__8) 집합체형
__9) 구조체의 값을 반환하는 함수
__10) 이름공간
__11) 구조체 배열
__12) 파생형
_12-2 구조체를 멤버로 지니는 구조체
__1) 좌표를 나타내는 구조체
__2) 구조체 멤버를 지니는 구조체
13장 파일 처리
_13-1 구조체
__1) 파일과 스트림
__2)표준 스트림
__3) FIILE형
__4) 파일 열기
__5) 파일 닫기
__6) 파일을 열고 닫는 예시
__7) 파일 데이터 집계
__8) 날짜와 시각 쓰기
__9) 이전에 실행한 정보 취득하기
__10) 파일 내용 출력하기
__11) 파일 복사하기
_13-2 텍스트와 바이너리
__1) 텍스트 파일에 실숫값 저장하기
__2) 텍스트 파일과 바이너리 파일
__3) 바이너리 파일에 실숫값 저장하기
__4) 파일 덤프
_13-3 printf 함수와 scanf 함수
__1) printf 함수 : 형식화하여 출력하기
__2) scanf 함수 : 형식에 맞춰 입력받기
_정리
_1-1 우선 출력해 보자
__1) 정수의 덧셈 결과를 출력
__2) 프로그램과 컴파일
__3) 주석
__4) 마법의 주문
__5) printf 함수 : 형식에 맞추어 출력하는 함수
__6) 문장
__7) 정수의 뺄셈 결과를 출력
__8) 형식 문자열과 변환 지정
__9) 기호 문자 읽는 법
__10) 형식 없이 출력하기
__11) 문자열 리터럴
__12) 확장 표기
_1-2 변수
__1) 변수와 선언
__2) 대입
__3) 초기화
_1-3 입력과 출력
__1) 키보드로 입력받기
__2) scanf 함수 : 값을 읽어 들이는 함수
__3) 곱셈하기
__4) puts 함수 : 출력하는 함수
_정리
2장 연산과 자료형
_2-1 연산
__1) 연산자와 피연산자
__2) 승제 연산자와 가감 연산자
__3) printf 함수에서 % 문자 출력하기
__4) 일의 자리 숫자 구하기
__5) 여러 개의 변환 지정
__6) 단항 산술 연산자
__7) 대입 연산자
__8) 식과 대입식
__9) 구문
_2-2 자료형
__1) 평균값 구하기
__2) 자료형
__3) 자료형과 객체
__4) 정수 상수와 부동 소수점 상수
__5) double형의 연산
__6) 자료형과 연산
__7) 형 변환
__8) 변환 지정
_정리
3장 프로그램의 흐름 분기
_3-1 if문
__1) if문(1)
__2) 홀수 판정하기
__3) if문(2)
__4) 짝수와 홀수 판정하기
__5) 0인지 판정하기
__6) if문의 구문 도표
__7) 등가 연산자
__8) 나머지 판정
__9) 관계 연산자
__10) if문 중첩하기
__11) 평가
__12) 더 큰 값 찾기
__13) 세 가지 값 중에서 최댓값 찾기
__14) 조건 연산자
__15) 차 구하기
__16) 복합문(블록)
__17) 논리 연산자
_3-2 switch문
__1) switch문과 break문
__2) 복잡한 switch문
__3) switch문과 if
__4) 조건문
_정리
4장 프로그램의 흐름 반복
_4-1 do-while문
__1) do-while문
__2) 복합문 안에서 선언하기
__3) 일정한 조건을 만족하는 값만 읽어 들이기
__4) 논리 부정 연산자와 드모르간의 법칙
__5) 여러 정숫값의 총합과 평균 구하기
__6) 복합 대입 연산자
__7) 전치 증가 연산자와 후치 증가 연산자
_4-2 while문
__1) while문
__2) 감소 연산자로 간결하게 표현하기
__3) 카운트업
__4) 일정 횟수만 반복하기
__5) 문자 상수와 putchar 함수
__6) do-while문과 while문
__7) 전치 증가 연산자와 전치 감소 연산자
__8) do-while문의 표기
__9) 정숫값을 역순으로 출력
_4-3 for문
__1) for문
__2) for문으로 일정 횟수만 반복하기
__3) 짝수 열거하기
__4) 약수 열거하기
__5) 구문과 빈 문장
__6) 반복문
_4-4 다중 루프1) 이중 루프
__2) 도형 그리기
__3) 다중 루프
__
_4-5 프로그램의 요소와 서식
__1) 예약어
__2) 연산자
__3) 식별자
__4) 구분자
__5) 상수와 문자열 리터럴
__6) 자유 형식
__7) 인접한 문자열 리터럴 연결
__8) 들여쓰기
_정리
5장 배열
_5-1 배열
__1) 배열
__2) 배열 순회하기
__3) 배열 초기화하기
__4) 배열 복사하기
__5) 배열 요소로 값을 읽어 들이기
__6) 배열의 모든 요소를 역순으로 재배치하기
__7) 배열로 점수 계산하기
__8) 오브젝트 매크로
__9) 배열 요소의 최댓값과 최솟값
__10) 배열의 길이
_5-2 다차원 배열
__1) 다차원 배열
_정리
6장 함수
_6-1 함수란
__1) main 함수와 라이브러리 함수
__2) 함수란
__3) 함수 정의
__4) 함수 호출
__5) 세 값 중 최댓값 구하기
__6) 함수의 반환값을 인자로서 다른 함수에 넘기기
__7) 우리가 만든 함수를 부르는 함수
__8) 값 넘기기
_6-2 함수 설계
__1) 값을 반환하지 않는 함수
__2) 함수의 범용성
__3) 인자를 받지 않는 함수
__4) 함수의 반환값으로 초기화
__5) 유효범위
__6) 파일 유효범위
__7) 선언과 정의
__8) 함수 원형 선언
__9) 헤더와 인클루드
__10) 함수의 범용성
__11) 함수의 범용성
__12) 배열 넘겨받기와 형 한정자 const
__13) 선형 검색(순차 검색)
__14) 다차원 배열 넘기기
_6-3 유효범위와 기억수명
_1) 유효범위와 식별자의 가시성
__2) 기억수명
_정리
7장 기본형
_7-1 기본형과 수
__1) 산술형과 기본형
__2) 기수법
__3) 기수 변환
_7-2 정수형과 문자형
__1) 정수형과 문자형
__2)
__3) 문자형
__4) 비트와 CHAR_BIT
__5) sizeof 연산자
__6) size_t형과 typedef 선언
__7) 정수형 가려 쓰기
__8) 정수형의 내부 표현
__9) 부호 없는 정수의 내부 표현
__10) 부호 있는 정수의 내부 표현
__11) 비트 단위 논리 연산
__12) 시프트 연산
__13) 정수 상수
__14) 정수 상수의 자료형
__15) 정수 출력하기
__16) 오버플로와 예외
_7-3 부동소수점형
__1) 부동소수점형
__2) 부동소수점 상수
__3)
__4) 반복 제어
_7-4 연산과 연산자
__1) 연산자의 우선순위와 결합성
__2) 형 변환의 규칙
_정리
8장 다양한 프로그램을 만들어 보자
_8-1 함수 매크로
__1) 함수와 자료형
__2) 함수 매크로
__3) 함수와 함수 매크로
__4) 인자가 없는 함수 매크로
__5) 함수 매크로와 콤마 연산자
_8-2 정렬
__1) 버블 정렬
_8-3 열거체
__1) 열거체
__2) 열거 상수
__3) 이름공간
_8-4 재귀 함수
__1) 함수와 자료형
__2) 계승
_8-5 입출력과 문자
__1) getchar 함수와 EOF
__2) 입력에서 출력으로 복사하기
__3) 숫자의 개수 세기
__4) 문자
__5) 확장 표기
_정리
9장 문자열 기초
_9-1 문자열이란
__1) 문자열 리터럴
__1) 문자열 리터럴의 크기
__2) 문자열
__3) 문자 배열의 초기화
__4) 빈 문자열
__5) 문자열 읽어 들이기
__6) 문자열을 형식화하여 출력하기
_9-2 문자열 배열
__1) 문자열 배열
__2) 문자열 배열로 문자열 읽어 들이기
_9-3 문자열 다루기
__1) 문자열의 길이
__2) 문자열 출력
__3) 숫자가 나타난 횟수
__4) 대문자·소문자로 변환하기
__5) 문자열 배열 넘기기
_정리
10장 포인터
_10-1 포인터
__1) 함수의 인자
__2) 오브젝트와 주소
__3) 주소 연산자
__4) 포인터
__5) 간접 참조 연산자
_10-2 포인터와 함수
__1) 함수 인자로 쓰이는 포인터
__2) 합과 차를 구하는 함수
__3) 두 오브젝트의 값을 교환하기
__4) 두 값을 정렬하기
__5) scanf 함수와 포인터
__6) 포인터의 자료형
__7) 널 포인터
__8) 스칼라형
_10-3 포인터와 배열
__1) 포인터와 배열
__2) 간접 참조 연산자와 인덱스 연산자
__3) 배열과 포인터의 차이
__4) 배열 넘기기
_정리
11장 문자열과 포인터
_11-1 문자열과 포인터
__1) 배열에 의한 문자열과 포인터에 의한 문자열
__2) 배열에 의한 문자열과 포인터에 의한 문자열의 차이
__3) 문자열 배열
_11-2 포인터에 의한 문자열 조작
__1) 문자열 길이 구하기
__2) 문자열 복사하기
__3) 문자열을 잘못 복사한 사례
__4) 포인터를 반환하는 함수
_11-3 문자열을 다루는 라이브러리 함수
__1) strlen 함수 : 문자열의 길이를 구한다
__2) strcpy 함수, strncpy 함수 : 문자열을 복사한다
__3) strcat 함수, strncat 함수 : 문자열을 연결한다
__4) strcmp 함수, strncmp 함수 : 문자열의 대소 관계를 구한다
__5) atoi 함수, atol 함수, atof 함수 : 문자열을 숫자로 변환한다
_정리
12장 구조체
_12-1 구조체
__1) 데이터의 관련성
__2) 구조체
__3) 구조체 멤버와 . 연산자
__4) 멤버 초기화
__5) 구조체 멤버와 -> 연산자
__6) 구조체와 typedef
__7) 구조체와 프로그램
__8) 집합체형
__9) 구조체의 값을 반환하는 함수
__10) 이름공간
__11) 구조체 배열
__12) 파생형
_12-2 구조체를 멤버로 지니는 구조체
__1) 좌표를 나타내는 구조체
__2) 구조체 멤버를 지니는 구조체
13장 파일 처리
_13-1 구조체
__1) 파일과 스트림
__2)표준 스트림
__3) FIILE형
__4) 파일 열기
__5) 파일 닫기
__6) 파일을 열고 닫는 예시
__7) 파일 데이터 집계
__8) 날짜와 시각 쓰기
__9) 이전에 실행한 정보 취득하기
__10) 파일 내용 출력하기
__11) 파일 복사하기
_13-2 텍스트와 바이너리
__1) 텍스트 파일에 실숫값 저장하기
__2) 텍스트 파일과 바이너리 파일
__3) 바이너리 파일에 실숫값 저장하기
__4) 파일 덤프
_13-3 printf 함수와 scanf 함수
__1) printf 함수 : 형식화하여 출력하기
__2) scanf 함수 : 형식에 맞춰 입력받기
_정리
- 저자 소개 -
시바타 보요(Bohyoh Shibata, 柴田望洋)
공학 박사. 후쿠오카 공업 대학 정보 공학부 정보 공학과 부교수이다. 1994년부터 프로그래밍 분야의 기초 서적을 50권 가까이 집필하였고, 프로그래밍 언어 교과서 · 참고서의 집필 업적을 인정받아 일본 공학 교육 협회에서 저작권 상을 수상하였다. 최근 시리즈 누계 100 만부를 돌파한 슈퍼 베스트 & 스테디셀러 저자이자 프로그래밍 분야에서 가장 많은 독자에게 압도적 지지를 받는 저자이기도 하다.
- 역자 소개 -
이인호
KAIST 전산학과를 졸업하고 소프트웨어 개발자로 일하고 있다. 한편으로 글밥아카데미 일본어 출판번역 과정을 수료하고 바른번역 소속 번역가로 활동하고 있다. 옮긴 책으로 『10년 후, 이과생 생존법』 『문과 출신입니다만』 『과학인문학으로의 초대』 『요시카와 에이지의 삼국지』 (공역) 『무한의 끝에 무엇이 있을까』 『물리학은 처음인데요』 『잠들지 않는 토끼』 『아, 그런 거야?』 등이 있다.
김기용
서울대학교 지리학과를 전공했고 서울대 컴퓨터 연구회(S.C.S.C.)에서 다양한 학술 활동을 했으며 20여년간 개발자 및 아키텍트로 활동하고 있으며 지금은 한국산업기술대학교 게임공학부에서 C언어 등의 교과 강의를 맡고 있다.
시바타 보요(Bohyoh Shibata, 柴田望洋)
공학 박사. 후쿠오카 공업 대학 정보 공학부 정보 공학과 부교수이다. 1994년부터 프로그래밍 분야의 기초 서적을 50권 가까이 집필하였고, 프로그래밍 언어 교과서 · 참고서의 집필 업적을 인정받아 일본 공학 교육 협회에서 저작권 상을 수상하였다. 최근 시리즈 누계 100 만부를 돌파한 슈퍼 베스트 & 스테디셀러 저자이자 프로그래밍 분야에서 가장 많은 독자에게 압도적 지지를 받는 저자이기도 하다.
- 역자 소개 -
이인호
KAIST 전산학과를 졸업하고 소프트웨어 개발자로 일하고 있다. 한편으로 글밥아카데미 일본어 출판번역 과정을 수료하고 바른번역 소속 번역가로 활동하고 있다. 옮긴 책으로 『10년 후, 이과생 생존법』 『문과 출신입니다만』 『과학인문학으로의 초대』 『요시카와 에이지의 삼국지』 (공역) 『무한의 끝에 무엇이 있을까』 『물리학은 처음인데요』 『잠들지 않는 토끼』 『아, 그런 거야?』 등이 있다.
김기용
서울대학교 지리학과를 전공했고 서울대 컴퓨터 연구회(S.C.S.C.)에서 다양한 학술 활동을 했으며 20여년간 개발자 및 아키텍트로 활동하고 있으며 지금은 한국산업기술대학교 게임공학부에서 C언어 등의 교과 강의를 맡고 있다.
예제 205편과 다양한 연습 문제, 그림 220점, 유튜브 강의까지!
<<뼈 때리는 C>>는 C 언어 입문자를 대상으로 한다. C 언어의 다양한 문법과 기법을 입문자가 한 권의 책에서 모두 익히기란 사실상 불가능에 가깝다. C가 익숙해지도록 너무 쉽지도 어렵지도 않게끔 했음에도 너무 쉽다는 독자와 어렵다는 독자가 있을 것이다. 그렇기에 설명은 줄이고 실습 위주의 연습과 그림으로 학습할 수 있도록 했다. 문제를 해결할 때 설명서를 보고 따라하는 것이 아니라 직접 생각하고 고민해봐야만 효과를 극대화할 수 있다. 비슷하지만, 조금씩 다른 유형의 반복적인 문제를 풀어 봄으로서 습관이 밸 수 있도록 한다. 공부가 아니라 문제 해결 방법을 배우는 것이므로 손에 익어 자연스레 코딩할 수 있도록 말이다.
- 출판사 리뷰 -
‘왜’ 쓰이는지 ‘어떻게’ 쓰는지 ‘직접 써봐야’ 알 수 있다!
C 언어 '참교육'하다.
프로그래밍을 시작할 때, 처음 시작함에도 불구하고 모든 원리와 이론을 알아야지만 다음 단계로 갈 수 있다고 사람들은 생각합니다. 시작은 쉬워서 금방 익히고 넘어갈 수 있지만, 점점 어려워져 중도에 포기하는 경우가 많다. 특히 C가 더 그러하다. 복잡하고 어려운 개념을 굳이 설명 글로 이해하고 나서 예제를 보고 연습 문제를 풀어보는 것보단 설명은 짧게 실습과 연습 문제는 그때그때 직접 해보고 다음으로 넘어가는 것이 기억하기에도 익히기에도 가장 좋은 방법일 것이다. "지금 배우는 기능을 쓰면 앞에서 봤던 것보다 더 나은 프로그램을 만들 수 있겠다."라고 생각할 수 있을 때, 바로 연습 문제를 풀어보는 것이 좋다. 왜 쓰이는지 어떻게 쓰이는지 직접 써봐야 알 수 있는 것처럼 말이다. <<뼈 때리는 C>>는 입문서로써 이와 같은 이유로 직접 풀어가며 자연스레 익힐 수 있는 핵심만을 전달할 수 있도록 노력했다.
문제 해결과 논리적 사고 학습을 위한 C, 코드 한 줄 쓰려면 머리가 캄캄해진다?
더욱 효율적인 문제 해결을 위해 프로그래밍을 합니다. 문법 학습도 중요하지만, 당장 문법과 함수를 안다고 바로 코딩할 수 있는 것도 아닙니다. 문법이나 함수의 사용법을 이해하는 데 필요한 완성된 예제 205편과 그림 220점, 상황에 맞는 연습 문제로 영어 회화와 같이 살아있는 프로그램을 공부하기 위해 핵심 내용을 중심으로 설명을 간결하게 했습니다. 기초를 익히는 것은 물론 응용하는 데 필요한 사고력을 키우고자 합니다. 어려운 문법과 개념을 습관처럼 손에 익히는 것이 목표입니다.
또한 워크북 형태로써 자기 주도 학습의 교재나 대학, 학원에서의 강의 교재로써도 적합합니다.
이 책의 특징
더하지도 덜하지도 않게 C 프로그래밍은 딱 여기까지만
- 현기증 나지 않게 핵심만 다룬 간결한 설명
- 적절한 예제와 바로 보는 실습 결과, 어려운 이론은 그림으로 더욱더 쉽게!
- 중간중간 직접 생각하고 풀어야 하는 다양한 형식의 ‘연습 문제’
- 본문 곳곳에 지루할 틈 없는 보충과 핵심 등의 다양한 구성 요소
<<뼈 때리는 C>>는 C 언어 입문자를 대상으로 한다. C 언어의 다양한 문법과 기법을 입문자가 한 권의 책에서 모두 익히기란 사실상 불가능에 가깝다. C가 익숙해지도록 너무 쉽지도 어렵지도 않게끔 했음에도 너무 쉽다는 독자와 어렵다는 독자가 있을 것이다. 그렇기에 설명은 줄이고 실습 위주의 연습과 그림으로 학습할 수 있도록 했다. 문제를 해결할 때 설명서를 보고 따라하는 것이 아니라 직접 생각하고 고민해봐야만 효과를 극대화할 수 있다. 비슷하지만, 조금씩 다른 유형의 반복적인 문제를 풀어 봄으로서 습관이 밸 수 있도록 한다. 공부가 아니라 문제 해결 방법을 배우는 것이므로 손에 익어 자연스레 코딩할 수 있도록 말이다.
- 출판사 리뷰 -
‘왜’ 쓰이는지 ‘어떻게’ 쓰는지 ‘직접 써봐야’ 알 수 있다!
C 언어 '참교육'하다.
프로그래밍을 시작할 때, 처음 시작함에도 불구하고 모든 원리와 이론을 알아야지만 다음 단계로 갈 수 있다고 사람들은 생각합니다. 시작은 쉬워서 금방 익히고 넘어갈 수 있지만, 점점 어려워져 중도에 포기하는 경우가 많다. 특히 C가 더 그러하다. 복잡하고 어려운 개념을 굳이 설명 글로 이해하고 나서 예제를 보고 연습 문제를 풀어보는 것보단 설명은 짧게 실습과 연습 문제는 그때그때 직접 해보고 다음으로 넘어가는 것이 기억하기에도 익히기에도 가장 좋은 방법일 것이다. "지금 배우는 기능을 쓰면 앞에서 봤던 것보다 더 나은 프로그램을 만들 수 있겠다."라고 생각할 수 있을 때, 바로 연습 문제를 풀어보는 것이 좋다. 왜 쓰이는지 어떻게 쓰이는지 직접 써봐야 알 수 있는 것처럼 말이다. <<뼈 때리는 C>>는 입문서로써 이와 같은 이유로 직접 풀어가며 자연스레 익힐 수 있는 핵심만을 전달할 수 있도록 노력했다.
문제 해결과 논리적 사고 학습을 위한 C, 코드 한 줄 쓰려면 머리가 캄캄해진다?
더욱 효율적인 문제 해결을 위해 프로그래밍을 합니다. 문법 학습도 중요하지만, 당장 문법과 함수를 안다고 바로 코딩할 수 있는 것도 아닙니다. 문법이나 함수의 사용법을 이해하는 데 필요한 완성된 예제 205편과 그림 220점, 상황에 맞는 연습 문제로 영어 회화와 같이 살아있는 프로그램을 공부하기 위해 핵심 내용을 중심으로 설명을 간결하게 했습니다. 기초를 익히는 것은 물론 응용하는 데 필요한 사고력을 키우고자 합니다. 어려운 문법과 개념을 습관처럼 손에 익히는 것이 목표입니다.
또한 워크북 형태로써 자기 주도 학습의 교재나 대학, 학원에서의 강의 교재로써도 적합합니다.
이 책의 특징
더하지도 덜하지도 않게 C 프로그래밍은 딱 여기까지만
- 현기증 나지 않게 핵심만 다룬 간결한 설명
- 적절한 예제와 바로 보는 실습 결과, 어려운 이론은 그림으로 더욱더 쉽게!
- 중간중간 직접 생각하고 풀어야 하는 다양한 형식의 ‘연습 문제’
- 본문 곳곳에 지루할 틈 없는 보충과 핵심 등의 다양한 구성 요소