C 언어로 배우는 프로그래밍의 기초 (반도체부터 컴퓨터까지)

C 언어로 배우는 프로그래밍의 기초 (반도체부터 컴퓨터까지)

$20.99
Description
컴퓨터와 프로그래밍이 무엇인지, 어떻게 구성되며 어떻게 동작하는지 근본적인 궁금증에 목마른 독자를 위한 책

이 책은 단순히 프로그래밍 언어의 문법을 설명하는 매뉴얼이 아니라 컴퓨터가 무엇인지, 프로그래밍이 어떤 것인지 알려 주는 책입니다.
컴퓨터를 구성하는 기본 부품인 논리 게이트, 반도체, 트랜지스터가 어떤 원리와 방식으로 구성되는지, C 언어를 비롯한 다른 프로그래밍 언어들이 컴퓨터에서 어떤 과정을 거쳐서 어떻게 처리되는지 등 프로그래밍의 원리와 개념이 궁금하다면 유용할 책입니다.
프로그램의 작동 방식을 설명하기 위해 Low-Level에 가까운 C 언어를 주로 사용하지만, Java나 C# 등 다른 언어에서는 같은 내용을 어떻게 다루는지에 대한 설명도 잊지 않았습니다.
글로만 설명해서는 이해하기 힘든 내용들을 소스 코드와 함께 소스 코드가 실제 메모리에서 어떤 식으로 동작하는지 그림으로 설명하여 프로그래머에게 필수적인 메모리에 대한 이해를 돕습니다.
저자

김화수

저자김화수
서울대학교에서컴퓨터공학을전공했다.SMIT에서2002부산아시안게임국제송출CG프로그램을개발했고,네이버에입사해P2P네트워크,검색광고시스템,네이버클라우드를개발했다.
현재SK텔레콤에서클라우드플랫폼(CLOUDBERRY)개발을담당하고있다.
일반서적과웹에서는쉽게접할수없는프로그래밍정보를제공하기위해‘성남현인의프로그래밍원리’블로그를운영하고있으며,저서로는『FundamentalC++프로그래밍원리』(혜지원,2015)와『기본개념과핵심원리로배우는C++프로그래밍』(한빛아카데미,2017)이있다.
2015~2017MicrosoftVisualC++MVP(MostValuableProfessional)이다.

목차

머리말
추천사
목차

{PART01컴퓨터Computer}

Chapter01컴퓨터의개요
1.하드웨어
2.소프트웨어

Chapter02컴퓨터의역사
1.기계식계산기
2.진공관을이용한1세대컴퓨터
3.트랜지스터를이용한2세대컴퓨터
4.집적회로를이용한3세대컴퓨터
5.4세대컴퓨터

{PART02디지털과논리회로}

Chapter01컴퓨터의정보표현방법
1.아날로그신호와디지털신호
2.디지털과아날로그의장단점

Chapter02디지털연산을위한논리회로
1.불대수
2.논리게이트(LogicGate)

Chapter03논리회로설계의예
1.기억할수있는회로래치(Latch)
2.계산을하는회로덧셈기

{PART03컴퓨터와반도체}

Chapter01반도체
1.실리콘으로만들어지는반도체
2.트랜지스터
3.트랜지스터로게이트를

Chapter02반도체공정
1.N형불순물반도체공정예
2.인버터제작공정
3.마이크로프로세서
4.메인메모리

{PART04프로그래밍Programming}

Chapter01프로그래밍이란?

Chapter02프로그래밍언어
1.프로그램이란?
2.기계어
3.프로그래밍언어
4.어셈블리어
5.C언어

Chapter03프로그래밍실습언어C
1.C언어를알아야하는이유

Chapter04디지털처리
1.비트열(bits)
2.바이트(Byte)
3.디지털처리가능여부
4.디지털처리의한계
5.프로그래밍대상

{PART5실습환경구축}

Chapter01C프로그래밍을위한도구
1.코드편집기
2.컴파일러(Compiler)
3.그외의도구

Chapter02통합개발환경(IntegratedDevelopmentEnvironment)

Chapter03비주얼스튜디오(VisualStudio)
1.VisualStudioCommunity2017

Chapter04VisualStudioCommunity2017설치하기
1.다운로드
2.로그인및설정
3.솔루션및프로젝트만들기

{PART06프로그래밍기초}

Chapter01언어의기본단위토큰(Token)
1.키워드(Keyword)
2.식별자(Identifer)
3.상수(Constant)
4.문자(Character)
5.문자열(String-literal)
6.연산자(Operator)
7.문장부호(Punctuator)

Chapter02표현식(Expression)과명령문(Statment)
1.표현식(Expression)
2.명령문(Statement)

