누구나 쉽게 즐기는

60
누누누 누누 누누누 누누누 누누 누누누 누누누누누 누누누누누누 누 누 누 누누 C C 누누 누누누 누누 누누누

Upload: kiara-miranda

Post on 31-Dec-2015

86 views

Category:

Documents


0 download

DESCRIPTION

누구나 쉽게 즐기는. C 언어 콘서트. 한남대학교 컴퓨터공학과 이 재 광 교수. 수업계획. 과목명 : 프로그래밍 기초 학수번호 : 20629 학점 및 이수구분 : 3 학점 , 전공선택 주당시간 : 강의 (2 시간 ), 실습 (2 시간 ) 수강대상 : 컴퓨터공학과 1 학년 담당교수 : 이 재 광 연 구 실 : 공과대학 90704 호 전화번호 : 629-7559(OFFICE) / 010-5407-9698(HP) E-mail : [email protected] - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: 누구나 쉽게 즐기는

누구나 쉽게 즐기는누구나 쉽게 즐기는

한남대학교 컴퓨터공학과

이 재 광 교수

CC 언어 콘서트언어 콘서트

Page 2: 누구나 쉽게 즐기는

HANNAM UNIVERSITYHttp://netwk.hannam.ac.kr

수업계획수업계획 과목명 : 프로그래밍 기초

학수번호 : 20629

학점 및 이수구분 : 3 학점 , 전공선택

주당시간 : 강의 (2 시간 ), 실습 (2 시간 )

수강대상 : 컴퓨터공학과 1 학년

담당교수 : 이 재 광

연 구 실 : 공과대학 90704 호

전화번호 : 629-7559(OFFICE) / 010-5407-9698(HP)

E-mail : [email protected]

Homepage : http://netwk.hannam.ac.kr/( 가상강의실 )

Page 3: 누구나 쉽게 즐기는

HANNAM UNIVERSITYHttp://netwk.hannam.ac.kr

수업목표수업목표

프로그래밍에 대한 기본 원리 및 구조를 이해한다 .

C 언어의 개념 및 함수 사용법의 학습을 통한 구조적

프로그래밍 기법을 이해한다 .

C 언어를 익혀 프로그래밍 언어의 기초를 이해한다 .

Page 4: 누구나 쉽게 즐기는

HANNAM UNIVERSITYHttp://netwk.hannam.ac.kr

수업방법수업방법

수업 내용을 이해하고 추가 질문을 받는다 .

수업 내용을 정리하여 실제로 실습해 본다 .

예제보다 효율적인 방법을 토론하고 실습해본다 .

Page 5: 누구나 쉽게 즐기는

HANNAM UNIVERSITYHttp://netwk.hannam.ac.kr

평가방법평가방법

평가기준 : 절대평가

중간고사 : 30%

기말고사 : 30%

과제물 : 30%

출석 : 10%

Page 6: 누구나 쉽게 즐기는

HANNAM UNIVERSITYHttp://netwk.hannam.ac.kr

교재교재

Page 7: 누구나 쉽게 즐기는

HANNAM UNIVERSITYHttp://netwk.hannam.ac.kr

Chapter 1

프로그래밍 소개

Page 8: 누구나 쉽게 즐기는

HANNAM UNIVERSITYHttp://netwk.hannam.ac.kr

목차목차

1.1 프로그래밍의 소개

1.2 프로그래밍 언어의 종류

1.3 C 언어

1.4 알고리즘

1.5 프로그램 개발 과정

1.6 비주얼 C++ 를 이용한 프로그램 작성

Page 9: 누구나 쉽게 즐기는

HANNAM UNIVERSITYHttp://netwk.hannam.ac.kr

1.1 1.1 프로그래밍의 소개프로그래밍의 소개 컴퓨터란 ?

컴퓨터는 기본적으로 계산하는 기계

디지털과 아날로그의 차이 디지털은 모든 데이터를 숫자 형태로 표현 아날로그는 연속적인 값으로 데이터를 표현

컴퓨터의 계산 능력 컴퓨터는 전자 회로를 이용하여 계산을 하기 때문에 속도가 빠름 전자 회로를 이용한 계산을 위하여 이진수를 사용

