도서 소개
C 언어를 처음 접하는 초중고생의 눈높이게 맞춘 입문서다. 정보올림피아드를 계기로 쓴 책이면서도, C 언어 기본 문법과 활용 예제를 담았다. <C 언어 문법편> 외에 <C 언어 기출문제편>에 나온 문제를 이해하는데 필요한 C 문법을 모두 수록했다. 코드블록을 사용했으며, 아이의 질문을 기반으로 내용을 구성했다.
출판사 리뷰
C 언어를 처음 접하는 초중고생의 눈높이게 맞춘 입문서입니다. 초등학생인 저자(2 저자)가 정보올림피아드를 준비할 때 옆에서 지켜보던 개발자 아빠가 아이에게 설명한 내용을 책으로 엮었습니다.
[ 출판사 리뷰 ]
'C 언어를 처음 배우는 이들에게 적합합니다' 정보올림피아드를 계기로 쓴 책이면서도, C 언어 기본 문법과 활용 예제를 담았습니다.
'정보올림피아드 문제에서 다루는 C 언어를 담았습니다' <C 언어 문법편> 외에 <C 언어 기출문제편>에 나온 문제를 이해하는데 필요한 C 문법을 모두 수록했습니다.
'코드블록을 이용합니다' 정보올림피아드에서 코드블록을 이용하므로 이 책에서도 코드블록을 사용합니다.
'아이의 질문을 기반으로 내용을 구성했습니다' 초등학생인 2 저자의 질문과 궁금 사항을 기반으로 1 저자와 2 저자가 아이 및 초심자 관점에서 내용을 다듬었으므로 조금은 이해하기가 쉬울 것입니다. 그러나 C 언어도 하나의 언어이므로 생소한 개념을 이해하고 익숙해지려면 반복 학습이 필요할 것입니다. C 언어에 입문하는 데 도움이 되기를 바랍니다.
국영수의 경우 부모님들이 어느 정도 지원을 해 줄 수 있지만 프로그래밍의 경우 전공자가 아니면 접근하기 어려운 부분이 있어 아이들의 지적 호기심을 부모님의 지갑으로 대신하는 수 밖에 없는 것이 안타까웠다. 문법에 대한 책은 다소 나와 있었지만 기출문제에 대한 해설도 없기에 문법 편과 기출문제 편으로 나눠서 책을 내기로 했으니 올림피아드 예선 시험을 준비하는 아이들에게 조금이나마 도움이 되었으면 좋겠다. - 들어가기 중에서
컴퓨터 나라말인 C를 가지고 컴퓨터에게 명령을 내리는데, 이걸 '프로그래밍을 한다' 또는 '프로그램을 짠다'라고 해. 명사에 -ing가 붙으면 '...을 하는 동작'을 의미하지? 프로그램을 짜는 과정이어서 프로그래밍(Programming = Program + ing)이라고 하는 거지. << 중략 >> 이와 같이 함수는 입력 값(과일, 설탕 시럽, 물)을 받아서 특정한 작업(갈기, 섞기)을 하고 결과 값(주스)을 만드는 하나의 장치라고 할 수 있어. 믹서기에 해당하는 거지. 입력 값에 따라 결과 값이 달라지겠지만 처리하는 과정은 항상 믹서기라는 기계에서 이루어지는 거지. << 중략 >> 이번 장에서 상수에 대해 알아보았어. 상수는 고정된 값으로, 프로그램 내부에서 변경할 수 없는 값이야. 자주 사용하는 값을 상수로 선언해 놓으면 값이 변할 때 선언 부분만 변경하면 되겠지. 그러면 전체 프로그램에 적용할 수 있어서 유용하다는 점을 기억하기 바래. << 중략 >> 아빠가 심부름을 시키면서 버스를 타고 가라고 했는데 배가 너무 고픈거야. 주머니에는 아빠가 버스 타고 가라고 준 천 원짜리 한 장이 있는 상태고. 그러면 승준이는 아마도 '내가 걸어갈 수 있는 거리인가?', '아빠가 도착하라고 한 시간까지 걸어서 갈 수 있을까?', '내가 지금 걸어갈 충분한 힘이 있는가?' 등을 고민한 다음에 편의점에서 사발면을 먹고 걸어갈지, 아니면 심부름을 빨리 하고 집에 와서 밥을 먹을지를 결정하겠지? 프로그램에서도 마찬가지로 여러 경우에 따라 처리해야 할 과정을 선택하게 해야 한단다. 이럴 때 사용하는 구문이 if(이프; 만약)라는 조건문이야. - 본문 중에서
작가 소개
저자 : 이원하
한국외국어대학교 경영정보대학원 석사과정을 마치고 디지털 워터마킹과 DRM(Digital Right Management) 기술을 이용한 보안 분야 회사를 창업하여 문서보안이라는 솔루션을 설계, 한국에 처음 상용화하였다. IT 개발에 회의를 느껴 한동안 자동차 개발쪽에 서 외도를 하다가 최근 다시 복귀, 빅데이터 처리 및 서버취약성점검 소프트웨어 개발을 하고 있는 개발자이다. 조그만 저수지에 낚시 점빵을 차리는 게 소원인 두 아이의 아빠이기도 하다.
저자 : 이승준
컴퓨터 이야기만 나오면 세상 좋은 얼굴을 하는 6학년 학생이다. 특히 프로그래밍, 안드로이드, 로보틱스가 좋아서 열심히 찾아보고 있지만 여전히 모르는 것이 많아서 개발자인 아버지에게 많은 질문을 하고 있다.
목차
1장 C 언어 준비
1.1 코드블록(Code::Blocks) 소프트웨어 다운로드 받기
1.2 코드블록(Code::Blocks) 설치
2장 'Hello world!'라고 화면에 나타내보자
2.1 프로젝트의 생성
2.2 C 프로그램의 구조
2.3 프로그램 사라지지 않게 하기
2.4 프로그래밍 규칙
3장 변수란 무엇인가?
3.1 변수와 변수 크기
3.2 변수 이름 규칙
3.3 대입 연산자3
3.4 변수 초기화
4장 화면 입출력
4.1 화면 출력 함수: printf()
4.2 화면 출력 함수: putchar(), puts()
4.3 키보드 입력 함수: scanf()
5장 정수 자료형 처리하기
5.1 정수형 연산자
6장 실수 자료형 처리하기
6.1 실수형 연산자
7장 문자 자료형 처리하기
7.1 아스키 코드와 문자형
7.2 문자열
8장 상수란 무엇인가?
8.1 상수의 선언
8.2 DEFINE의 활용
8.3 enum의 활용
9장 연산자의 활용
9.1 산술 연산자
9.2 비교 연산자
9.3 논리 연산자
9.4 비트 연산자
10장 조건문의 활용
10.1 조건문: if…else
10.2 조건문: switch…case
11장 반복문의 활용
11.1 for 문
11.2 while 문
11.3 do…while 문
11.4 분기의 활용: break, continue, goto
12장 배열의 활용
12.1 배열의 선언과 활용
12.2 다차원 배열의 선언과 활용
13장 포인터의 활용
13.1 포인터란 무엇인가?
13.2 포인터의 선언 및 값 조회
13.3 포인터와 배열의 관계
13.4 포인터와 문자열
14장 함수의 활용
14.1 함수의 선언 및 활용
14.2 전역 변수와 지역 변수
14.3 매개 변수의 전달
15장 구조체의 활용
15.1 구조체의 선언 및 초기화
15.2 구조체 포인터 변수 선언 및 초기화
15.3 구조체 멤버의 접근 및 활용
15.4 구조체 배열
16장 공용체의 활용
16.1 공용체의 선언 및 초기화
16.2 공용체 멤버의 참조
17장 파일 입출력
17.1 파일의 선언
17.2 파일 쓰기
17.3 파일 읽기
18장 비트 연산자
18.1 진법 변환
18.2 비트와 바이트
18.3 비트 논리 연산자
18.4 비트 이동 연산자