C언어 for Beginner

제대로 이해하며 개발하는 C 프로그래밍
$31.40
SKU
9791156645702
+ Wish
[Free shipping over $100]

Standard Shipping estimated by Fri 12/6 - Thu 12/12 (주문일로부 10-14 영업일)

Express Shipping estimated by Tue 12/3 - Thu 12/5 (주문일로부 7-9 영업일)

* 안내되는 배송 완료 예상일은 유통사/배송사의 상황에 따라 예고 없이 변동될 수 있습니다.
Publication Date 2022/01/03
Pages/Weight/Size 188*257*35mm
ISBN 9791156645702
Categories IT 모바일 > 컴퓨터 공학
Description
C 프로그래밍을 처음 접하는 독자를 위한 친절한 안내서

『C 언어 for Beginner』가 4판으로 개정되었습니다. 새로운 실습환경으로 Visual Studio 2022를 적용했으며, 연습문제도 전면 개편했다. 이 책은 쉬운 설명으로 프로그래밍의 기초 개념을 이해하고, 190여 개의 예제로 직접 코딩 연습을 한다. 나아가 다양한 연습문제를 풀며 C 프로그래밍을 완벽 파악할 수 있다. 어려운 C 프로그래밍이 아닌 쉽고 재미있는 C 프로그래밍을 원한다면 『C 언어 for Beginner 4판』으로 시작해보자!

※ 본 도서는 대학 강의용 교재로 개발되었으므로 연습문제 해답은 제공하지 않습니다.
※ 네이버 카페 : https://cafe.naver.com/itcookbook
Contents
CHAPTER 01 C 언어의 이해와 컴파일러 설치

SECTION 01 C 언어의 이해
1 프로그래밍의 개요
2 C의 특징
3 C 컴파일러의 종류

SECTION 02 C 프로그램 작성 순서
1 프로그램 코딩
[기본 1-1] C 프로그램 맛보기
2 컴파일과 링크
3 프로그램 실행

SECTION 03 C 컴파일러 설치와 간단한 실습
1 실습 가능한 Visual Studio 버전
2 Visual Studio Community 설치
3 처음으로 작성해보는 간단한 프로그램
[기본 1-2] 처음 만드는 C 프로그램
[기본 1-3] 소스 수정하기(계산값 수정)
[기본 1-4] 소스 수정하기(한 줄 띄우기)

요약
연습문제

CHAPTER 02 일단 짜보는 그럴듯한 C 프로그램

SECTION 01 프로그램 작성 순서 복습
1 두 번째 프로젝트 만들기
2 프로그램 코딩
[기본 2-1] 두 번째로 만드는 C 프로그램
3 빌드(컴파일/링크)
4 실행

SECTION 02 scanf( ) 함수 맛보기
1 값을 입력받는 scanf( ) 함수
[응용 2-2] 소스 수정하기(키보드로 값을 입력받음)
[응용 2-3] 소스 수정하기(도움말 출력)
예제모음 01 숫자 4개를 더하는 프로그램
예제모음 02 if문을 활용한 계산기
예제모음 03 오류 없는 계산기

요약
연습문제

CHAPTER 03 printf( ) 함수와 데이터 형식

SECTION 01 printf( ) 함수의 기본 형태
1 printf( ) 함수의 기본 사용법(정수)
[기본 3-1] printf( ) 함수 사용 예 1
[기본 3-2] printf( ) 함수 사용 예 2
2 정수 외에 자주 사용되는 서식
[기본 3-3] 서식을 사용한 출력 예 1
[응용 3-4] 서식을 사용한 출력 예 2

SECTION 02 printf( ) 함수의 서식 지정
1 자릿수를 맞춘 출력
[기본 3-5] 다양한 서식 활용 예 1
2 다양한 기능의 서식 문자
[응용 3-6] 다양한 서식 활용 예 2