컴퓨터의 정의 계산기는 정해진 기능만을 수행 , 그 기능을 변경할 수 없음 컴퓨터는 프로그램이라는 개념을 도입하여 수행하는 기능을 쉽게

변경할 수 있음

Page 10: 누구나 쉽게 즐기는

HANNAM UNIVERSITYHttp://netwk.hannam.ac.kr

1.1 1.1 프로그래밍의 소개프로그래밍의 소개 이진수

이진수는 0 과 1 로만 구성

이진수는 십진수를2 로 나눈 나머지를 기록하는작업을 몫이 0 이 될 때까지되풀이 해서 구함

Page 11: 누구나 쉽게 즐기는

HANNAM UNIVERSITYHttp://netwk.hannam.ac.kr

1.1 1.1 프로그래밍의 소개프로그래밍의 소개 비트와 바이트

비트 : 이진수의 하나의 자리 수 Binary digit 의 약자 바이트 : 8 개의 비트를 모은 것

bit bit bit bit bit bit bit bit

0 1 1 0 1 1 0 0

└──────────────┘바이트

Page 12: 누구나 쉽게 즐기는

HANNAM UNIVERSITYHttp://netwk.hannam.ac.kr

1.1 1.1 프로그래밍의 소개프로그래밍의 소개 비트의 표현

컴퓨터 내부에서 구체적인 비트의 표현

전자 회로에서0 은 열린 스위치 , 1 은 닫힌 스위치

0 1 0 1

Page 13: 누구나 쉽게 즐기는

HANNAM UNIVERSITYHttp://netwk.hannam.ac.kr

1.1 1.1 프로그래밍의 소개프로그래밍의 소개 스위치의 구현

하나의 트랜지스터는 소형 전자 스위치 역할

트랜지스터의 에미터와 콜렉터가 스위치의 역할베이스에 전압이 걸리면 스위치가 닫힘

Page 14: 누구나 쉽게 즐기는

HANNAM UNIVERSITYHttp://netwk.hannam.ac.kr

1.1.1 1.1.1 컴퓨터는 범용적인 기계컴퓨터는 범용적인 기계

Page 15: 누구나 쉽게 즐기는

HANNAM UNIVERSITYHttp://netwk.hannam.ac.kr

1.1.2 1.1.2 컴퓨터의 구성 요소컴퓨터의 구성 요소 컴퓨터의 구성 요소를 크게 2 가지로 분류

컴퓨터는 기본적으로 하드웨어와 소프트웨어로 구분

컴퓨터

하드웨어

소프트웨어

중앙처리장치

메인메모리

보조기억장치

입출력장치

시스템소프트웨어

응용소프트웨어

Page 16: 누구나 쉽게 즐기는

HANNAM UNIVERSITYHttp://netwk.hannam.ac.kr

1.1.2 1.1.2 컴퓨터의 구성 요소컴퓨터의 구성 요소 하드웨어

중앙처리장치 (CPU)

제어장치

산술 /논리장치

레지스터

보조기억장치

메인 메모리

출력장치

입력장치

Page 17: 누구나 쉽게 즐기는

HANNAM UNIVERSITYHttp://netwk.hannam.ac.kr

1.1.2 1.1.2 컴퓨터의 구성 요소컴퓨터의 구성 요소 소프트웨어

소프트웨어소프트웨어

시스템 소프트웨어시스템 소프트웨어

응용 소프트웨어응용 소프트웨어

: 운영체제 , 컴파일러 , 어셈블러 , 링커 , 로더 , 프로그래밍 도구 등

: 워드 프로세서 , 스프레드 시트 , 그래픽 프로그램 , 미디어 재생기 등

Page 18: 누구나 쉽게 즐기는

HANNAM UNIVERSITYHttp://netwk.hannam.ac.kr

1.1.3 1.1.3 프로그램 안에 들어 있는 것프로그램 안에 들어 있는 것 프로그램

프로그램 안에는 컴퓨터에게 무엇을 어떻게 할 것인지를 지시하는 작업의 지시서가 들어있다고 생각 할 수 있음

학생들의 성적의 평균을

계산해줘

