C언어 Express (4 판)

C언어 Express (4 판)

$44.38
Description
보다 쉽고 재미있는 프로그래밍의 세계로!

C언어는 공학 전반의 실무 현장에서 가장 많이 사용되는 언어 중의 하나이다. C언어는 간결하고 효율적이며 저수준의 하드웨어 제어도 가능한 강력한 언어이다. 이 책을 저술하게 된 가장 큰 이유는, 프로그래밍 입문자들이 이 책을 통하여 보다 쉽고 재미있게 프로그래밍의 세계로 들어올 수 있도록 하자는 것이었다. 그러기 위해 다음과 같이 이 책을 구성하였다.
첫째, 적절한 그림을 가능한 많이 사용하여 보다 친숙하고, 지루하지 않으며 독자들이 이해하기 쉽도록 구성하였다. 입문자들은 그림을 통하여 보다 쉽게 관련 개념들을 빠르게 이해할 수 있다.
둘째, 각각의 주제에 대하여 개념과 원리를 자세하게 설명하였으며 설명은 문답식이어서 독자들이 친숙하게 느끼도록 하였다.
셋째, 페이지가 허용하는 한도에서 충분한 예제 프로그램을 제공하여 입문자들이 참고할수 있도록 하였다.
넷째, 실습 책을 따로 구입하지 않아도 혼자서 실습을 진행할 수 있도록 단계식 실습 문제를 제공하였다. 사용자들은 주어진 예제 소스를 첨삭해가면서 학습한 내용을 체득할 수 있도록 하였다.

추가되고 보완된 새로운 모습의 개정판!
4차 개정판에서 다음과 같은 점들을 보완하고 추가하였다.

ㆍ1장의 스크래치 내용을 삭제하고 알고리즘에 관한 내용을 추가하였다.
전체 그림을 새롭게 그려서 좀 더 선명하고 이해하기 쉬운 그림으로 교체하였다.
ㆍ연습 문제와 프로그래밍 문제의 일부를 교체, 업그레이드하였다. 너무 어려운 문제나 중복되는 문제를 삭제하고 새롭고 흥미로운 문제들은 추가하였다. 또 프로그래밍 문제에는 난이도와 주제, 힌트를 두어서 프로그램을 작성하는 데 도움을 주고자 하였다.
ㆍ각 장의 끝에 미완성의 미니 프로젝트 문제를 제시하였다. 이들 문제는 학습 중의 과제로 활용할 수 있도록 하였다.
ㆍ각 장에 흥미를 느낄 수 있는 다양한 분야의 실습 문제를 추가하였다. 프로그램을 힌트와 함께 작성하다 보면, 문제를 해결하는 능력도 단계적으로 배양될 것으로 기대한다.
저자

천인국

1983년서울대학교전자공학과공학사,1985년한국과학기술원전기및전자공학과공학석사,1993년한국과학기술원전기및전자공학과공학박사했다.1985~1988년삼성전자종합연구소주임연구원으로근무했으며1993년~현재까지순천향대학교컴퓨터공학과교수로있다.2005년캐나다UBC방문교수경력이있다.

목차

Chapter01프로그래밍의개념
1.1프로그래밍이란?
1.2프로그래밍언어
1.3C언어의소개
1.4알고리즘이란?
[LAB]프린터고장수리알고리즘
[LAB]성적평균계산기
[MiniProject]숫자리스트에서최대값찾는알고리즘
■Q&A
■Exercise


Chapter02프로그램작성과정
2.1프로그램개발과정
2.2통합개발환경
2.3비주얼스튜디오설치
2.4비주얼스튜디오사용하기
2.5예제프로그램의간략한설명
2.6예제프로그램의응용
[LAB]간단한계산을해보자
[LAB]구구단을출력해보자
2.7오류수정
[MiniProject]오류를처리해보자
■Q&A
■Summary
■Exercise
■Programming

Chapter03C프로그램구성요소
3.1덧셈프로그램#1
3.2주석
3.3전처리기
3.4함수
3.5변수
3.6수식과연산
3.7printf()
[LAB]사칙연산
3.8scanf()
3.9덧셈프로그램#2
[LAB]원의면적구하기프로그램
[LAB]환율계산프로그램
[LAB]평균계산하기프로그램
[MiniProject]사각형의둘레와면적
■Summary
■Exercise
■Programming

Chapter04변수와자료형
4.1변수와상수
4.2자료형
4.3정수형
4.4부동소수점형
4.5문자형
[LAB]변수의초기값
[MiniProject]태양빛도달시간계산
■Q&A
■Summary
■Exercise
■Programming

Chapter05수식과연산자
5.1수식과연산자
5.2산술연산자
[LAB]거스름돈계산하기
5.3대입연산자
5.4관계연산자
5.5논리연산자
[LAB]윤년판단
5.6조건연산자
5.7콤마연산자
5.8비트연산자
[LAB]십진수를이진수로출력하기
[LAB]XOR를이용한암호화
5.9형변환
5.10연산자의우선순위와결합규칙
[LAB]화씨온도를섭씨로바꾸기
■Q&A
■Summary
■Exercise
■Programming

Chapter06조건문
6.1제어문
6.2if문
6.3if-else문
6.4다중if문
[LAB]이차방정식
[LAB]산술계산기
6.5switch문
[LAB]산술계산기(switch버전)
6.6goto문
[MiniProject]소득세계산기만들기
■Summary
■Exercise
■Programming