SECTION 03 변수의 이해
1 변수 선언
2 변수에 값을 담는 방법
[기본 3-7] 변수에 값 대입 예
[응용 3-8] 변수에 변수 대입 예 1
[응용 3-9] 변수에 변수 대입 예 2

SECTION 04 데이터 형식과 배열
1 비트, 바이트, 진수
2 진수 변환 연습
3 숫자형 데이터 형식
[기본 3-10] 소수점이 없는 정수형 사용 예
[기본 3-11] 소수점이 있는 실수형 사용 예
4 문자형 데이터 형식
[기본 3-12] 문자형 변수 사용 예 1
[응용 3-13] 문자형 변수 사용 예 2
5 여러 글자가 모인 문자열과 배열
[기본 3-14] 문자열 형식 사용 예 1
[응용 3-15] 문자열 형식 사용 예 2
예제모음 04 정수형을 출력하는 프로그램
예제모음 05 입력하는 정수의 진수 결정
예제모음 06 데이터형의 크기 확인
예제모음 07 입력된 문자열을 반대 순서로 출력

요약
연습문제

CHAPTER 04 C 연산자의 이해

SECTION 01 산술 연산자
1 기본 산술 연산자
[기본 4-1] 산술 연산자 사용 예
2 연산자 우선순위와 강제 형 변환
[응용 4-2] 연산자 우선순위와 강제 형 변환 예
3 대입 연산자와 증감 연산자
[기본 4-3] 대입 연산자와 증감 연산자 사용 예
[응용 4-4] 증감 연산자 사용 예

SECTION 02 관계 연산자
[기본 4-5] 관계 연산자 사용 예

SECTION 03 논리 연산자
[기본 4-6] 논리 연산자 사용 예 1
[응용 4-7] 논리 연산자 사용 예 2

SECTION 04 비트 연산자

SECTION 05 연산자 우선순위
[기본 4-8] 비트 논리곱 연산자 사용 예
[기본 4-9] 비트 논리합 연산자 사용 예
[기본 4-10] 비트 배타적 논리합 연산자 사용 예
[응용 4-11] 비트 연산에 마스크를 사용한 예
[기본 4-12] 비트 부정 연산자 사용 예
[기본 4-13] 비트 왼쪽 시프트 연산자 사용 예
[기본 4-14] 비트 오른쪽 시프트 연산자 사용 예
[응용 4-15] 비트 왼쪽 시프트, 비트 오른쪽 시프트 연산자 사용 예
예제모음 08 입력된 두 실수의 산술 연산
예제모음 09 동전 교환 프로그램
예제모음 10 윤년 계산 프로그램

요약
연습문제

CHAPTER 05 조건문

SECTION 01 if문
1 기본 if문
[기본 5-1] 기본 if문 사용 예 1
[기본 5-2] 기본 if문 사용 예 2
[기본 5-3] 기본 if문 사용 예 3
2 if~else문
[기본 5-4] if~else문 사용 예
[기본 5-5] 블록을 활용한 if~else문 사용 예 1
[응용 5-6] 블록을 활용한 if~else문 사용 예 2

SECTION 02 중첩 if문
[기본 5-7] 중첩 if문 사용 예 1
[응용 5-8] 중첩 if문 사용 예 2
SECTION 03 switch~case문
[기본 5-9] switch~case문 사용 예 1
[응용 5-10] switch~case문 사용 예 2
예제모음 11 단순 if문을 활용한 간단한 계산기
예제모음 12 중복 if문을 활용한 간단한 계산기
예제모음 13 switch~case문을 활용한 간단한 계산기

요약
연습문제

CHAPTER 06 반복문의 기본, for문