“ 평균”이란 의미를 모른다 .

학생들의 성적을 입력받고

입력받은 성적을 합하여 , 학생수로

나눈다 .결과는 화면에

표시하라 .

처음부터 이렇게

지시하였어야 한다 .

평균이란단어의 의미는

알겠지만 단계적인 절차를

말해주어야 한다 .

nxxxn

...1

21

Page 19: 누구나 쉽게 즐기는

HANNAM UNIVERSITYHttp://netwk.hannam.ac.kr

1.1.3 1.1.3 프로그램 안에 들어 있는 것프로그램 안에 들어 있는 것 명령 (instruction)

프로그램의 각 문장은 컴퓨터에게 작업을 지시하는 명령으로 구성 명령은“ 숫자를 더하시오” ,“ 데이터를 저장하시오” 와 같은 형식 위와 같이 프로그램을 만드는 작업을 프로그래밍 프로그램을 만드는 사람은 프로그래머

역사상 최초의 프로그래머는에이다 러브레이스라는 여성으로 ,현대적 컴퓨터가 나오기 100 년 전에이미 서브루틴 , 루프 , 점프 등의원리를 고안

Page 20: 누구나 쉽게 즐기는

HANNAM UNIVERSITYHttp://netwk.hannam.ac.kr

1.1.4 1.1.4 컴퓨터가 이해하는 언어컴퓨터가 이해하는 언어 자연어

인간이 사용하는 언어

단어들을 명백하게 정의

기계어

사실 컴퓨터가 알아듣는 언어는 한 가지

컴퓨터는 0 과 1 로 구성된 이진수의 개념 위에 만들어진 기계

이러한 이진수의 형태의 언어가 기계어

Page 21: 누구나 쉽게 즐기는

HANNAM UNIVERSITYHttp://netwk.hannam.ac.kr

1.1.4 1.1.4 컴퓨터가 이해하는 언어컴퓨터가 이해하는 언어00001111 10111111 01000101 11111000

00001111 10111111 01001101 11111000

00000011 10100001

01100110 10001001 01000101 11111010

다음과 같은 기계어는 사람에게는매우 불편한 언어이다 . 또한 하드웨어에종속되어 있기 때문에 , 모든 하드웨어의기계어를 숙지하기란 사실상 불가능

따라서 프로그래밍 언어라는 것을 이용하여컴파일러가 통역하여 컴퓨터 지시프로그래밍 언어는 자연어와 기계어의중간쯤에 위치

컴파일러

기계어 프로그래밍 언어

Page 22: 누구나 쉽게 즐기는

HANNAM UNIVERSITYHttp://netwk.hannam.ac.kr

1.2 1.2 프로그래밍 언어의 종류프로그래밍 언어의 종류 프로그래밍 언어

프로그래밍 언어는 크게 저급 언어와 고급 언어의 2 가지로 분류

저급 언어 기계어 , 어셈블리어 어셈블리어는 이진수가 아닌 영어의 약자인 기호로 표기 어셈블리어는 어셈블러를 통해 이진수로 변환 어셈블리어 또한 하드웨어에 종속

고급 언어 하드웨어에 종속되지 않고 독립적으로 프로그램을 작성할 수 있는

언어 C, C++, C#, Java, Fortran, Pascal ...

고급언어는 컴파일러에 의해 이진수로 변환

Page 23: 누구나 쉽게 즐기는

HANNAM UNIVERSITYHttp://netwk.hannam.ac.kr

1.2 1.2 프로그래밍 언어의 종류프로그래밍 언어의 종류 FORTRAN

FORTRAN 은 1950 년대에 가장 먼저 만들어진 언어로 수치 계산과 과학 기술 계산에 적합

COBOL COBOL 은 1959 년에 만들어진 비즈니스 사무 처리 언어 구어체

문장 형태로 기술할 수 있도록 설계

PASCAL PASCAL 은 1970 년대에 니클라우스 비르트에 의하여 개발된

절차적인 프로그래밍 언어 교육용으로 알려져 있음

C C 언어는 1970 년대 초반 UNIX 운영체제를 위하여 AT&T 의 벨

