ocw c언어 기초 -...
TRANSCRIPT
![Page 1: OCW C언어 기초 - contents.kocw.netcontents.kocw.net/KOCW/document/2012/woosong/leeeunju/02.pdf · 2 . C 언어 소개 •프로그래밍 언어란? •C 언어의 특징 C 프로그램](https://reader033.vdocuments.net/reader033/viewer/2022041500/5e20e25770e0484a00009d21/html5/thumbnails/1.jpg)
C언어 기초
2012년
이 은 주
“초보 프로그래머를 위한”
1장 : C언어의 개요
![Page 2: OCW C언어 기초 - contents.kocw.netcontents.kocw.net/KOCW/document/2012/woosong/leeeunju/02.pdf · 2 . C 언어 소개 •프로그래밍 언어란? •C 언어의 특징 C 프로그램](https://reader033.vdocuments.net/reader033/viewer/2022041500/5e20e25770e0484a00009d21/html5/thumbnails/2.jpg)
■ 프로그래밍의 기본 개념을 알아보고, 프로그래밍 언어에 대
해 생각해본다.
■ C 언어의 특징 및 활용 분야에 대해 알아본다.
■ 일반적인 C 프로그램 개발 과정에 대해 알아본다.
학습목표
2
![Page 3: OCW C언어 기초 - contents.kocw.netcontents.kocw.net/KOCW/document/2012/woosong/leeeunju/02.pdf · 2 . C 언어 소개 •프로그래밍 언어란? •C 언어의 특징 C 프로그램](https://reader033.vdocuments.net/reader033/viewer/2022041500/5e20e25770e0484a00009d21/html5/thumbnails/3.jpg)
C 언어 소개
• 프로그래밍 언어란?
• C 언어의 특징
C 프로그램 개발
• 일반적인 C 프로그램의 개발 과정
• 그 밖의 C 컴파일러
학습정리
목차
3
![Page 4: OCW C언어 기초 - contents.kocw.netcontents.kocw.net/KOCW/document/2012/woosong/leeeunju/02.pdf · 2 . C 언어 소개 •프로그래밍 언어란? •C 언어의 특징 C 프로그램](https://reader033.vdocuments.net/reader033/viewer/2022041500/5e20e25770e0484a00009d21/html5/thumbnails/4.jpg)
• 1972년 데니스 리치와 켄 톰슨
• Unix 시스템 및 C언어 개발, AT& 벨 연구소
C언어의 소개
4
![Page 5: OCW C언어 기초 - contents.kocw.netcontents.kocw.net/KOCW/document/2012/woosong/leeeunju/02.pdf · 2 . C 언어 소개 •프로그래밍 언어란? •C 언어의 특징 C 프로그램](https://reader033.vdocuments.net/reader033/viewer/2022041500/5e20e25770e0484a00009d21/html5/thumbnails/5.jpg)
• C 언어의 장점
– 간결성
• 구문이 간결하고, 프로그램 개발에 꼭 필요한 핵심적인 기능들을 제공
– 이식성 (Portability)
• 어셈블리어 수준의 로-레벨 지원 기능을 제공하면서도 기계-독립적인 프로그램을 개발할 수 있음
– 효율성
• 프로그램 크기도 작고, 프로그램의 실행 속도도 빠름
C언어의 소개
5
![Page 6: OCW C언어 기초 - contents.kocw.netcontents.kocw.net/KOCW/document/2012/woosong/leeeunju/02.pdf · 2 . C 언어 소개 •프로그래밍 언어란? •C 언어의 특징 C 프로그램](https://reader033.vdocuments.net/reader033/viewer/2022041500/5e20e25770e0484a00009d21/html5/thumbnails/6.jpg)
• C 언어의 단점
– 배우기도 어렵고, 사용하기도 어려움
– 다른 언어에 비해 사용 시 주의 사항이 많음
• C 언어가 많이 사용되는 이유
– C를 배우면 C++, java, C#같은 언어를 이해하는데도 도움이 됨
– C 언어는 프로그래밍의 기본 개념을 이해하는데도 도움이 됨
• C 언어의 활용 분야
– 라이브러리나 응용 프로그램 개발
– 시스템 프로그램, 서버 어플리케이션, 게임 등의 성능 위주의 프로그램 개발
– 임베디드 프로그램 개발
C언어의 소개
6
![Page 7: OCW C언어 기초 - contents.kocw.netcontents.kocw.net/KOCW/document/2012/woosong/leeeunju/02.pdf · 2 . C 언어 소개 •프로그래밍 언어란? •C 언어의 특징 C 프로그램](https://reader033.vdocuments.net/reader033/viewer/2022041500/5e20e25770e0484a00009d21/html5/thumbnails/7.jpg)
• 1단계 : 프로그램의 소스 코드 작성
– 소스 코드 편집기 이용
• 2단계 : 전처리기
• 3단계 : 컴파일 및 링크
– 컴파일러와 링커 이용
– 컴파일러는 .c 확장자를 갖는 소스 코드를 컴파일하여
.obj(또는 .o) 확장자를 갖는 오브젝트 코드 생성
– 링커는 오브젝트 코드를 연결해서 실행 파일 생성
• 4단계 : 실행
• 5단계 : 디버깅
C 프로그램 개발
7
![Page 8: OCW C언어 기초 - contents.kocw.netcontents.kocw.net/KOCW/document/2012/woosong/leeeunju/02.pdf · 2 . C 언어 소개 •프로그래밍 언어란? •C 언어의 특징 C 프로그램](https://reader033.vdocuments.net/reader033/viewer/2022041500/5e20e25770e0484a00009d21/html5/thumbnails/8.jpg)
• 대부분 C++ 컴파일러가 C 컴파일러 역할을 동시에 제공
• C/C++ 컴파일러는 소스 파일의 확장자가 .c일 때는 C 컴파일을 수행하고, .cpp일 때는 C++ 컴파일을 수행
C 프로그램 개발
8
![Page 9: OCW C언어 기초 - contents.kocw.netcontents.kocw.net/KOCW/document/2012/woosong/leeeunju/02.pdf · 2 . C 언어 소개 •프로그래밍 언어란? •C 언어의 특징 C 프로그램](https://reader033.vdocuments.net/reader033/viewer/2022041500/5e20e25770e0484a00009d21/html5/thumbnails/9.jpg)
• Visual C++
– 윈도 플랫폼에서 가장 많이 사용되는 C 개발 환경
– Visual Studio 6.0
– Visual Studio 2005
– Visual Studio 2008
– Visual Studio 2010
– Visual Studio 2012
C 프로그램 개발
9
![Page 10: OCW C언어 기초 - contents.kocw.netcontents.kocw.net/KOCW/document/2012/woosong/leeeunju/02.pdf · 2 . C 언어 소개 •프로그래밍 언어란? •C 언어의 특징 C 프로그램](https://reader033.vdocuments.net/reader033/viewer/2022041500/5e20e25770e0484a00009d21/html5/thumbnails/10.jpg)
• Visual C++의 프로젝트
– 프로그램을 만들기 위해서 사용되는 소스 파일이나 헤더 파일에 대한 정보, 소스 파일을 컴파일 할 때 사용되는 컴파일 옵션, 오브젝트 파일이나 라이브러리를 링크할 때 사용되는 링크 옵션 등의 정보 포함
– Visual C++에서는 프로젝트를 먼저 생성하고 프로젝트내에서 사용될 소스 파일을 생성하는 방식으로 프로그램을 개발
1장. C언어의 개요
C 프로그램 개발
10
![Page 11: OCW C언어 기초 - contents.kocw.netcontents.kocw.net/KOCW/document/2012/woosong/leeeunju/02.pdf · 2 . C 언어 소개 •프로그래밍 언어란? •C 언어의 특징 C 프로그램](https://reader033.vdocuments.net/reader033/viewer/2022041500/5e20e25770e0484a00009d21/html5/thumbnails/11.jpg)
• 1단계 : 프로젝트 생성
• 2단계 : 소스 파일 생성
• 3단계 : 소스 파일 작성
• 4단계 : 빌드
– 전처리기 처리 후 컴파일 및 링크 수행
• 5단계 : 실행
• 6단계 : 디버깅
1장. C언어의 개요
C 프로그램 개발
11
![Page 12: OCW C언어 기초 - contents.kocw.netcontents.kocw.net/KOCW/document/2012/woosong/leeeunju/02.pdf · 2 . C 언어 소개 •프로그래밍 언어란? •C 언어의 특징 C 프로그램](https://reader033.vdocuments.net/reader033/viewer/2022041500/5e20e25770e0484a00009d21/html5/thumbnails/12.jpg)
• 1단계 : 프로젝트 생성(1/4)
1장. C언어의 개요
C 프로그램 개발
12
◈ 프로그램 실행
![Page 13: OCW C언어 기초 - contents.kocw.netcontents.kocw.net/KOCW/document/2012/woosong/leeeunju/02.pdf · 2 . C 언어 소개 •프로그래밍 언어란? •C 언어의 특징 C 프로그램](https://reader033.vdocuments.net/reader033/viewer/2022041500/5e20e25770e0484a00009d21/html5/thumbnails/13.jpg)
• 1단계 : 프로젝트 생성(2/4)
1장. C언어의 개요
C 프로그램 개발
13
◈ 프로젝트 생성 메뉴
![Page 14: OCW C언어 기초 - contents.kocw.netcontents.kocw.net/KOCW/document/2012/woosong/leeeunju/02.pdf · 2 . C 언어 소개 •프로그래밍 언어란? •C 언어의 특징 C 프로그램](https://reader033.vdocuments.net/reader033/viewer/2022041500/5e20e25770e0484a00009d21/html5/thumbnails/14.jpg)
• 1단계 : 프로젝트 생성(3/4)
C 프로그램 개발
14
프로젝트의 종류
프로젝트명, 생성위치
◈ 워크스페이스 - 서로 관련된 프로젝트를 하나로 묶어서 관리
- 디폴트로 모든 프로젝트는 하나의 워크스페이스에 속한다.
![Page 15: OCW C언어 기초 - contents.kocw.netcontents.kocw.net/KOCW/document/2012/woosong/leeeunju/02.pdf · 2 . C 언어 소개 •프로그래밍 언어란? •C 언어의 특징 C 프로그램](https://reader033.vdocuments.net/reader033/viewer/2022041500/5e20e25770e0484a00009d21/html5/thumbnails/15.jpg)
• 1단계 : 프로젝트 생성(4/4)
C 프로그램 개발
![Page 16: OCW C언어 기초 - contents.kocw.netcontents.kocw.net/KOCW/document/2012/woosong/leeeunju/02.pdf · 2 . C 언어 소개 •프로그래밍 언어란? •C 언어의 특징 C 프로그램](https://reader033.vdocuments.net/reader033/viewer/2022041500/5e20e25770e0484a00009d21/html5/thumbnails/16.jpg)
• 2단계 : 소스 파일 생성(1/2)
1장. C언어의 개요
C 프로그램 개발
16
◈ 파일 생성 메뉴
![Page 17: OCW C언어 기초 - contents.kocw.netcontents.kocw.net/KOCW/document/2012/woosong/leeeunju/02.pdf · 2 . C 언어 소개 •프로그래밍 언어란? •C 언어의 특징 C 프로그램](https://reader033.vdocuments.net/reader033/viewer/2022041500/5e20e25770e0484a00009d21/html5/thumbnails/17.jpg)
• 2단계 : 소스 파일 생성(2/2)
1장. C언어의 개요
C 프로그램 개발
17
※ Visual C++을 C 컴파일러로 사용하려면 반드시 소스 파일의 확장자로 .c를 지정해야 한다
![Page 18: OCW C언어 기초 - contents.kocw.netcontents.kocw.net/KOCW/document/2012/woosong/leeeunju/02.pdf · 2 . C 언어 소개 •프로그래밍 언어란? •C 언어의 특징 C 프로그램](https://reader033.vdocuments.net/reader033/viewer/2022041500/5e20e25770e0484a00009d21/html5/thumbnails/18.jpg)
• 3단계 : 소스 파일 작성
1장. C언어의 개요
C 프로그램 개발
18
◈ 소스 파일 작성
#include <stdio.h> int main(void) { printf("Hello World\n"); return 0; }
![Page 19: OCW C언어 기초 - contents.kocw.netcontents.kocw.net/KOCW/document/2012/woosong/leeeunju/02.pdf · 2 . C 언어 소개 •프로그래밍 언어란? •C 언어의 특징 C 프로그램](https://reader033.vdocuments.net/reader033/viewer/2022041500/5e20e25770e0484a00009d21/html5/thumbnails/19.jpg)
• 4단계 : 빌드(1/2)
1장. C언어의 개요
C 프로그램 개발
19
◈ 빌드
![Page 20: OCW C언어 기초 - contents.kocw.netcontents.kocw.net/KOCW/document/2012/woosong/leeeunju/02.pdf · 2 . C 언어 소개 •프로그래밍 언어란? •C 언어의 특징 C 프로그램](https://reader033.vdocuments.net/reader033/viewer/2022041500/5e20e25770e0484a00009d21/html5/thumbnails/20.jpg)
• 4단계 : 빌드(2/2)
1장. C언어의 개요
C 프로그램 개발
20
◈ 빌드 결과
![Page 21: OCW C언어 기초 - contents.kocw.netcontents.kocw.net/KOCW/document/2012/woosong/leeeunju/02.pdf · 2 . C 언어 소개 •프로그래밍 언어란? •C 언어의 특징 C 프로그램](https://reader033.vdocuments.net/reader033/viewer/2022041500/5e20e25770e0484a00009d21/html5/thumbnails/21.jpg)
• 5단계 : 실행(1/2)
1장. C언어의 개요
C 프로그램 개발
21
◈ 프로그램 실행
![Page 22: OCW C언어 기초 - contents.kocw.netcontents.kocw.net/KOCW/document/2012/woosong/leeeunju/02.pdf · 2 . C 언어 소개 •프로그래밍 언어란? •C 언어의 특징 C 프로그램](https://reader033.vdocuments.net/reader033/viewer/2022041500/5e20e25770e0484a00009d21/html5/thumbnails/22.jpg)
• 5단계 : 실행(2/2)
1장. C언어의 개요
C 프로그램 개발
22
◈ 프로그램 실행 결과
![Page 23: OCW C언어 기초 - contents.kocw.netcontents.kocw.net/KOCW/document/2012/woosong/leeeunju/02.pdf · 2 . C 언어 소개 •프로그래밍 언어란? •C 언어의 특징 C 프로그램](https://reader033.vdocuments.net/reader033/viewer/2022041500/5e20e25770e0484a00009d21/html5/thumbnails/23.jpg)
• 6단계 : 디버깅(1/2)
1장. C언어의 개요
C 프로그램 개발
23
◈ 디버깅 시작
![Page 24: OCW C언어 기초 - contents.kocw.netcontents.kocw.net/KOCW/document/2012/woosong/leeeunju/02.pdf · 2 . C 언어 소개 •프로그래밍 언어란? •C 언어의 특징 C 프로그램](https://reader033.vdocuments.net/reader033/viewer/2022041500/5e20e25770e0484a00009d21/html5/thumbnails/24.jpg)
• 6단계 : 디버깅(2/2)
1장. C언어의 개요
C 프로그램 개발
24
◈ 디버깅 화면
![Page 25: OCW C언어 기초 - contents.kocw.netcontents.kocw.net/KOCW/document/2012/woosong/leeeunju/02.pdf · 2 . C 언어 소개 •프로그래밍 언어란? •C 언어의 특징 C 프로그램](https://reader033.vdocuments.net/reader033/viewer/2022041500/5e20e25770e0484a00009d21/html5/thumbnails/25.jpg)
• 그 밖의 C/C++ 컴파일러
– Visual Studio.NET
– C++ Builder
– Dev―C++
1장. C언어의 개요
C 프로그램 개발
25
![Page 26: OCW C언어 기초 - contents.kocw.netcontents.kocw.net/KOCW/document/2012/woosong/leeeunju/02.pdf · 2 . C 언어 소개 •프로그래밍 언어란? •C 언어의 특징 C 프로그램](https://reader033.vdocuments.net/reader033/viewer/2022041500/5e20e25770e0484a00009d21/html5/thumbnails/26.jpg)
• 프로그래밍 언어
– C, C++, java, C#과 같은 고급 언어를 이용하면 프로그램을 개발하기도 쉽고, 유지 보수하기도 쉬워짐
• C 언어의 특징
– 1972년 데니스 리치(Dennis Ritchie)와 켄 톰슨(Ken Thomson)가 개발.
– 특징 : 간결성, 이식성, 효율성
– 배우기나 사용하기는 어렵지만 프로그래머에게 최대한의 자유를 보장
1장. C언어의 개요
학습정리(1/2)
26
![Page 27: OCW C언어 기초 - contents.kocw.netcontents.kocw.net/KOCW/document/2012/woosong/leeeunju/02.pdf · 2 . C 언어 소개 •프로그래밍 언어란? •C 언어의 특징 C 프로그램](https://reader033.vdocuments.net/reader033/viewer/2022041500/5e20e25770e0484a00009d21/html5/thumbnails/27.jpg)
• C 프로그램 개발
– 일반적인 C 프로그램의 개발 과정
– Visual C++을 이용한 C 프로그램 개발 과정
1장. C언어의 개요
학습정리(2/2)
27