SECTION 01 단순 for문
1 for문의 이해
[기본 6-1] 같은 문장을 반복 출력하는 예
[기본 6-2] 기본 for문 사용 예
2 for문의 개념과 활용
[기본 6-3] for문과 블록 사용 예
[기본 6-4] for문 사용 예 1
[기본 6-5] for문 사용 예 2
[기본 6-6] for문을 활용하지 않고 합계 구하기
[기본 6-7] for문을 활용하여 합계 구하기 1
[기본 6-8] for문을 활용하여 합계 구하기 2
[응용 6-9] for문을 활용하여 합계 구하기 3
[기본 6-10] for문을 활용하여 합계 구하기 4
[응용 6-11] for문을 활용하여 합계 구하기 5
[기본 6-12] for문을 사용한 구구단 프로그램

SECTION 02 중첩 for문
1 중첩 for문의 개념
[기본 6-13] 중첩 for문 사용 예 1
2 중첩 for문의 활용
[응용 6-14] 중첩 for문 사용 예 2
[응용 6-15] 중첩 for문 사용 예 3

SECTION 03 다양한 for문의 형태
1 여러 개의 초깃값과 증감식을 사용하는 for문
[기본 6-16] for문의 다양한 활용 예 1
2 초깃값과 증감식이 없는 for문
[기본 6-17] for문의 다양한 활용 예 2
[응용 6-18] for문의 다양한 활용 예 3
예제모음 14 구구단 출력 프로그램
예제모음 15 아스키코드표 출력 프로그램
예제모음 16 입력된 문자를 반대 순서로 출력

요약
연습문제

CHAPTER 07 while문과 흐름 제어

SECTION 01 while문
1 for문과 while문의 비교
[기본 7-1] for문을 while문으로 바꾸는 예 1
[응용 7-2] for문을 while문으로 바꾸는 예 2
2 무한 루프를 위한 while문
[기본 7-3] while문으로 무한 루프 만들기
[응용 7-4] 무한 루프를 활용한 계산기

SECTION 02 do~while문
1 do~while문과 while문의 차이
[기본 7-5] do~while문 사용 예 1
[응용 7-6] do~while문 사용 예 2

SECTION 03 기타 제어문
1 반복문을 탈출하는 break문
[기본 7-7] break문 사용 예 1
[기본 7-8] break문 사용 예 2
[응용 7-9] break문 사용 예 3
2 반복문으로 다시 돌아가는 continue문
[기본 7-10] continue문 사용 예
3 지정한 위치로 이동하는 goto문
[기본 7-11] goto문 사용 예
4 현재 함수를 불렀던 곳으로 돌아가는 return문
[기본 7-12] return문 사용 예
예제모음 17 배수의 합계를 구하는 계산기
예제모음 18 입력된 문자열의 종류 구분
예제모음 19 입력된 숫자만큼 별표 출력

요약
연습문제

CHAPTER 08 배열

SECTION 01 배열의 이해
1 배열을 사용하는 이유
[기본 8-1] 변숫값 여러 개를 선언하여 출력하는 예
[기본 8-2] 배열에 값을 선언하여 출력하는 예
2 배열의 활용 범위
[응용 8-3] for문으로 배열의 첨자를 활용하는 예
[기본 8-4] 배열의 초기화 예 1
[응용 8-5] 배열의 초기화 예 2
[기본 8-6] 배열의 크기를 계산하는 예

SECTION 02 배열과 문자열
1 정수형 배열과 문자형 배열
[기본 8-7] 문자열을 선언하고 출력하는 예
[응용 8-8] 문자열을 반대 순서로 출력하는 예
2 문자열 함수로 문자열 다루기
[기본 8-9] 문자열 처리 함수 strlen( ) 사용 예
[기본 8-10] 문자열 처리 함수 strcpy( ) 사용 예
[기본 8-11] 문자열 처리 함수 strcat( ) 사용 예
[기본 8-12] 문자열 처리 함수 strcmp( ) 사용 예
[응용 8-13] 문자열 입출력 함수 gets( ), puts( ) 사용 예