연구소에서 일하던 데니스 리치에 의하여 개발됨

Page 24: 누구나 쉽게 즐기는

HANNAM UNIVERSITYHttp://netwk.hannam.ac.kr

1.2 1.2 프로그래밍 언어의 종류프로그래밍 언어의 종류 C++

C++ 는 1983 년 벨 연구소의 스트로스트럽에 의하여 개발된 언어 C 언어에 클래스 개념을 비롯하여 여러 가지 객체지향적인 특징들을 추가한 언어

C# C++ 에 기본을 두고 , 비주얼 베이직의 편의성을 결합하여 만든

컴포넌트 프로그래밍 언어 2000 년 6 월 마이크로소프트가 닷넷 (.Net) 플랫폼을 위해 개발

Java Java 는 1995 년 선 마이크로시스템의 제임스 고슬링에 의하여

개발된 객체지향 언어 자바는 JSP 의 형태로 인터넷 웹페이지에서도 실행이 가능

Page 25: 누구나 쉽게 즐기는

HANNAM UNIVERSITYHttp://netwk.hannam.ac.kr

1.3.1 C1.3.1 C 언어의 특징언어의 특징 간결함

C 언어에는 꼭 필요한 기능만 들어 있고 , 표기법이 매우 간결

효율적

C 로 작성된 프로그램이 크기가 작고 , 실행 속도가 빠르고 메모리를

효과적으로 사용

뛰어난 이식성

이미 한 번 작성된 C 프로그램을 다른 CPU 를 가진 하드웨어로 쉽게 이식할

수 있음

PC 에서 작성한 프로그램도 컴파일만 다시 하면 슈퍼 컴퓨터에서도 실행가능

Page 26: 누구나 쉽게 즐기는

HANNAM UNIVERSITYHttp://netwk.hannam.ac.kr

1.3.1 C1.3.1 C 언어의 특징언어의 특징 저수준 , 고수준 프로그래밍이 가능

C 언어는 운영체제를 만들었던 언어

어셈블리어 만큼의 구체적인 하드웨어 제어가 가능

가전제품에 들어있는 임베디드 프로그램은 대부분 C 언어로 개발

배우기가 어려움

C 언어는 처음에 교육용이 아닌 전문가용으로 개발되어 배우기가 약간

어렵고 , 포인터 등을 잘못 사용하는 경우 문제가 발생

포인터는 잠재적인 문제점을 갖고 있으므로 최근의 프로그래밍 언어인

Java 나 C# 에서는 포인터를 거의 사용하지 않거나 사용하지 못함

Java 나 C# 에서는 포인터를 사용하지 않고도 같은 동작을 할 수 있도록

구현 가능

Page 27: 누구나 쉽게 즐기는

HANNAM UNIVERSITYHttp://netwk.hannam.ac.kr

1.4 1.4 알고리즘알고리즘

오븐의 사용법을 알고 음식의 재료가 있어도 ,재료들을 어떤 비율로 섞고 오븐의 온도는 어떻게 맞추고 ,얼마나 오래 구워야 하는지 등의 요리 방법을모른다면 요리를 제대로 할 수 없음

프로그램이 요리와 같다면알고리즘은 요리법에 해당

Page 28: 누구나 쉽게 즐기는

HANNAM UNIVERSITYHttp://netwk.hannam.ac.kr

1.4.1 1.4.1 알고리즘이란알고리즘이란 ?? 문제 해결 절차

어떠한 문제가 주어져 있고 이것을 컴퓨터로 해결하려고 한다면 제일 먼저 절차를 고안해야 함

이러한 절차는 C 언어를 사용하건 Java 를 사용하건 동일 요리법 ( 알고리즘 ) 을 알고 재료와 오븐의 사용법을 알면 요리 가능

① 빈 그릇을 준비한다 . ② 이스트를 밀가루 , 우유에 넣고 저어준다 . ③ 버터 , 설탕 , 계란을 추가로 넣고 섞는다 .④ 따뜻한 곳에 놓아두어 발효시킨다⑤ 170~180 도의 오븐에서 굽는다

Page 29: 누구나 쉽게 즐기는

HANNAM UNIVERSITYHttp://netwk.hannam.ac.kr