Chapter03소스(Source)파일
1.소스파일의종류
2.C언어파일 104
3.소스파일(*.c) 105
4.헤더파일(*.h) 108

Chapter04함수와프로그램의시작
1.함수(Function)
2.프로그램시작함수

Chapter05표준입출력
1.출력
2.입력
3.다른언어의표준입출력

Chapter06주석(Comments)

{PART07변수와상수}

Chapter01기억장치
1.가상메모리
2.가상메모리주소
3.프로그램의실행과정
4.계산기-C프로그램

Chapter02변수
1.변수명
2.변수의종류
3.정적타입지정
4.변수사용
5.동적타입지정

Chapter03상수
1.상수의표기
2.정수상수
3.실수상수
4.변수의상수화

{PART08타입Type}

Chapter01타입(Type)
1.기본타입
2.집합타입
3.기능타입
4.사용자정의타입

Chapter02정수타입
1.부호없는정수(UnsingedType)
2.부호있는정수(SingedType)
3.2의보수(2'sComplement)
4.정수타입크기

Chapter03부동소수점타입
1.고정소수점과부동소수점
2.부동소수점과2진법
3.부동소수점구조
4.부동소수점의표현한계
5.부동소수점사용시주의점
6.부동소수점부가정보

Chapter04문자타입
1.기본문자타입char
2.유니코드
3.UTF-N(UnicodeTransformationFormat)
4.확장문자타입wchar_t
5.EscapeSequence

Chapter05문자열
1.문자배열
2.NULL종료문자열
3.유니코드문자열

{PART09제어문}

Chapter01제어문의구조

Chapter02조건분기문
1.if
2.if~else~
3.if~elseif~[else~]
4.switch

Chapter03반복문
1.for
2.while
3.그외반복문
4.다중반복
5.continue

{PART10연산자}

Chapter01연산자의분류
1.기능별분류
2.형태별분류

Chapter02산술연산자
1.기본할당연산자(대입연산자)
2.나머지(Modular)연산자
3.증감연산자

Chapter03비교연산자

Chapter04논리연산자
1.NOT(!)
2.AND(&&)
3.OR(||)

Chapter05비트연산자
1.반전연산자(~)
2.비트곱(&),합(|),차(^)연산자
3.비트이동연산자(〈〈,〉〉,〉〉〉)

Chapter06복합할당연산자

Chapter07기타연산자
1.삼항연산자
2.sizeof
3.타입변환연산자

Chapter08연산자의우선순위

{PART11함수}

Chapter01함수정의

Chapter02함수선언

Chapter03함수인자
1.매개변수와실인자(Parameter&Argument)
2.값전달(CallbyValue)
3.가변인자함수

Chapter04함수호출
1.스택프레임
2.재귀호출

{PART12배열Array}

Chapter01배열정의

Chapter02인덱스

Chapter03배열명

Chapter04배열생성및초기화
1.C언어배열초기화
2.C#배열초기화
3.문자열초기화

Chapter05다차원배열
1.C언어2차원배열
2.C#2차원배열
3.Java2차원배열

Chapter06배열인자
1.C언어배열타입인자
2.C#,Java배열타입인자

Chapter07배열요소의개수
1.C언어배열요소의개수
2.C#,Java배열요소의개수

Chapter08실습

{PART13구조체Struct}

Chapter01구조체정의와변수정의
1.태그미사용구조체변수정의
2.태그사용구조체변수정의
3.typedef구조체변수정의

Chapter02구조체연산자
1.대입연산자
2.사용불가연산자
3.직접멤버연산자(.)
4.간접멤버연산자(-〉)

Chapter03구조체인자
1.값전달

Chapter04구조체메모리구조
1.오프셋(Offset)과패딩(Padding)
2.구조체의크기

Chapter05구조체와배열

{PART14포인터Pointer}

Chapter01포인터(Pointer)소개
1.포인터를배우는이유
2.포인터를사용하는이유

Chapter02포인터정의
1.TYPE변수를가리키는TYPE*포인터
2.TYPE1변수를가리키는TYPE2*포인터

Chapter03포인터연산자
1.참조연산자(&)
2.산술연산자(+,-)
3.증감연산자(++,--)
4.간접연산자(*)
5.간접멤버연산자(-〉)
6.첨자연산자([])
7.범용포인터

Chapter04void포인터
1.void포인터의한계

Chapter05문자열포인터

Chapter06포인터인자
1.주소전달

Chapter07동적메모리할당과해제
1.스택의한계
2.힙요구사항
3.malloc과free
4.C#,Java의힙메모리

{PART15알고리즘Algorithm}

Chapter01알고리즘이란?

Chapter02최댓값찾기

Chapter03정렬

Chapter04검색

Chapter05알고리즘의이용