SECTION 03 2차원 배열
1 2차원 배열의 기본 개념
[기본 8-14] 2차원 배열 사용 예 1
[응용 8-15] 2차원 배열 사용 예 2
2 2차원 배열의 초기화
[기본 8-16] 2차원 배열의 초기화 예
3 3차원 이상의 배열
예제모음 20 입력된 문자열을 반대 순서로 출력
예제모음 21 대문자와 소문자의 변환
예제모음 22 구구단의 결과를 2차원 배열에 저장
예제모음 23 문자열 내 특정 문자의 변환

요약
연습문제

CHAPTER 09 배열과 포인터

SECTION 01 스택
1 스택의 이해
2 배열로 스택 만들기
[기본 9-1] 스택 구현 예 1
[응용 9-2] 스택 구현 예 2

SECTION 02 메모리와 주소
1 정수형 변수의 메모리 할당
[기본 9-3] 변수의 주소 알아내기
2 정수형 배열의 메모리 할당
[기본 9-4] 정수형 배열의 메모리 할당 1
[응용 9-5] 정수형 배열의 메모리 할당 2

SECTION 03 포인터
[기본 9-6] 일반 변수와 포인터 변수의 관계
[응용 9-7] 포인터의 관계 이해하기

SECTION 04 배열과 포인터의 관계
1 문자형 배열과 포인터
[기본 9-8] 문자형 배열과 포인터의 관계 1
2 문자형 배열과 포인터의 응용
[응용 9-9] 문자형 배열과 포인터의 관계 2
3 포인터 학습 노하우
예제모음 24 포인터를 이용하여 문자열을 반대 순서로 출력
예제모음 25 포인터를 이용한 두 값의 교환
예제모음 26 포인터를 이용한 배열의 정렬

요약
연습문제

CHAPTER 10 함수

SECTION 01 함수의 이해
1 함수의 개념
[기본 10-1] 직접 커피를 서비스하는 과정의 프로그램 예
[기본 10-2] 함수를 사용하여 변경한 [기본 10-1]
[기본 10-3] 여러 명에게 주문을 받도록 변경한 [기본 10-2]
2 함수의 모양과 활용
[기본 10-4] 본격적인 함수 사용 예 1
[응용 10-5] 본격적인 함수 사용 예 2

SECTION 02 지역변수와 전역변수
[기본 10-6] 지역변수와 전역변수의 구분

SECTION 03 함수의 반환값과 매개변수
1 반환값 유무에 따른 함수 구분
[기본 10-7] 반환값 유무에 따른 함수 비교
2 매개변수 전달 방법
[기본 10-8] 매개변수 전달 방법: 값으로 전달
[기본 10-9] 매개변수 전달 방법: 주소로 전달
[응용 10-10] 매개변수 전달 방법 비교
예제모음 27 함수를 이용한 구구단 프로그램
예제모음 28 함수를 이용한 대·소문자 변환 프로그램
예제모음 29 숫자 자동 추첨 프로그램

요약
연습문제

CHAPTER 11 표준 입출력과 파일 입출력

SECTION 01 표준 입출력 함수
1 서식화된 입출력 함수
[기본 11-1] 서식화된 입출력 함수 사용 예
2 문자열 입출력 함수
[기본 11-2] 문자열 입출력 함수 사용 예
3 문자 입출력 함수
[기본 11-3] 문자 입출력 함수 사용 예 1
[응용 11-4] 문자 입출력 함수 사용 예 2
[기본 11-5] 문자 입출력 함수 사용 예 3
[기본 11-6] 문자 입출력 함수 사용 예 4

SECTION 02 파일 입출력 함수
1 파일 입출력의 기본 과정
2 파일을 이용한 입력
[기본 11-7] 파일을 이용한 입력 예 1
[응용 11-8] 파일을 이용한 입력 예 2
[기본 11-9] 파일을 이용한 입력 예 3
3 파일을 이용한 출력
[기본 11-10] 파일을 이용한 출력 예 1
[응용 11-11] 파일을 이용한 출력 예 2
[기본 11-12] 파일을 이용한 출력 예 3
예제모음 30 구구단을 파일에 출력
예제모음 31 파일에서 읽어온 문자열을 파일에 반대 순서로 출력