1.4.2 1.4.2 알고리즘의 예알고리즘의 예 1 부터 10 까지의 합을 구하는 알고리즘

① 1 부터 10 까지의 숫자를 직접 하나씩 가산1 + 2 + 3 + … + 10 = 55

② 두 수의 합이 10 이 되도록 숫자들을 그룹화 하여 그룹의 개수에 10 을 곱하고 남은 숫자를 가산(0 + 10) = 10(1 + 9 ) = 10(2 + 8 ) = 10(3 + 7 ) = 10(4 + 6 ) = 10

5

③ 공식을 이용하여 계산10 * ( 1 + 10 ) / 2 = 55

┓┃┃┃┃ ┃ ┃ ┃ ┃┛

10 * 5 = 50 + 5 = 55

Page 30: 누구나 쉽게 즐기는

HANNAM UNIVERSITYHttp://netwk.hannam.ac.kr

1.4.3 1.4.3 순서도순서도 숫자들이 적혀있는 리스트에서 최대값 찾기

다음과 같은 자연어로 이루어진 알고리즘을 정의

① 리스트의 첫 번째 숫자가 가장 크다고 가정

② 리스트의 남아있는 숫자들을 하나씩 조사하여 현재의 최대값 보다 크면 노트에 기록

③ 모든 숫자들이 전부 조사된 후에 노트의 가장 뒤에 적힌 숫자가 최대값

Page 31: 누구나 쉽게 즐기는

HANNAM UNIVERSITYHttp://netwk.hannam.ac.kr

1.4.3 1.4.3 순서도순서도 알고리즘을 좀 더 보기 쉽게 순서도 (flow chart) 로 표현

최대값 알고리즘 시작

첫 번째 숫자가최대값이라고노트에 기재

리스트에 아직숫자가 남아있는가 ?

현재의 최대값보다큰가 ?

노트의 맨 끝에있는 숫자를 출력

노트의 맨 끝에숫자를 추가

종료

Page 32: 누구나 쉽게 즐기는

HANNAM UNIVERSITYHttp://netwk.hannam.ac.kr

1.4.3 1.4.3 순서도순서도 의사 코드

의사 코드 : 또 다른 알고리즘의 표현 방법 자연어보다는 더 체계적이고 프로그래밍 언어보다는 덜 엄격

알고리즘 GetLargest    입력 : 숫자들의 리스트 L.    출력 : 리스트에서 가장 큰 값

largest ←L[0]  for each n in L do     if n > largest  then       largest ← n   return largest

알고리즘 GetLargest    입력 : 숫자들의 리스트 L.    출력 : 리스트에서 가장 큰 값

largest ←L[0]  for each n in L do     if n > largest  then       largest ← n   return largest

Page 33: 누구나 쉽게 즐기는

HANNAM UNIVERSITYHttp://netwk.hannam.ac.kr

1.5 1.5 프로그램 개발 과정프로그램 개발 과정 편집 , 컴파일 , 링크 과정을 거쳐 실행파일 생성

소스파일

test.c

소스파일

test.c

오브젝트파일

test.obj

오브젝트파일

test.obj

실행파일

test.exe

실행파일

test.exe

컴파일러(compiler)

컴파일러(compiler)

링커(linker)

링커(linker)

로더(loader)

로더(loader)

에디터(editer)

에디터(editer)

소스 파일 , 오브젝트 파일 , 실행 파일 중 반드시 소스파일은 반드시 보관하여야 함오브젝트 파일 혹은 실행 파일은 없어도 컴파일 , 링크 과정으로 손쉽게 다시 만들 수 있지만 ,역으로 실행 파일 혹은 오브젝트 파일에서 소스 파일을 온전히 얻는 것은 매우 힘듬

Page 34: 누구나 쉽게 즐기는

HANNAM UNIVERSITYHttp://netwk.hannam.ac.kr

1.5.1 1.5.1 필요한 도구필요한 도구 통합 개발 환경 (IDE: integrated development environment)

편집 , 컴파일 , 디버깅 과정을 하나의 툴로 할 수 있도록 만들어진 개발 환경

통합 개발 환경 (IDE)

