1 / 31

Kasimov C 언어 세미나

Kasimov C 언어 세미나. 1st. 차례. 컴퓨터의 자료 표현 - 숫자 표기법 ( 이진수 , 십육진수 ) 프로그래밍 언어 컴파일러와 인터프리터 자료형 맛보기 오류의 종류와 디버깅 컴파일 하기. 컴퓨터의 자료 표현. 컴퓨터의 자료 표현. 이진수 컴퓨터는 이진 값으로 표현된 정보만 저장하고 다룰 수 있다 . 컴퓨터에서는 한 비트가 0 과 1 을 나타낼 수 있다 . N 비트는 최대 2 N 개의 경우들을 표현할 수 있다. 표 1.2 이진수. 이진수와 십진수. 십진수

sissy
Télécharger la présentation

Kasimov C 언어 세미나

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Kasimov C언어 세미나 1st

  2. 차례 • 컴퓨터의 자료 표현 - 숫자 표기법 (이진수, 십육진수) • 프로그래밍 언어 • 컴파일러와 인터프리터 • 자료형 맛보기 • 오류의 종류와 디버깅 • 컴파일 하기

  3. 컴퓨터의 자료 표현

  4. 컴퓨터의 자료 표현 • 이진수 • 컴퓨터는 이진 값으로 표현된 정보만 저장하고 다룰 수 있다. • 컴퓨터에서는 한 비트가 0과 1을 나타낼 수 있다. • N 비트는 최대 2N개의 경우들을 표현할 수 있다. 표 1.2 이진수

  5. 이진수와 십진수 • 십진수 • 열 개의 숫자(0에서 9)를 이용하여 값을 표현한다. • 십진수의 각 자리에는 자릿값이 있다. • 182     =  1 x 102  + 8 x  101 + 2 x  100 =  1 x 100 +  8 x 10  +  2 x 1  • 이진수 • 두 개의 숫자(0과 1)를 이용하여 값을 표현한다. • 이진수의 각 자리에는 자릿값이 있다. • 11012     = 1 x 23 + 1 x  22 + 0 x  21 + 1 x  20                 = 1 x 8 +  1 x 4   +  0 x 2   + 1 x 1                  = 13

  6. 십진수를 이진수로 변환 • 예 24(=16) < 27< 25(=32) • 27 = 1  x  16  +  1 x  8   +  0 x 4  +  1 x  2  +  1 x 1 = 1  x  24   +  1 x  23 +  0 x 22 +  1 x  21 +  1 x  20      = 110112

  7. 프로그래밍 언어

  8. 프로그래밍 언어 • 프로그램을 작성하기 위한 언어 • 사람이 컴퓨터에게 시키고 싶은 내용을 표현하기 위한 표기법 • 그 발전 단계에 따라 기계어, 어셈블리어, 고급언어로 분류 • 기계어 • 이진수 코드로 CPU 종류마다 고유의 기계어 1001   0001   0001 위치의 값을 누산기에 저장하라. 1100   0010누산기에 0010 위치의 값을 더하라 1010   0011누산기의 값을 0011위치에 저장하라. • 어셈블리어 • 기계어의 이진수 코드를 기호화 코드(mnemonics)로 대치한 것 LOAD   Y      Y의 값을 누산기에 저장한다. ADD     Z누산기에 Z의 값을 더하라 STORE  X 누산기의 값을 X에 저장하라. • 고급 언어 • 영어와 비슷한 구문으로 표현되며, 읽고 쓰기가 보다 쉽다 • 고급언어는 프로그래머가 기계의 세부사항을 알 필요가 없게 해준다 X = Y + Z

  9. 주요 고급 언어 • FORTRAN(FORmula TRANslation) • 1957년에 IBM의 John Backus가 개발한 최초의 성공적인 고급 프로그래밍 언어 • 주로 과학계산용 언어로 프로그램을 단순화된 영어 단어와 수학 공식으로 표현 • COBOL(COmmon Business Oriented Language) • 1960년초에 개발된 사무용 프로그램을 개발을 위한 프로그래밍 언어 • COBOL로 작성된 많은 급여, 회계 및 기타 업무용 S/W는 지금도 많이 사용됨 • BASIC(Beginner's All-purpose Symbolic Instruction Code) • 초보자가 배우기 쉬운 프로그래밍 언어로 개발 • 원래 학생들에게 프로그래밍 언어를 가르치기 위해 개발 • 그 후 컴퓨터 업계에 소개되면서 비중 있는 프로그래밍 언어가 됨.

  10. 주요 고급 언어 • C 언어 • AT&T 벨 연구소의 Dennis Ritchie가 개발한 시스템 프로그래밍 용 언어 • 1970년대 UNIX라는 운영 체제 개발을 위하여 개발된 언어 • 고급 언어이면서도 저급 언어(하드웨어에 가까운 언어)의 특성을 가지고 있음. • C++ • AT&T 벨 연구소의 B. Stroustrup에 의해 개발 • C 언어의 기능을 확장하여 만든 객체 지향 프로그래밍 언어 • Java • 1990년대에 선 마이크로시스템 사의 James Gosling이 개발 • 인터넷 환경을 위해 개발된 객체지향 언어로 이동 코드실행 지원 • Java 프로그램은 한번 작성되면 어느 플랫폼에서나 실행 가능

  11. C++ , C#, BASIC 의 차이 • C++은 C언어를 확장하여 객체지향 프로그래밍 개념을 추가한 것. • C#은 비주얼 언어가 가진 사용자 친화성, C++의 객체지향성, 자바의 분산환경처리에 적합한 다중성 등을 모두 지니는 컴포넌트 기반의 소프트웨어 개발 패러다임을 반영함 • BASIC은 MS의 빌게이츠가 만들었던 교육용 언어 • VISUAL STUDIO : Visual C, C++, C#, BASIC 이 사용되는 툴

  12. 컴파일러 및 인터프리터

  13. 소스 프로그램 입력 출력 인터프리터 소스 프로그램 컴파일러 목적 프로그램 입력 출력 컴파일러 및 인터프리터 • 컴파일러 • 고급 언어로 작성된 코드를 동등한 의미의 저급 언어로 된 코드로 번역하는 소프트웨어이다. • 인터프리터 • 별개의 컴파일 단계 없이 한 번에 한 문장씩 번역(혹은 해석)하여 실행한다.

  14. C 컴파일러 • 컴파일러란? • 통역사(사람과 컴퓨터 사이의 통역 담당) • C 프로그램을 컴퓨터가 수행할 수 있도록 번역해 주는 놈 • CPU는 C 프로그램을 모른다 • CPU는 이진코드 형태의 기계어(machine language)만 안다 • 컴파일러 종류 • 상용 컴파일러: Microsoft Visual C/C++, Borland C/C++ C 프로그램 int main… 컴파일러 기계어 프로그램 010101…

  15. API / MFC • API - MS Windows에서 사용할 수 있는 프로그램을 만들기 위한 함수의 라이브러리( printf와 같은 미리 정의된 함수의 집합) - API에서 사용하는 함수들을 리눅스용 프로그램 제작시에는 사용하지 못한다 - API는 C언어를 기반으로 한 함수들로 이루어져 있다. • MFC : MS의 Visual Studio만을 위한 API • Visual C++ 을 이용하여 개발할때 사용 • API는 C언어 기반으로 만든 함수이기에 규모가 큰 프로그램 개발시에는 상당히 많은 시간과 노력이 들게 됨. Visual C++에서 API 대신에 좀더 적은 노력으로 동일한 작업을 수행할 수 있도록 클래스 로 묶어 놓은 것

  16. 자료형

  17. 자료형이란 무엇인가? • 자료형(data type) • 프로그램에서 표현 혹은 저장하는 데이터의 종류 혹은 유형 • C 언어의 자료형 • C 언어는 크게 1개의 문자형, 3개의 정수형, 3개의 부동소수형을 제공한다. 표 3.1 C 언어의 자료형 분류

  18. 오류의 종류 및 디버깅

  19. 우리가 사용하게 될 Visual Basic • Microsoft Visual C++ 통합개발환경(IDE) • 프로젝트 구성 창 • 편집 창 • 메시지 창

  20. 오류의 종류 및 디버깅 • 컴파일시간 오류(compile-time error) • 컴파일 과정에서 생긴 오류 • 컴파일러는 프로그램의 구문, 데이터, 의미 없는 문장 등을 검사 • 이런 경우 편집기로 돌아가서 오류를 수정한 후 다시 컴파일 해야 함 • 논리 오류(logical error) • 성공적인 컴파일 후 프로그램을 실행하면서 잘못된 결과를 내는 경우 • 원하는 결과를 내도록 프로그램 수정 후 다시 컴파일해서 실행해야 함 • 실행시간 오류(run-time error) • 프로그램실행 중에 예상치 못한 이유로 비정상적으로 종료 • 예: 어떤 값을 0으로 나누려고 하면 프로그램은 실행을 멈추고 종료 • 좋은 프로그램은 실행시간 오류가 가능한 한 발생하지 않아야 함 • 디버깅(debugging) • 프로그램의 결함을 찾고 수정하는 이러한 과정을 디버깅이라고 함 오류를 알려준다.

  21. 컴파일하기

  22. MSVC IDE: 프로젝트 만들기(1/5) • File  New Projects 탭에서 Win32 Console Application 선택 • Location 선택 • 프로젝트 이름 입력 • OK • Finish & OK

  23. MSVC IDE: 프로젝트 만들기(2/5) • File  New • Location 선택 프로젝트를 저장할 폴더 선택 • 프로젝트 이름 입력 • OK • Finish & OK

  24. MSVC IDE: 프로젝트 만들기(3/5) • File  New • Location 선택 • 프로젝트 이름 입력 Hello • OK • Finish & OK

  25. MSVC IDE: 프로젝트 만들기(4/5) • File  New Win32 Console Application 선택 • Location 선택 • 프로젝트 이름 입력 • OK • Finish & OK

  26. MSVC IDE: 프로젝트 만들기(5/5) • Hello 프로젝트가 생성된 화면

  27. 연습

  28. 간단한 C 프로그램(hello.c) 실행결과: Hello, World !

  29. 재미있으셨나요?? 첫시간이라 좀 안드로메다 였나요?? 끝 ……이 아니라 ^^ 다음 이시간에는 뭘 하냐면요 …!!!!!!!!

  30. To be continue… • 빌드와 디버깅 • hello.C 의 분석 • 입/ 출력 함수 • 자료형에 관한 세부사항

More Related