프로그래밍 및 실습 chap1
TRANSCRIPT
2013 년 1 학기 프로그래밍 및 실습Chap. 1 프로그램과 C 언어의 이해
Bo – Kug Seo ([email protected])Soongsil Univ. MMS Lab.
Logo
Contents
C 언어란 ?
C 프로그램 작성 방법
C 컴파일러 설치 및 간단한 실습
http://mms.ssu.ac.kr (sbk8941@)
2
Logo
프로그램이란 ? 프로그램
– 프로그램은 합리적인 일의 순서다 .– 프로그램은 처리 , 판단 , 반복의 요소가 있다 .– 프로그램에는 데이터의 입력과 출력이 있다 .– C 언어는 프로그램을 작성하는 수단이다 .
프로그래밍 언어– 한글 , 엑셀 , 게임 등의 프로그램을 만들 때 사용하는 언어– ‘ 컴퓨터 프로그래머’ 라는 사람들이 제작– C 언어 (C++ 포함 ) 를 가장 많이 사용함
3
http://mms.ssu.ac.kr (sbk8941@)
Logo
C 언어란 ? -1 컴퓨터가 이해할 수 있는 프로그램의 표현 방식이다 .
4
http://mms.ssu.ac.kr (sbk8941@)
Logo
C 언어란 ? -2 C 언어의 특징
– 이식성이 좋다 .• 한번 작성한 것을 다른 운영체제에서도 거의 그대로 사용 가능
5
윈도우 계열에서의 코딩과 컴파일 유닉스 계열에서의 코딩과 컴파일
http://mms.ssu.ac.kr (sbk8941@)
Logo
C 언어란 ? -3 하드웨어와 관련된 부분까지 접근 가능
6
http://mms.ssu.ac.kr (sbk8941@)
Logo
C 언어란 ? -4 구문이 간결하고 명확
– C 언어를 익히면 다른 프로그래밍 언어는 쉽게 익힐 수 있음
7
Visual Basic 6.0 프로그래밍 화면 Visual C++ 6.0 프로그래밍 화면
http://mms.ssu.ac.kr (sbk8941@)
Logo
C 언어란 ? -5 C 컴파일러의 종류
– Turbo-C, Turbo-C++, Borland-C++, MS-C++, Visual-C++, GCC, G++ 등
– Microsoft Visual C++ 6.0 을 사용 ( 상용 )– Microsoft Visual C++ 2005/2008 Express Edition( 무료 )
8
http://mms.ssu.ac.kr (sbk8941@)
Logo
C 언어로 프로그램 만들기 프로그램 작성 (edit) 프로그램 번역 (compile) 링크 (link) 실행
9
http://mms.ssu.ac.kr (sbk8941@)
Logo
프로그램 작성 ( 소스파일 작성 ) -1
편집기를 사용하여 텍스트 형태의 파일로 작성한다 . 파일 이름의 확장자는 .c 로 저장한다 . 파일 이름은 프로그램의 기능에 맞게 정한다 . 10 과 20 을 더하는 프로그램 (add.c)
10
http://mms.ssu.ac.kr (sbk8941@)
Logo
프로그램 코딩– 사람이 알아보는 코딩
– 컴퓨터가 알아보는 코딩
11
100 에서 50 을 뺀 결과가 뭐지 ?한번 모니터에 출력해보자 !!
01 # include <stdio.h>0203 int main()04 {05 int result;06 result = 100 - 50 ;07 printf (" %d ", result);08 }
http://mms.ssu.ac.kr (sbk8941@)
프로그램 작성 ( 소스파일 작성 ) -2
Logo
프로그램 번역 (compile) -1
컴퓨터가 이해하는 것은 C 언어가 아니라 기계어이다 . 기계어는 두 가지 상태를 나타내는 비트들로 표현한 언어이다 . 두 개의 스위치 ( 비트 ) 로 움직이는 자동차의 예
– 코스 진행 프로그램• 직진 -> 좌회전 -> 우회전 -> 직진
– 기계어 프로그램• 켜짐 , 켜짐 -> 켜짐 , 꺼짐 -> 꺼짐 , 켜짐 -> 켜짐 , 켜짐
– 0 과 1 로 기호화 한 기계어 프로그램• 11 10 01 11 ( 켜짐은 1, 꺼짐은 0 으로 기호화 했을 때 )
12
http://mms.ssu.ac.kr (sbk8941@)
Logo
프로그램 번역 (compile) -2
결국 소스파일을 컴파일 하여 기계어로 바꿔야 한다 . 실행 가능한 기계어 형태의 파일이 실행파일이다 . 컴파일은 번역 프로그램인 컴파일러 (compiler) 로 한다 .
13
http://mms.ssu.ac.kr (sbk8941@)
Logo
컴파일러 사용법 -1
컴파일러는 VC++ 6.0 을 사용한다 . 우선 소스파일 (add.c) 를 컴파일러로 불러 온다 .
– 메뉴에서 [File]-[Open] 을 선택한다 .
14
http://mms.ssu.ac.kr (sbk8941@)
Logo
컴파일러 사용법 -2
소스파일을 컴파일 한다 .– 메뉴에서 [Build]-[Compile] 을 선택한다 .
소스파일을 컴파일하면 목적파일 (object file) 이 생성된다 .
15
목적파일이 생성 되었음을
알리는 메시지
http://mms.ssu.ac.kr (sbk8941@)
Logo
컴파일러 사용법 실행파일을 만들기 위해서는 링크가 필요하다 .
– 메뉴에서 [Build]-[Build] 을 선택한다 .
실행파일이 생성 되었음을
알리는 메시지
http://mms.ssu.ac.kr (sbk8941@)
Logo
링크의 목적 분할 컴파일 된 목적파일 들을 연결시킨다 .
– 하나의 프로그램을 여러 개의 소스 파일로 작성하고 개별적으로 컴파일 한 후에 하나의 실행파일로 만들 수 있다 .
17
http://mms.ssu.ac.kr (sbk8941@)
Logo
프로그램의 실행 실행파일은 더블 클릭하면 실행시킬 수 있다 .
– add.c 소스파일을 저장한 곳이 Debug 폴더가 생성되며 그 안에 실행파일(add.exe) 이 저장된다 .
– add.exe 실행파일을 실행시키면 화면에 어떤 결과도 출력되지 않는다 .– add.c 프로그램은 단지 10 과 20 을 더하는 프로그램이기 때문이다 .
18
int main() { 10 + 20; return 0; }
10 과 20 을 더하는 코드
http://mms.ssu.ac.kr (sbk8941@)
Logo
통합개발환경 (IDE) 통합개발환경 (Integrated Development Environment) 은
프로그램의 작성과 컴파일 , 디버깅 , 실행을 모두 수행할 수 있는 프로그램이다 .– VC++ 6.0 컴파일러도 통합개발환경이다 .
19
소스파일을 편집창에서 직접 작성 하고 에러 발생시 수정한다 .
컴파일이 모두 끝난 후에는 느낌표 모양의 메뉴 아이콘을 눌러서 직접 실행결과를 확인해 볼 수 있다 .
새문서 아이콘을 누르면 소스코드를 작성할 수 있는 편집창이 열린다 .
http://mms.ssu.ac.kr (sbk8941@)
Logo
C 컴파일러 설치 및 간단한 실습 -1
Visual ++ 6.0 설치
1. Visua Studio 6.0 CD 넣기 → 설치마법사 자동 실행 → < 다음 (N)> 클릭
2. [ 최종 사용자 사용권 계약 ] ‘동의함 (A)’ 체크 → < 다음 (N)> 클릭
http://mms.ssu.ac.kr (sbk8941@)
Logo
3. 정확한 제품 ID 번호 입력→ < 다음 (N)> 클릭
4. 사용자 정의 옵션 선택→ < 다음 (N)> 클릭
http://mms.ssu.ac.kr (sbk8941@)
C 컴파일러 설치 및 간단한 실습 -2
Logo
5. 공통 파일을 위한 폴더 선택→ < 찾아보기 (R)> 클릭→ 폴더 선택→ < 다음 (N)> 클릭
6. 설치 프로그램 시작→ < 계속 > 클릭
http://mms.ssu.ac.kr (sbk8941@)
C 컴파일러 설치 및 간단한 실습 -3
Logo
7. 제품 ID 확인→ < 확인 > 클릭
8. 설치 프로그램 선택→ Microsoft Visual C++ 6.0
선택 확인→ < 계속 (C)> 클릭
http://mms.ssu.ac.kr (sbk8941@)
C 컴파일러 설치 및 간단한 실습 -4
Logo
9. ‘ 환경 변수 등록’ 체크→ < 확인 > 클릭
10.[ 새로운 Visual SourceSafe 6.0 데이터베이스 유형 ]→ < 예 (Y)> 클릭
11.설치 계속 진행
http://mms.ssu.ac.kr (sbk8941@)
C 컴파일러 설치 및 간단한 실습 -5
Logo
13. 설치 완료→ <Windows 다시 시작 (R)> 클릭
14. 컴퓨터 재부팅 후 → [MSDN 설치 ] 화면에서 < 끝내기 > 버튼 클릭→ 취소를 확인하는 창에서 < 예 (Y)> 를 눌러 설치 취소
http://mms.ssu.ac.kr (sbk8941@)
C 컴파일러 설치 및 간단한 실습 -6
Logo
최초의 간단한 프로그램 작성
빌드 ( 컴파일 및 링크 )빌드 ( 컴파일 및 링크 )
C 프로그램 코딩C 프로그램 코딩
프로젝트 생성프로젝트 생성
실행 파일 실행실행 파일 실행
http://mms.ssu.ac.kr (sbk8941@)
C 컴파일러 설치 및 간단한 실습 -7
Logo
프로젝트 생성
1. 프로젝트 저장용 폴더 생성 → C:\C_ 소스
2. [ 시작 ] → [ 프로그램 ] → [Microsoft Visual Studio 6.0]→ [Microsoft Visual C++ 6.0] 클릭
http://mms.ssu.ac.kr (sbk8941@)
C 컴파일러 설치 및 간단한 실습 -8
Logo
3. [File]→[New] 메뉴 선택
4. [File]→[New] 메뉴 선택
http://mms.ssu.ac.kr (sbk8941@)
C 컴파일러 설치 및 간단한 실습 -9
Logo
5. [New]→[Projects] 탭 선택→‘ Win32 Console Application’ 선택→ Project Name 입력→ <…> 버튼 클릭
http://mms.ssu.ac.kr (sbk8941@)
C 컴파일러 설치 및 간단한 실습 -10
Logo
6. ‘An empty project’ 선택→ <Finish> 클릭
7. [New Project Information] 창에서 <OK> 버튼 클릭
http://mms.ssu.ac.kr (sbk8941@)
C 컴파일러 설치 및 간단한 실습 -11
Logo
8. 빈 프로젝트 완성 화면
http://mms.ssu.ac.kr (sbk8941@)
C 컴파일러 설치 및 간단한 실습 -12
Logo
C 프로그램 코딩
1. [File]→[New] 선택2. [New]→[Files] 탭 선택 →‘ C++ Source File’ 선택
→ ‘ First.c’ 입력→ <OK> 클릭
http://mms.ssu.ac.kr (sbk8941@)
C 컴파일러 설치 및 간단한 실습 -13
Logo
C 프로그램 코딩
1. [File]→[New] 선택2. [New]→[Files] 탭 선택 →‘ C++ Source File’ 선택
→ ‘ First.c’ 입력→ <OK> 클릭
http://mms.ssu.ac.kr (sbk8941@)
C 컴파일러 설치 및 간단한 실습 -14
Logo
3. 소스 입력 후 [File]→[Save] 메뉴 선택
소스를 입력하는 공간
01 # include <stdio.h>0203 int main()04 {05 printf(“%d”, 100-50);06 }
http://mms.ssu.ac.kr (sbk8941@)
C 컴파일러 설치 및 간단한 실습 -15
Logo
빌드 ( 컴파일 및 링크 )
1. [Build]→[Build First.exe] 선택
2. 소스에 이상이 없는 상태
http://mms.ssu.ac.kr (sbk8941@)
C 컴파일러 설치 및 간단한 실습 -16
Logo
3. 실행창 확인 : 소스에 오류 발생 (5 행의 세미콜론 (;) 을 지운 경우 )
4. 틀린 소스 내용을 찾아 수정
에러 부분을 마우스로 더블클릭하면 해당 위치로 이동함
세미콜론 (;) 이 빠져있어 오류 발생
http://mms.ssu.ac.kr (sbk8941@)
C 컴파일러 설치 및 간단한 실습 -17
Logo
파일 실행1. [Build]→[Execute First.exe] 메뉴 선택
2. 실행 결과 확인
http://mms.ssu.ac.kr (sbk8941@)
C 컴파일러 설치 및 간단한 실습 -18
Logo
3. 실행 결과 값이 잘 보이도록 소스 수정
4. 파일을 저장한 후 Ctrl + F5 키를 눌러 다시 실행5. 빌드 경고창이 뜨면 < 예 (Y)> 클릭
01# include <stdio.h>0203int main()04{05 printf(“%d \n ”, 100-99);06}
100-99 의 값을 출력하고 한줄 넘김
http://mms.ssu.ac.kr (sbk8941@)
C 컴파일러 설치 및 간단한 실습 -19
Logo
6. [File]→[Close Workspace] 메뉴를 선택하여 프로젝트 종료
7. [File]→[Exit] 메뉴를 선택한 후 VC++ 6.0 종료
http://mms.ssu.ac.kr (sbk8941@)
C 컴파일러 설치 및 간단한 실습 -20
Logo
기존의 C 소스 다시 열기
1. VC++ 6.0 실행2. [File]→[Open Workspace] 메뉴 선택3. ‘C:\C_ 소스 \First\’ 폴더의 ‘ First.dsw’ 선택
http://mms.ssu.ac.kr (sbk8941@)
C 컴파일러 설치 및 간단한 실습 -21
Logo
기존의 C 소스 다시 열기
4. ‘First.c’ 파일 더블 클릭• 소스가 보이지 않으면 [FileView] 탭 클릭→ [First files] 클릭→ [Source Files] 확장
http://mms.ssu.ac.kr (sbk8941@)
C 컴파일러 설치 및 간단한 실습 -22
Logo
Ex) 달팽이 우물탈출 프로그램 생각해 볼 문제
– 3m 깊이의 우물에 빠진 달팽이가 낮 동안에 55cm 를 올라가고 밤에는 13cm 를 미끄러지게 된다 . 이 달팽이는 일주일 안에 우물을 탈출할 수 있을까 ?
계산에 의한 순서– (55-13)*7 = 294 < 300
42
http://mms.ssu.ac.kr (sbk8941@)
Logo
합리적인 일의 순서 밤에 미끄러지기 전에 다 올라왔는지 판단해야 한다 !
43
http://mms.ssu.ac.kr (sbk8941@)
Logo
프로그램의 구성요소 처리과정 – 달팽이의 움직임 : X=X+55, X=X-13 판단 – 우물을 벗어났는가 ? : X>=300 반복 – 우물을 벗어나지 못했으면 계속 올라간다 . 입출력 – 우물의 높이나 달팽이의 속도에 따라 결과가 다르다 .
44
http://mms.ssu.ac.kr (sbk8941@)
Logo컴파일 실습 [ 달팽이 우물탈출 프로그램 ]#include <stdio.h>
int main(){ int height;
int days;
height=0;days=0;
height = height + 55;
while(height < 300) { height = height – 13; days = days + 1; height = height + 55;}
printf(“며칠 걸렸습니까 ? /n”);printf(“%d 일입니다 . /n”, days);
return 0;}
45
http://mms.ssu.ac.kr (sbk8941@)
Logo
요약C C 언어언어 • 이식성이 좋다 . • 다른 프로그래밍의 기본이 된다
• 구문이 간결하고 명확하다 . • 하드웨어의 제어까지 가능하다 .
VC++ 6.0VC++ 6.0 의 의 프로그래밍프로그래밍
• VC++ 6.0 에서는 소스 파일보다 프로젝트를 먼저 생성해야 함• 프로젝트는 C 소스를 한 개 이상 묶은 모음• 입력 시 틀린 글자를 찾아주며 , 클릭 한번으로 컴파일과 링크를 해결하는 통합 개발 환경 제공• 소스에서 한 글자라도 변경했다면 반드시 다시 ‘빌드’해야 함
실행 파일 확인 방법실행 파일 확인 방법 ① 명령 프롬프트를 띄운 후 실행 파일이 있는 곳으로 이동② VC++ 6.0 환경에서 Ctrl+F5 를 누름
프로그램 동작 순서프로그램 동작 순서
• 코딩 : C 컴파일러가 알아들을 수 있는 형식으로 문서 작성• 컴파일 : 소스를 컴퓨터가 이해하는 오브젝트 파일로 변환• 링크 : 여러 개의 오브젝트 파일을 하나의 실행파일로 묶음• 빌드 : 컴파일과 링크를 합친 개념• 실행 : 빌드한 결과인 .exe 파일을 작동
http://mms.ssu.ac.kr (sbk8941@)