Chapter07반복문
7.1반복의개념
7.2while문
7.3반복루프에서보초값사용하기
[LAB]최대공약수찾기
[LAB]반감기
7.4do…while문
[LAB]숫자추측게임
7.5for문
7.6중첩반복문
[LAB]직각삼각형찾기
7.7무한루프와break,continue
[LAB]파이구하기
[LAB]복리이자계산
[LAB]자동으로수학문제생성하기
[LAB]도박사의확률
■Q&A
■Exercise
■Programming

Chapter08함수
8.1함수란?
8.2함수정의
8.3매개변수와반환값
[LAB]생일축하함수
[LAB]정수를입력받는get_integer()함수
[LAB]정수의합을계산하는add()함수
[LAB]팩토리얼계산함수
[LAB]온도변환프로그램
[LAB]조합계산하기
[LAB]소수찾기
8.4함수원형
8.5표준라이브러리함수(난수)
[LAB]동전던지기게임
[LAB]자동차경주프로그램
8.6표준라이브러리함수(수학함수)
[LAB]시간맞추기게임
[LAB]나무높이측정
[LAB]삼각함수그리기
8.7함수를사용하는이유
[MiniProject]공학용계산기프로그램작성
■AdvancedTopic
■Q&A
■Summary
■Exercise
■Programming

Chapter09변수범위와순환호출
9.1변수의속성
9.2지역변수
9.3전역변수
9.4생존시간
[LAB]은행계좌구현하기
[LAB]한번만초기화하기
9.5연결
9.6어떤저장유형을사용하여하는가?
[LAB]난수발생기작성(LinearCongruentialGenerator)
9.7가변매개변수함수
9.8순환호출
[MiniProject]하노이탑
■AdvancedTopic
■Summary
■Exercise
■Programming

Chapter10배열
10.1배열이란?
10.2배열의초기화
[LAB]주사위던지기
[LAB]극장예약시스템
[LAB]최소값찾기
10.3배열과함수
10.4정렬
10.5탐색
10.62차원배열
[LAB]영상처리
[MiniProject]TIC-TAC-TOE게임
■Summary
■Exercise
■Programming

Chapter11포인터
11.1포인터란?
11.2간접참조연산자
[LAB]임베디드프로그래밍체험#1
11.3포인터사용시주의할점
11.4포인터연산
11.5포인터와함수
11.6포인터와배열
[LAB]영상처리
11.7포인터사용의장점
[MiniProject]자율주행자동차
■Summary
■Exercise
■Programming

Chapter12문자와문자열
12.1문자와문자열
12,2문자입출력라이브러리
12.3문자열입출력라이브러리
12.4문자처리라이브러리
[LAB]단어세기
[LAB]유효한암호확인
12.5문자열처리라이브러리함수
[LAB]단답형퀴즈
12.6문자열수치변환
[LAB]영상파일이름자동생성
12.7문자열여러개를저장하는방법
[LAB]한영사전의구현
[LAB]메시지암호화
[MiniProject]행맨게임
■Q&A
■Summary
■Exercise
■Programming

Chapter13구조체
13.1구조체란무엇인가?
13.2구조체의선언,초기화,사용
[LAB]2차원공간상의점을구조체로표현하기
[LAB]사각형을point구조체로나타내기
13.3구조체의배열
13.4구조체와포인터
13.5구조체와함수
[LAB]벡터연산
13.6공용체
13.7열거형
13.8typedef
[LAB]2차원공간상의점을POINT타입으로정의하기
[MiniProject]4지선다퀴즈프로그램
■Q&A
■Summary
■Exercise
■Programming

Chapter14포인터활용
14.1이중포인터
14.2포인터배열
14.3배열포인터
14.4함수포인터
14.5다차원배열과포인터
14.6const포인터와volatile포인터
14.7void포인터
14.8main함수의인수
[LAB]프로그램인수사용하기
[LAB]qsort()함수사용하기
[MiniProject]이분법으로근구하기
■Summary
■Exercise
■Programming

Chapter15스트림과파일입출력
15.1스트림
15.2파일의기초
15.3텍스트파일읽기와쓰기
[LAB]파일에서특정문자열탐색
15.4이진파일읽기와쓰기
[LAB]이진파일에학생정보저장하기
[LAB]이미지파일복사하기
[LAB]파일압축(RLE)
[LAB]파일암호화(XOR)
15.5임의접근
[MiniProject]주소록만들기
■Summary
■Q&A
■Exercise
■Programming

Chapter16전처리및다중소스파일
16.1전처리기란?
16.2단순매크로
16.3함수매크로
[LAB]ASSERT매크로
[LAB]비트매크로작성
16.4#ifdef,#endif
[LAB]여러가지버전정의하기
[LAB]리눅스버전과윈도우버전분리
16.5#if,#else,#endif
16.6다중소스파일
[LAB]헤더파일중복포함막기
16.7비트필드구조체
[LAB]비트필드와공용체를이용한하드웨어제어
[MiniProject]전처리기사용하기
■Summary
■Exercise
■Programming

Chapter17동적메모리
17.1동적할당메모리란?
17.2동적메모리할당의기본
[LAB]동적배열을이용한성적처리
17.3calloc()과realloc()
[LAB]어떤문자열이라도저장하는동적메모리
17.4구조체를동적생성해보자
17.5연결리스트란?
[MiniProject]영화관리프로그램
■AdvancedTopic
■Summary
■Exercise
■Programming