에디터 컴파일러 디버거

Page 35: 누구나 쉽게 즐기는

HANNAM UNIVERSITYHttp://netwk.hannam.ac.kr

1.5.2 1.5.2 비주얼 비주얼 C++C++ Visual C++ 2010 Express

마이크로소프트에서 무료로 배포하는 C/C++ 개발용 IDE

무료로 배포하는 Visual Studio 2010 Express 는http://www.microsoft.com/express/Windows/에서 다운로드 가능

Page 36: 누구나 쉽게 즐기는

HANNAM UNIVERSITYHttp://netwk.hannam.ac.kr

1.5.2 1.5.2 비주얼 비주얼 C++C++

빨간색 Box 안의보라색 링크를클릭하면비주얼 C++ 의다운로드 사이트로이동

Page 37: 누구나 쉽게 즐기는

HANNAM UNIVERSITYHttp://netwk.hannam.ac.kr

1.5.2 1.5.2 비주얼 비주얼 C++C++

Select language를 눌러서 한글 버전을 다운로드

Page 38: 누구나 쉽게 즐기는

HANNAM UNIVERSITYHttp://netwk.hannam.ac.kr

1.5.2 1.5.2 비주얼 비주얼 C++C++

다운받은 파일을실행하면웹에서 프로그램을다운로드 하여 설치를시작 ↗

①→②

↗③

↗④

↗⑤

Page 39: 누구나 쉽게 즐기는

HANNAM UNIVERSITYHttp://netwk.hannam.ac.kr

1.5.2 1.5.2 비주얼 비주얼 C++C++ 비주얼 C++ 환경 설정 – 줄 번호

도구 > 옵션을 클릭하여 옵션 창을 연다

Page 40: 누구나 쉽게 즐기는

HANNAM UNIVERSITYHttp://netwk.hannam.ac.kr

1.5.2 1.5.2 비주얼 비주얼 C++C++ 비주얼 C++ 환경 설정 – 줄 번호

→ ①

→ ②→ ③

→ ④

↗⑤

텍스트 편집기 > 모든 언어 > 일반 > 줄 번호 > 확인텍스트 편집기를 누르고 모든 언어를 누르고일반을 누르고 줄 번호 앞의 체크박스에 체크 표시가되도록 클릭 한 후 확인 버튼을 클릭

Page 41: 누구나 쉽게 즐기는

HANNAM UNIVERSITYHttp://netwk.hannam.ac.kr

1.5.3 1.5.3 비주얼 비주얼 C++C++ 비주얼 C++ 2010 제품 등록

도움말 > 제품 등록비주얼 C++ 2010 Express 를 설치하였다면 제품을 등록하여야 함제품 등록을 하지 않으면 30 일만 사용가능

Page 42: 누구나 쉽게 즐기는

HANNAM UNIVERSITYHttp://netwk.hannam.ac.kr

1.5.3 1.5.3 비주얼 비주얼 C++C++

온라인으로 등록 키 받기Microsoft Live ID 를 가지고 있다면 바로 로그인가지고 있지 않다면 지금 등록을 클릭하여 회원가입후 이용 할 수 있음

Page 43: 누구나 쉽게 즐기는

HANNAM UNIVERSITYHttp://netwk.hannam.ac.kr

1.5.3 1.5.3 비주얼 비주얼 C++C++ Microsoft 회원 가입

왼쪽의 회원 가입 폼을 모두 채우고 회원가입을 하면 오른쪽과 같은 E-mail 을 확인 할 수 있음다음 링크를 사용하여 계정을 확인하세요 . 의 링크를 클릭하면 계정이 확인되었다는 메시지가 보여짐

Page 44: 누구나 쉽게 즐기는

HANNAM UNIVERSITYHttp://netwk.hannam.ac.kr

1.5.31.5.3 비주얼 비주얼 C++C++

다시 온라인으로 등록 키 받기 버튼을 눌러 보면 왼쪽과 같은 제품 등록 폼으로 이동함왼쪽의 제품 등록 폼을 모두 채우면 오른쪽과 같이 마지막으로 전자메일을 확인하라는 메시지가 보여짐다시 E-mail 을 확인해 보면 확인 메시지가 수신된 것을 볼 수 있음확인 메시지 라는 E-mail 에서 동의함 버튼을 눌러 최종적으로 등록 키를 획들

