1장. c언어의kycyber.konyang.ac.kr/contents/private/20132/50193a01… ·  ·...

30
1. C언어의 개요 1 #include <stdio.h> int main(void) { int num; printf(“Please enter an integer: "); scanf("%d", &num); if ( num < 0 ) printf("Is negative.\n"); printf("num = %d\n", num); return 0; }

Upload: phamcong

Post on 14-Mar-2018

230 views

Category:

Documents


8 download

TRANSCRIPT

Page 1: 1장. C언어의kycyber.konyang.ac.kr/contents/private/20132/50193A01… ·  · 2013-10-10프로그래밍의 기본 개념을 알아보고, 프로그래밍 언어에 대해 생각해본다

1장. C언어의 개요

1

#include <stdio.h>

int main(void)

{

int num;

printf(“Please enter an integer: ");

scanf("%d", &num);

if ( num < 0 )

printf("Is negative.\n");

printf("num = %d\n", num);

return 0;

}

Page 2: 1장. C언어의kycyber.konyang.ac.kr/contents/private/20132/50193A01… ·  · 2013-10-10프로그래밍의 기본 개념을 알아보고, 프로그래밍 언어에 대해 생각해본다

■ 프로그래밍의 기본 개념을 알아보고, 프로그래밍 언어에 대해 생각해본다.

■ C 언어의 특징 및 활용 분야에 대해 알아본다.

■ 일반적인 C 프로그램 개발 과정에 대해 알아본다.

■ Visual C++ 6.0을 이용한 C 프로그램 개발 과정에 대해 알아본다.

1장. C언어의 개요

학습목표

2

Page 3: 1장. C언어의kycyber.konyang.ac.kr/contents/private/20132/50193A01… ·  · 2013-10-10프로그래밍의 기본 개념을 알아보고, 프로그래밍 언어에 대해 생각해본다

C 언어 소개

•프로그래밍 언어란?

•C 언어의 특징

C 프로그램 개발

•일반적인 C 프로그램의 개발 과정

•Visual C++ 6.0을 이용한 C 프로그램 개발 과정

•그 밖의 C 컴파일러

학습정리

1장. C언어의 개요

목차

3

Page 4: 1장. C언어의kycyber.konyang.ac.kr/contents/private/20132/50193A01… ·  · 2013-10-10프로그래밍의 기본 개념을 알아보고, 프로그래밍 언어에 대해 생각해본다

프로그래밍 언어란? 사람과 컴퓨터 사이에 존재하는 일종의 커뮤니케이션 수단이다.

1장. C언어의 개요

프로그래밍 언어란? (1/2)

C언어의 소개

4

Page 5: 1장. C언어의kycyber.konyang.ac.kr/contents/private/20132/50193A01… ·  · 2013-10-10프로그래밍의 기본 개념을 알아보고, 프로그래밍 언어에 대해 생각해본다

사람이 기계어로 프로그램을 작성하는 대신

어셈블리어나 고급 언어를 이용해서 프로그램을 작성하고,

어셈블러나 컴파일러를 이용해서 기계어로 번역한다.

고급 언어의 장점

특정 CPU의 동작에 대하여 자세히 알 필요가 없다.

CPU에 대하여 독립적인 프로그램을 작성할 수 있다.

프로그램을 개발하기 쉽고, 유지 보수하기 쉽다.

1장. C언어의 개요

프로그래밍 언어란? (2/2)

C언어의 소개

5

Page 6: 1장. C언어의kycyber.konyang.ac.kr/contents/private/20132/50193A01… ·  · 2013-10-10프로그래밍의 기본 개념을 알아보고, 프로그래밍 언어에 대해 생각해본다

1972년에 데니스 리치와 켄 톰슨에 의해서 처음 만들어졌다.

C 언어의 장점 간결성

구문이 간결하고, 프로그램 개발에 꼭 필요한 핵심적인 기능들을 제공한다.

이식성

어셈블리어 수준의 로-레벨 지원 기능을 제공하면서도 기계-독립적인 프로그램을 개발할 수 있다.

효율성

프로그램 크기도 작고, 프로그램의 실행 속도도 빠르다.

1장. C언어의 개요

C 언어의 특징(1/2)

C언어의 소개

6

Page 7: 1장. C언어의kycyber.konyang.ac.kr/contents/private/20132/50193A01… ·  · 2013-10-10프로그래밍의 기본 개념을 알아보고, 프로그래밍 언어에 대해 생각해본다

C 언어의 단점 배우기도 어렵고, 사용하기도 어렵다.

다른 언어에 비해 사용 시 주의 사항이 많다.

C 언어가 많이 사용되는 이유 C를 배우면 C++, java, C#같은 언어를 이해하는데도 도움이 된다.

C 언어는 프로그래밍의 기본 개념을 이해하는데도 도움이 된다.

C 언어의 활용 분야 라이브러리나 응용 프로그램 개발

시스템 프로그램, 서버 어플리케이션, 게임 등의 성능 위주의 프로그램 개발

임베디드 프로그램 개발

1장. C언어의 개요

C 언어의 특징(2/2)

C언어의 소개

7

Page 8: 1장. C언어의kycyber.konyang.ac.kr/contents/private/20132/50193A01… ·  · 2013-10-10프로그래밍의 기본 개념을 알아보고, 프로그래밍 언어에 대해 생각해본다

1단계 : 프로그램의 소스 코드 작성 소스 코드 편집기 이용

2단계 : 전처리기

3단계 : 컴파일 및 링크 컴파일러와 링커 이용

컴파일러는 .c 확장자를 갖는 소스 코드를 컴파일해서

.obj(또는 .o) 확장자를 갖는 오브젝트 코드를 생성한다.

링커는 오브젝트 코드를 연결해서 실행 파일을 생성한다.

4단계 : 실행

5단계 : 디버깅

1장. C언어의 개요

일반적인 C 프로그램 개발 과정

C 프로그램 개발

8

Page 9: 1장. C언어의kycyber.konyang.ac.kr/contents/private/20132/50193A01… ·  · 2013-10-10프로그래밍의 기본 개념을 알아보고, 프로그래밍 언어에 대해 생각해본다

대부분 C++ 컴파일러가 C 컴파일러 역할을 동시에 제공한다.

C/C++ 컴파일러는 소스 파일의 확장자가 .c일 때는 C 컴파일을 수행하고, .cpp일 때는 C++ 컴파일을 수행한다.

1장. C언어의 개요

C/C++ 컴파일러

C 프로그램 개발

9

Page 10: 1장. C언어의kycyber.konyang.ac.kr/contents/private/20132/50193A01… ·  · 2013-10-10프로그래밍의 기본 개념을 알아보고, 프로그래밍 언어에 대해 생각해본다

Visual C++ 윈도 플랫폼에서 가장 많이 사용되는 C 개발 환경

Visual C++ 6.0과 Visual Studio.NET 버전이 있다.

1장. C언어의 개요

VC++6.0을 이용한 C 프로그램 개발

C 프로그램 개발

10

Page 11: 1장. C언어의kycyber.konyang.ac.kr/contents/private/20132/50193A01… ·  · 2013-10-10프로그래밍의 기본 개념을 알아보고, 프로그래밍 언어에 대해 생각해본다

Visual C++의 프로젝트 프로그램을 만들기 위해서 사용되는 소스 파일이나 헤더 파일에 대한 정보, 소스 파일을 컴파일 할 때 사용되는 컴파일 옵션, 오브젝트 파일이나 라이브러리를 링크할 때 사용되는 링크 옵션 등의 정보 포함

Visual C++에서는 프로젝트를 먼저 생성하고 프로젝트내에서 사용될 소스 파일을 생성하는 방식으로 프로그램을 개발한다.

1장. C언어의 개요

VC++6.0을 이용한 C 프로그램 개발

C 프로그램 개발

11

Page 12: 1장. C언어의kycyber.konyang.ac.kr/contents/private/20132/50193A01… ·  · 2013-10-10프로그래밍의 기본 개념을 알아보고, 프로그래밍 언어에 대해 생각해본다

1단계 : 프로젝트 생성

2단계 : 소스 파일 생성

3단계 : 소스 파일 작성

4단계 : 빌드 전처리기 처리 후 컴파일 및 링크 수행

5단계 : 실행

6단계 : 디버깅

1장. C언어의 개요

VC++6.0을 이용한 C 프로그램 개발

C 프로그램 개발

12

Page 13: 1장. C언어의kycyber.konyang.ac.kr/contents/private/20132/50193A01… ·  · 2013-10-10프로그래밍의 기본 개념을 알아보고, 프로그래밍 언어에 대해 생각해본다

1단계 : 프로젝트 생성(1/5)

1장. C언어의 개요

VC++6.0을 이용한 C 프로그램 개발

C 프로그램 개발

13

◈ 프로그램 실행

Page 14: 1장. C언어의kycyber.konyang.ac.kr/contents/private/20132/50193A01… ·  · 2013-10-10프로그래밍의 기본 개념을 알아보고, 프로그래밍 언어에 대해 생각해본다

1단계 : 프로젝트 생성(2/5)

1장. C언어의 개요

VC++6.0을 이용한 C 프로그램 개발

C 프로그램 개발

14

◈ 프로젝트 생성 메뉴

Page 15: 1장. C언어의kycyber.konyang.ac.kr/contents/private/20132/50193A01… ·  · 2013-10-10프로그래밍의 기본 개념을 알아보고, 프로그래밍 언어에 대해 생각해본다

1단계 : 프로젝트 생성(3/5)

1장. C언어의 개요

VC++6.0을 이용한 C 프로그램 개발

C 프로그램 개발

15

◈ 워크스페이스 - 서로 관련된 프로젝트를 하나로 묶어서 관리

- 디폴트로 모든 프로젝트는 하나의 워크스페이스에 속한다.

Page 16: 1장. C언어의kycyber.konyang.ac.kr/contents/private/20132/50193A01… ·  · 2013-10-10프로그래밍의 기본 개념을 알아보고, 프로그래밍 언어에 대해 생각해본다

1단계 : 프로젝트 생성(4/5)

1장. C언어의 개요

VC++6.0을 이용한 C 프로그램 개발

C 프로그램 개발

16

Page 17: 1장. C언어의kycyber.konyang.ac.kr/contents/private/20132/50193A01… ·  · 2013-10-10프로그래밍의 기본 개념을 알아보고, 프로그래밍 언어에 대해 생각해본다

1단계 : 프로젝트 생성(5/5)

1장. C언어의 개요

VC++6.0을 이용한 C 프로그램 개발

C 프로그램 개발

17

◈ 생성된 프로젝트 정보

Page 18: 1장. C언어의kycyber.konyang.ac.kr/contents/private/20132/50193A01… ·  · 2013-10-10프로그래밍의 기본 개념을 알아보고, 프로그래밍 언어에 대해 생각해본다

2단계 : 소스 파일 생성(1/2)

1장. C언어의 개요

VC++6.0을 이용한 C 프로그램 개발

C 프로그램 개발

18

◈ 파일 생성 메뉴

Page 19: 1장. C언어의kycyber.konyang.ac.kr/contents/private/20132/50193A01… ·  · 2013-10-10프로그래밍의 기본 개념을 알아보고, 프로그래밍 언어에 대해 생각해본다

2단계 : 소스 파일 생성(2/2)

1장. C언어의 개요

VC++6.0을 이용한 C 프로그램 개발

C 프로그램 개발

19

※ Visual C++을 C 컴파일러로 사용하려면 반드시 소스 파일의 확장자로 .c를 지정해야 한다

Page 20: 1장. C언어의kycyber.konyang.ac.kr/contents/private/20132/50193A01… ·  · 2013-10-10프로그래밍의 기본 개념을 알아보고, 프로그래밍 언어에 대해 생각해본다

3단계 : 소스 파일 작성

1장. C언어의 개요

VC++6.0을 이용한 C 프로그램 개발

C 프로그램 개발

20

◈ 소스 파일 작성

Page 21: 1장. C언어의kycyber.konyang.ac.kr/contents/private/20132/50193A01… ·  · 2013-10-10프로그래밍의 기본 개념을 알아보고, 프로그래밍 언어에 대해 생각해본다

4단계 : 빌드(1/2)

1장. C언어의 개요

VC++6.0을 이용한 C 프로그램 개발

C 프로그램 개발

21

◈ 빌드

Page 22: 1장. C언어의kycyber.konyang.ac.kr/contents/private/20132/50193A01… ·  · 2013-10-10프로그래밍의 기본 개념을 알아보고, 프로그래밍 언어에 대해 생각해본다

4단계 : 빌드(2/2)

1장. C언어의 개요

VC++6.0을 이용한 C 프로그램 개발

C 프로그램 개발

22

◈ 빌드 결과

Page 23: 1장. C언어의kycyber.konyang.ac.kr/contents/private/20132/50193A01… ·  · 2013-10-10프로그래밍의 기본 개념을 알아보고, 프로그래밍 언어에 대해 생각해본다

5단계 : 실행(1/2)

1장. C언어의 개요

VC++6.0을 이용한 C 프로그램 개발

C 프로그램 개발

23

◈ 프로그램 실행

Page 24: 1장. C언어의kycyber.konyang.ac.kr/contents/private/20132/50193A01… ·  · 2013-10-10프로그래밍의 기본 개념을 알아보고, 프로그래밍 언어에 대해 생각해본다

5단계 : 실행(2/2)

1장. C언어의 개요

VC++6.0을 이용한 C 프로그램 개발

C 프로그램 개발

24

◈ 프로그램 실행 결과

Page 25: 1장. C언어의kycyber.konyang.ac.kr/contents/private/20132/50193A01… ·  · 2013-10-10프로그래밍의 기본 개념을 알아보고, 프로그래밍 언어에 대해 생각해본다

6단계 : 디버깅(1/2)

1장. C언어의 개요

VC++6.0을 이용한 C 프로그램 개발

C 프로그램 개발

25

◈ 디버깅 시작

Page 26: 1장. C언어의kycyber.konyang.ac.kr/contents/private/20132/50193A01… ·  · 2013-10-10프로그래밍의 기본 개념을 알아보고, 프로그래밍 언어에 대해 생각해본다

6단계 : 디버깅(2/2)

1장. C언어의 개요

VC++6.0을 이용한 C 프로그램 개발

C 프로그램 개발

26

◈ 디버깅 화면

Page 27: 1장. C언어의kycyber.konyang.ac.kr/contents/private/20132/50193A01… ·  · 2013-10-10프로그래밍의 기본 개념을 알아보고, 프로그래밍 언어에 대해 생각해본다

그 밖의 C/C++ 컴파일러 Visual Studio.NET

C++ Builder

Dev―C++

1장. C언어의 개요

그 밖의 C 컴파일러

C 프로그램 개발

27

Page 28: 1장. C언어의kycyber.konyang.ac.kr/contents/private/20132/50193A01… ·  · 2013-10-10프로그래밍의 기본 개념을 알아보고, 프로그래밍 언어에 대해 생각해본다

프로그래밍 언어 사람과 컴퓨터 사이에 존재하는 일종의 커뮤니케이션 수단이다.

사람은 기계어나 어셈블리어 대신 고급 언어를 이용해서 프로그램을 작성하고, 컴파일러가 이 프로그램을 기계어로 번역한다.

C, C++, java, C#과 같은 고급 언어를 이용하면 프로그램을 개발하기도 쉽고, 유지 보수하기도 쉬워진다.

C 언어의 특징 1972년에 데니스 리치(Dennis Ritchie)와 켄 톰슨(Ken Thomson)에 의해서 처음 만들어졌다.

특징은 간결성, 이식성, 효율성이다.

배우기나 사용하기는 어렵지만 프로그래머에게 최대한의 자유를 보장한다.

1장. C언어의 개요

학습정리(1/2)

28

Page 29: 1장. C언어의kycyber.konyang.ac.kr/contents/private/20132/50193A01… ·  · 2013-10-10프로그래밍의 기본 개념을 알아보고, 프로그래밍 언어에 대해 생각해본다

C 프로그램 개발 일반적인 C 프로그램의 개발 과정

Visual C++을 이용한 C 프로그램 개발 과정

1장. C언어의 개요

학습정리(2/2)

29

Page 30: 1장. C언어의kycyber.konyang.ac.kr/contents/private/20132/50193A01… ·  · 2013-10-10프로그래밍의 기본 개념을 알아보고, 프로그래밍 언어에 대해 생각해본다

1장. C언어의 개요

30

NEXT Chapter

2장. C프로그램 시작하기

수고하셨습니다.

질문 있습니까?