요약
연습문제

CHAPTER 12 고급 포인터

SECTION 01 메모리 할당 함수
1 꼭 기억해야 할 포인터의 주요 내용
[기본 12-1] 포인터를 사용하여 정수 합계를 구하는 예
2 동적 메모리 확보: malloc( ) 함수
[기본 12-2] 고정된 크기의 배열로 인한 메모리 낭비의 예
[응용 12-3] malloc( ) 함수 사용 예
[기본 12-4] malloc( ) 함수와 calloc( ) 함수의 비교
[응용 12-5] realloc( ) 함수 사용 예

SECTION 02 포인터 배열
1 여러 줄의 문자열 처리: 2차원 배열
[기본 12-6] 2차원 배열 사용 예
2 포인터 배열의 활용
[응용 12-7] 포인터 배열 사용 예
예제모음 32 여러 숫자 중 짝수만 더하기
예제모음 33 입력된 문자열을 반대 순서로 출력

요약
연습문제

CHAPTER 13 구조체, 공용체, 열거형

SECTION 01 구조체
1 구조체의 개념
2 구조체의 문법
[기본 13-1] 구조체 사용 예
3 구조체의 활용
[기본 13-2] 구조체를 사용하지 않은 예
[기본 13-3] 구조체를 사용하여 변경한 [기본 13-2]
[기본 13-4] 구조체 배열을 사용하지 않은 예
[응용 13-5] 구조체 배열을 사용하여 변경한 [기본 13-4]
[기본 13-6] 구조체 포인터 사용 예

SECTION 02 공용체
1 공용체의 개념
2 공용체의 문법
[기본 13-7] 공용체 사용 예

SECTION 03 열거형
[기본 13-8] 열거형 사용 예
예제모음 34 구조체 포인터를 활용한 학생 관리
예제모음 35 구조체와 공용체의 혼합
예제모음 36 열거형을 활용한 월 이름 출력
요약
연습문제

CHAPTER 14 고급 프로그램을 만들기 위한 C

SECTION 01 main( ) 함수
1 main( ) 함수의 매개변수
[기본 14-1] main( ) 함수에서의 매개변수 사용 예 1
[응용 14-2] main( ) 함수에서의 매개변수 사용 예 2

SECTION 02 헤더 파일
1 헤더 파일의 이해
2 사용자가 만드는 헤더 파일
[기본 14-3] 사용자 정의 헤더 파일 사용 예
3 하나의 파일을 여러 개로 분리하기
[기본 14-4] 함수별로 파일을 분리하는 예

SECTION 03 전처리문과 예약어
1 전처리문
[기본 14-5] #define문 사용 예
2 예약어
[기본 14-6] static 예약어 사용 예
[기본 14-7] extern 예약어 사용 예 1
[응용 14-8] extern 예약어 사용 예 2
예제모음 37 텍스트 파일 복사
예제모음 38 static 예약어를 활용한 구구단 출력

요약
연습문제

CHAPTER 15 실전 프로젝트

SECTION 01 연락처 관리 툴 Ver 1.0
1 프로그램 개요
2 프로그램 구현
3 전체 소스

SECTION 02 사진 편집 툴 Ver 1.0
1 프로그램 개요
2 프로그램 구현
3 전체 소스

부록 Dev-C++와 디버깅

SECTION 01 Dev-C++ 설치 및 사용하기
1 Dev-C++ 설치하기
2 Dev-C++로 작성하는 간단한 프로그램
3 기존 프로젝트 열기