Page 45: 누구나 쉽게 즐기는

HANNAM UNIVERSITYHttp://netwk.hannam.ac.kr

1.5.3 1.5.3 비주얼 비주얼 C++C++ 제품 키 등록

Page 46: 누구나 쉽게 즐기는

HANNAM UNIVERSITYHttp://netwk.hannam.ac.kr

1.5.3 1.5.3 비주얼 비주얼 C++C++

다시 도움말 > 제품 등록 을 클릭해 보면 제품 등록이 된 것을 확인 할 수 있음

Page 47: 누구나 쉽게 즐기는

HANNAM UNIVERSITYHttp://netwk.hannam.ac.kr

1.6 1.6 비주얼 비주얼 C++C++ 를 이용한 프로그램 를 이용한 프로그램 작성작성

프로젝트의 생성

파일 > 새로 만들기 > 프로젝트를 클릭하여 새 프로젝트 생성프로젝트란 하나의 실행 파일을 만들기 위하여필요한 파일들의 그룹

Page 48: 누구나 쉽게 즐기는

HANNAM UNIVERSITYHttp://netwk.hannam.ac.kr

프로젝트 명을 입력프로젝트 명을 입력하면솔루션 이름이 자동으로 입력반드시 프로젝트 명과솔루션 이름이 같을 필요는 없음

※ 솔루션이란 하나의 어플리케이션을만들기 위한 프로젝트의 그룹

1.6 1.6 비주얼 비주얼 C++C++ 를 이용한 프로그램 를 이용한 프로그램 작성작성

→ ①

→ ②

↗③

Page 49: 누구나 쉽게 즐기는

HANNAM UNIVERSITYHttp://netwk.hannam.ac.kr

이전 단계에서Win32 콘솔 응용 프로그램을선택하였다면 ,Win32 응용 프로그램 마법사가실행다음 버튼을 누르고 ,빈 프로젝트에 체크를 한 다음 ,마침 버튼을 눌러서프로젝트를 생성

※ 이전 단계에서 Win32 콘솔 응용 프로그램을 선택하지 않고 빈 프로젝트를 선택하였다면 , 현재 단계가 나오지 않고 곧바로 프로젝트가 생성되고 프로그램도 문제 없이 작성 할 수 있지만 , 디버깅하지 않고 실행 (Ctrl + F5) 으로 실행 하였을 때 결과 값이 화면에 출력 되고 곧바로 콘솔 창이 닫혀 버리기 때문에 system(“PAUSE”); 혹은 getch(); 등의 함수를 추가로 사용해야 함

1.6 1.6 비주얼 비주얼 C++C++ 를 이용한 프로그램 를 이용한 프로그램 작성작성

↗①

→ ②

↗③

Page 50: 누구나 쉽게 즐기는

HANNAM UNIVERSITYHttp://netwk.hannam.ac.kr

1.6 1.6 비주얼 비주얼 C++C++ 를 이용한 프로그램 를 이용한 프로그램 작성작성

Page 51: 누구나 쉽게 즐기는

HANNAM UNIVERSITYHttp://netwk.hannam.ac.kr

코드를 누르고C++ 파일 (.cpp) 를 누르고hello.c 라고 입력하고추가 버튼을 클릭

1.6 1.6 비주얼 비주얼 C++C++ 를 이용한 프로그램 를 이용한 프로그램 작성작성

→ ①→ ②

↗③

↗④

Page 52: 누구나 쉽게 즐기는

HANNAM UNIVERSITYHttp://netwk.hannam.ac.kr

1.6 1.6 비주얼 비주얼 C++C++ 를 이용한 프로그램 를 이용한 프로그램 작성작성

소스 코드를 입력하는 부분통합 개발 환경의 에디터 부분hello.c 의 소스 코드를 작성

Page 53: 누구나 쉽게 즐기는

HANNAM UNIVERSITYHttp://netwk.hannam.ac.kr

