책 소개프로그램은 사용자가 원하는 작업을 컴퓨터가 수행하도록 지시하는 명령들의 집합이다. 명령을 지시하기 위해서는 의사소통이 필수적이다. 그러나 기계(컴퓨터)와 인간(사용자)은 사용하는 언어가 다르다. 기계는 기계어(Machine Language)를 사용하고 인간은 자연어(Natural Language)를 사용하므로 둘 사이의 공통 언어와 이 언어의 번역자가 필요한 것이다. 이 공통 언어를 프로그래밍 언어(Programming Language)라 하며 번역자를 컴파일러(번역기를 통칭하는 의미로)라 한다. 따라서 프로그램을 작성하기 위해서는 프로그래밍 언어 사용법을 익혀야한다. 사람이 사용하는 언어가 여러 가지(한국어, 영어, 일본어 등) 이듯 프로그래밍 언어도 여러 가지(C언어, Java, Visual Basic 등)며, 언어마다 문법과 어휘가 있듯이 프로그래밍 언어도 각각의 규칙(문법)과 예약어(어휘)가 존재한다. C언어는 1970년대 초기에 등장하였으나 지금까지도 많은 분야에서 사용되며 프로그래밍 입문의 기초가 될 뿐만 아니라 그 막강한 기능 때문에 많은 프로그래머들에게 사용되는 언어이기도 하다. 본 교재는 대학의 한 학기 강의에 적합하도록 구성하였으며 실습 수업에 맞추어 실습 예제와 종합 문제를 구성하였다. 프로그래밍 지식이 전혀 없는 대학 초년생들도 실습을 중심으로 따라하면 프로그래밍에 대한 기초가 튼튼해 질 것으로 기대한다.
본 교재의 제1부 C언어 프로그래밍의 C언어 기초 부분에서는 C언어의 기본구조를 이해하기에 적합한 가장 간단한 예제를 이용하여 프로그램을 처음 시작하는 초보자들도 쉽게 이해하도록 설명하였고 C언어의 문법과 구조 부분에서는 문법과 어휘뿐만 아니라 포인터, 구조체 등의 어려운 개념을 설명하여 프로그래밍에 대한 깊이 있는 이해와 실력향상을 도모한다. 제2부 C언어로 구현한 자료구조에서는 1부에서 언급한 C언어 프로그래밍 기법을 이용하여 스택, 큐, 리스트 등의 기초 자료구조를 구현한다. 각 장의 종합 문제에서는 각 장의 내용을 포괄적으로 포함하는 예제를 작성하여 실행결과를 확인한 후 직접 변경해함으로서 프로그래밍 능력을 향상시킨다.
|
쉬운 예제로 배우는 C 언어 프로그래밍 [개정판]
지은이 : 신현덕, 안희학
ISBN : 978-89-353-0468-4
금액 : 17,000원
● 발행날짜 : 2012년 2월 20일
● 페이지 : 338페이지
● 판매처 : 온라인 서점
● 강의자료 제공
책 소개
책 소개
프로그램은 사용자가 원하는 작업을 컴퓨터가 수행하도록 지시하는 명령들의 집합이다. 명령을 지시하기 위해서는 의사소통이 필수적이다. 그러나 기계(컴퓨터)와 인간(사용자)은 사용하는 언어가 다르다.기계는 기계어(Machine Language)를 사용하고 인간은 자연어(Natural Language)를 사용하므로 둘 사이의 공통 언어와 이 언어의 번역자가 필요한 것이다. 이 공통 언어를 프로그래밍 언어(Programming Language)라 하며 번역자를 컴파일러(번역기를 통칭하는 의미로)라 한다. 따라서 프로그램을 작성하기 위해서는 프로그래밍 언어 사용법을 익혀야한다. 사람이 사용하는 언어가 여러 가지(한국어, 영어, 일본어 등) 이듯 프로그래밍 언어도 여러 가지(C언어, Java, Visual Basic 등)며, 언어마다 문법과 어휘가 있듯이 프로그래밍 언어도 각각의 규칙(문법)과 예약어(어휘)가 존재한다.
C언어는 1970년대 초기에 등장하였으나 지금까지도 많은 분야에서 사용되며 프로그래밍 입문의 기초가 될 뿐만 아니라 그 막강한 기능 때문에 많은 프로그래머들에게 사용되는 언어이기도 하다.
본 교재는 대학의 한 학기 강의에 적합하도록 구성하였으며 실습 수업에 맞추어 실습 예제와 종합 문제를 구성하였다. 프로그래밍 지식이 전혀 없는 대학 초년생들도 실습을 중심으로 따라하면 프로그래밍에 대한 기초가 튼튼해 질 것으로 기대한다.
본 교재의 제1부 C언어 프로그래밍의 C언어 기초 부분에서는 C언어의 기본구조를 이해하기에 적합한 가장 간단한 예제를 이용하여 프로그램을 처음 시작하는 초보자들도 쉽게 이해하도록 설명하였고 C언어의 문법과 구조 부분에서는 문법과 어휘뿐만 아니라 포인터, 구조체 등의 어려운 개념을 설명하여 프로그래밍에 대한 깊이 있는 이해와 실력향상을 도모한다.
제2부 C언어로 구현한 자료구조에서는 1부에서 언급한 C언어 프로그래밍 기법을 이용하여 스택, 큐, 리스트 등의 기초 자료구조를 구현한다.
각 장의 종합 문제에서는 각 장의 내용을 포괄적으로 포함하는 예제를 작성하여 실행결과를 확인한 후 직접 변경해함으로서 프로그래밍 능력을 향상시킨다.
저자소개
목차
제 01 부 C 언어 프로그래밍CHAPTER 01 C 언어의 개요
1.1 C 언어의 개요
1.1.1 시스템 프로그래밍
1.1.2 컴퓨터 그래픽
1.1.3 수치 해석
1.1.4 파일 처리와 데이터 처리
1.2 프로그램 언어와 C언어 실행과정
1.3 간단한 C프로그램의 구조
1.4 프로그램 작성 방법과 컴파일러 사용법
1.4.1 Visual c++ 실행하기
1.4.2 프로젝트 생성하기
1.4.3 파일 추가
1.4.4 컴파일 및 실행
CHAPTER 02 데이터 형
2.1 식별자와 예약어
2.2 주석문
2.3 데이터 형
2.3.1 선언
2.3.2 정수 데이터 형
2.3.3 실수형 데이터
2.3.4 문자형 데이터
2.3.5 열거형
2.3.6 상수 정의(Const)
2.4 자료형 변환(Type Casting)
2.4.1 묵시적 형 변환
2.4.2 명시적 형 변환
2.5 전처리기
2.5.1 #include
2.5.2 #define
2.5.3 #undef
2.5.4 #if, #else, #elif, #endif
2.5.5 #ifdef, #ifndef
종합문제
CHAPTER 03 표준 입출력 함수
3.1 표준 입출력 함수
3.1.1 printf()
3.1.2 scanf()
3.2 문자 입출력 함수
3.2.1 getchar()
3.2.2 putchar()
3.3 기타 입출력 함수
3.3.1 gets()
3.3.2 puts()
종합문제
CHAPTER 04 연산자(Operator)
4.1 산술 연산자(Arithmetic Expression)
4.1.1 단항 연산자(Unary Operator)
4.1.2 이항 연산자(Binary Operator)
4.2 관계 연산자(Relational Operator)
4.3 논리 연산자(Logical Operator)
4.4 비트 연산자(Bit Operator)
4.5 대입 연산자(Assignment Operator)
4.6 조건 연산자
4.7 기타 연산자
4.7.1 순차 연산자
4.7.2 sizeof 연산자
4.7.3 Cast 연산자
종합문제
CHAPTER 05 제어문
5.1 문장의 종류와 블록
5.2 조건문
5.2.1 단순 if 문
5.2.2 if-else 문
5.2.3 if-else if 문
5.2.4 switch-case 문
5.3 반복문
5.3.1 while 문
5.3.2 do-while 문
5.3.3 for 문
5.3.4 중첩 for 문
5.4 분기문
5.4.1 goto 문
5.4.2 break 문
5.4.3 continue 문
종합문제
CHAPTER 06 배열
6.1 배열의 개념과 필요성
6.2 1차원 배열
6.2.1 1차원 배열의 선언
6.2.2 1차원 배열의 초기화
6.2.3 1차원 문자 배열
6.3 다차원 배열
6.3.1 2차원 배열의 선언
6.3.2 2차원 배열의 초기화
6.3.3 3차원 배열
종합문제
CHAPTER 07 포인터(pointer)
7.1 포인터 변수의 의미
7.1.1 포인터 변수의 선언
7.1.2 포인터 연산자
7.1.3 포인터 변수의 초기화
7.1.4 포인터 변수의 연산
7.1.5 다중 포인터 변수
7.2 포인터 배열
7.2.1 포인터와 1차원 배열
7.2.2 포인터와 2차원 배열
7.2.3 포인터와 문자열
종합문제
CHAPTER 08 함수(Function)
8.1 함수의 개념과 필요성
8.2 함수의 정의와 선언
8.2.1 함수의 정의
8.2.2 함수의 호출
8.2.3 실매개변수와 형식매개변수
8.2.4 함수 선언
8.3 return() 문
8.4 함수간의 데이터 전달
8.4.1 값에 의한 전달
8.4.2 주소에 의한 전달
8.4.3 그 외 전달 방법
8.5 재귀적 호출과 하노이 탑
8.5.1 재귀적 호출(recursive call)
8.5.2 하노이 타워(tower of hanoi)
8.6 표준함수
8.6.1 문자 함수와 문자열 함수
8.6.2 자료 변환 처리 함수
8.6.3 기억장치 관리 함수
8.6.4 시간 함수
8.6.5 수학 함수
8.6.6 기타 함수
8.7 기억 클래스(Storage class)
8.7.1 자동 변수
8.7.2 정적 변수
8.7.3 레지스터 변수
8.7.4 외부 변수
종합문제
CHAPTER 09 구조체(structure)와 공용체(union)
9.1 구조체 정의와 구성원
9.1.1 구조체 정의와 선언
9.1.2 구조체 변수의 초기화
9.2 구조체 배열과 포인터
9.2.1 구조체 배열
9.2.2 구조체형 포인터
9.3 중첩(nested) 구조체
9.4 구조체와 함수
9.5 공용체(union)
종합문제
CHAPTER 10 파일 입출력
10.1 파일과 입출력의 개념
10.2 파일 포인터와 파일의 개방과 폐쇄
10.3 문자와 문자열 입출력 함수
10.3.1 문자 입출력 함수
10.3.2 문자열 입출력 함수
10.3.3 서식 지정 파일 입출력
10.4 블록 단위 입출력
10.5 랜덤 파일(random file) 함수
10.5.1 fseek()
10.5.2 rewind()
10.5.3 fflush()
10.5.4 ftell()
10.6 에러 처리
종합문제
제 02 부 C언어로 구현한 자료구조
CHAPTER 01 스택(Stack)
1.1 스택의 기본 동작
1.1.1 항목 삽입과 오버플로우 검사
1.1.2 항목 삭제와 언더플로우 검사
1.2 배열을 이용한 스택의 구현
1.3 연결 리스트를 이용한 스택의 구현
CHAPTER 02 큐(Queue)
2.1 큐의 기본 동작
2.1.1 항목 삽입과 오버플로우 검사
2.1.2 항목 삭제와 언더플로우 검사
2.2 배열을 이용한 큐의 구현
2.3 연결 리스트를 이용한 큐의 구현
CHAPTER 03 리스트(List)
3.1 리스트의 표현
3.2 단일 연결 리스트
3.2.1 단일 연결 리스트의 노드 삽입
3.2.2 단일 연결 리스트의 노드 삭제
3.3 단일 연결 리스트의 구현
종합문제