SECTION 02 컴파일러로 디버깅하기
1 Visual Studio에서 디버깅하기
2 Dev-C++에서 디버깅하기
찾아보기
Author
우재남
서강대학교에서 정보시스템 전공으로 석사 과정을 마친 후 다양한 IT 관련 분야에서 실전 업무를 수행했고, 대학교에서 프로그래밍, 데이터베이스, 운영체제 등을 강의해왔다. 현재 디티솔루션의 공간데이터베이스 연구소장으로, 공간 정보와 IT 융합 학문인 유시티 IT 분야의 공학박사 학위도 취득했다. 지금도 한양사이버대학교 컴퓨터공학과와 삼성, LG, 현대, CJ, KT, SK, 대한상공회의소 등에서 인공지능 및 IT 전문 분야를 강의하고 있다. 자신이 체험한 다양한 IT 실무 경험과 지식을 최대한 쉽고 빠르게 수강생과 독자에게 전달하는 것을 모토로 강의와 집필을 하고 있다. 한빛미디어와 한빛아카데미에서 『뇌를 자극하는 Redhat Fedora: 리눅스 서버 & 네트워크』(2005)를 시작으로 『IT CookBook, 코틀린을 활용한 안드로이드 프로그래밍』(2020) 등 40여 권을 집필했으며, 『Head First HTML and CSS(개정판)』(2013)를 번역했다.

저서로는 (한빛미디어/한빛아카데미) 『이것이 MariaDB다』(2019), 『이것이 Fedora 리눅스다』(2019)
『이것이 오라클이다』(2018), 『이것이 Windows Server다』(2017), 『이것이 우분투 리눅스다』(2017), 『이것이 SQL Server다』(2016), 『뇌를 자극하는 Windows Server 2012 R2』(2016), 『IT CookBook, Android Studio를 활용한 안드로이드 프로그래밍(5판)』(2020), 『IT Cookbook for Beginner, 파이썬(2판)』(2020), 『IT Cookbook for Beginner, 리눅스』(2020), 『IT Cookbook for Beginner, 데이터베이스』(2019), 『IT Cookbook for Beginner, 자바 프로그래밍』(2018)번역서(한빛미디어), 『Head First HTML and CSS(개정판)』(2013)등이 있다.
서강대학교에서 정보시스템 전공으로 석사 과정을 마친 후 다양한 IT 관련 분야에서 실전 업무를 수행했고, 대학교에서 프로그래밍, 데이터베이스, 운영체제 등을 강의해왔다. 현재 디티솔루션의 공간데이터베이스 연구소장으로, 공간 정보와 IT 융합 학문인 유시티 IT 분야의 공학박사 학위도 취득했다. 지금도 한양사이버대학교 컴퓨터공학과와 삼성, LG, 현대, CJ, KT, SK, 대한상공회의소 등에서 인공지능 및 IT 전문 분야를 강의하고 있다. 자신이 체험한 다양한 IT 실무 경험과 지식을 최대한 쉽고 빠르게 수강생과 독자에게 전달하는 것을 모토로 강의와 집필을 하고 있다. 한빛미디어와 한빛아카데미에서 『뇌를 자극하는 Redhat Fedora: 리눅스 서버 & 네트워크』(2005)를 시작으로 『IT CookBook, 코틀린을 활용한 안드로이드 프로그래밍』(2020) 등 40여 권을 집필했으며, 『Head First HTML and CSS(개정판)』(2013)를 번역했다.

저서로는 (한빛미디어/한빛아카데미) 『이것이 MariaDB다』(2019), 『이것이 Fedora 리눅스다』(2019)
『이것이 오라클이다』(2018), 『이것이 Windows Server다』(2017), 『이것이 우분투 리눅스다』(2017), 『이것이 SQL Server다』(2016), 『뇌를 자극하는 Windows Server 2012 R2』(2016), 『IT CookBook, Android Studio를 활용한 안드로이드 프로그래밍(5판)』(2020), 『IT Cookbook for Beginner, 파이썬(2판)』(2020), 『IT Cookbook for Beginner, 리눅스』(2020), 『IT Cookbook for Beginner, 데이터베이스』(2019), 『IT Cookbook for Beginner, 자바 프로그래밍』(2018)번역서(한빛미디어), 『Head First HTML and CSS(개정판)』(2013)등이 있다.