1.6 1.6 비주얼 비주얼 C++C++ 를 이용한 프로그램 를 이용한 프로그램 작성작성

솔루션 탐색기솔루션 , 프로젝트 , 소스 코드의구성 내용을탐색기 형식으로 보여줌

솔루션 이름

프로젝트 이름

소스 코드 파일 이름

Page 54: 누구나 쉽게 즐기는

HANNAM UNIVERSITYHttp://netwk.hannam.ac.kr

1.6 1.6 비주얼 비주얼 C++C++ 를 이용한 프로그램 를 이용한 프로그램 작성작성

출력 창컴파일시 성공 , 실패 등의 메시지를 출력해 주는 창컴파일시 오류가 있으면 어떠한 오류인지 , 어디에서 오류가 발생한지 여부가 출력

Page 55: 누구나 쉽게 즐기는

HANNAM UNIVERSITYHttp://netwk.hannam.ac.kr

소스 코드를 입력하는 창

컴파일과 링크 과정에서의메시지가 출력되는 창

솔루션과 프로젝트에속하는 파일을 보여준다 .

1.6 1.6 비주얼 비주얼 C++C++ 를 이용한 프로그램 를 이용한 프로그램 작성작성

Page 56: 누구나 쉽게 즐기는

HANNAM UNIVERSITYHttp://netwk.hannam.ac.kr

소스 코드 입력 다음의 소스 코드를 입력 ( 띄어 쓰기도 정확히 맞아야 함 )

1.6 1.6 비주얼 비주얼 C++C++ 를 이용한 프로그램 를 이용한 프로그램 작성작성

Page 57: 누구나 쉽게 즐기는

HANNAM UNIVERSITYHttp://netwk.hannam.ac.kr

빌드 (Build) : 컴파일 + 링크

1.6 1.6 비주얼 비주얼 C++C++ 를 이용한 프로그램 를 이용한 프로그램 작성작성

디버그 > 솔루션 빌드를 클릭하여 빌드단축키인 F7 키로 빌드를 할 수도 있음아무런 문제가 없다면 성공 메시지를 볼 수 있음

Page 58: 누구나 쉽게 즐기는

HANNAM UNIVERSITYHttp://netwk.hannam.ac.kr

1.6 1.6 비주얼 비주얼 C++C++ 를 이용한 프로그램 를 이용한 프로그램 작성작성

프로그램 실행

Ctrl + F5 키를 누르면다음과 같이 정상적으로프로그램이 실행된 것을 확인

※ Ctrl + F5 : 디버그 하지 않고 실행의 단축키로써 프로그램을 작성하고 실행하여 그 결과 값을 확인할 때 사용

Page 59: 누구나 쉽게 즐기는

HANNAM UNIVERSITYHttp://netwk.hannam.ac.kr

1.6 1.6 비주얼 비주얼 C++C++ 를 이용한 프로그램 를 이용한 프로그램 작성작성

도구 모음의 재생 버튼으로도 프로그램이 실행되긴 하나 , 디버깅을 위한실행방법으로 결과 값이 화면에 출력되고 곧바로 콘솔 창이 닫혀 버려서결과를 눈으로 확인하기 힘듬

※ Win32 콘솔 응용 프로그램으로 프로젝트를 만들지 않았을 경우 Ctrl+F5 키를 이용하여 디버깅하지 않고 실행을 하여도 콘솔 창이 곧바로 닫히는 현상 발생이 때는 소스 코드를 다음과 같이 수정

#include <stdio.h>#include <stdlib.h>

int main(){ printf("Hello World!\n");

#ifdef _DEBUG system("pause"); #endif

return 0;}

#ifdef _DEBUGsystem("pause");#endif

system(“pause”); 는 화면에 계속하려면 아무 키나 누르십시오 .라는 메시지를 뿌려주는 방법 이렇게 하여 곧바로 콘솔 창이닫히는 것을 방지 할 수 있음또한 , #ifdef _DEBUG 와 #endif 사이의 문장으로 릴리즈 모드로실행할 경우 컴파일 되지 않음

Page 60: 누구나 쉽게 즐기는

HANNAM UNIVERSITYHttp://netwk.hannam.ac.kr

Q n AQ n A