310 likes | 659 Views
Kasimov C 언어 세미나. 1st. 차례. 컴퓨터의 자료 표현 - 숫자 표기법 ( 이진수 , 십육진수 ) 프로그래밍 언어 컴파일러와 인터프리터 자료형 맛보기 오류의 종류와 디버깅 컴파일 하기. 컴퓨터의 자료 표현. 컴퓨터의 자료 표현. 이진수 컴퓨터는 이진 값으로 표현된 정보만 저장하고 다룰 수 있다 . 컴퓨터에서는 한 비트가 0 과 1 을 나타낼 수 있다 . N 비트는 최대 2 N 개의 경우들을 표현할 수 있다. 표 1.2 이진수. 이진수와 십진수. 십진수
E N D
Kasimov C언어 세미나 1st
차례 • 컴퓨터의 자료 표현 - 숫자 표기법 (이진수, 십육진수) • 프로그래밍 언어 • 컴파일러와 인터프리터 • 자료형 맛보기 • 오류의 종류와 디버깅 • 컴파일 하기
컴퓨터의 자료 표현 • 이진수 • 컴퓨터는 이진 값으로 표현된 정보만 저장하고 다룰 수 있다. • 컴퓨터에서는 한 비트가 0과 1을 나타낼 수 있다. • N 비트는 최대 2N개의 경우들을 표현할 수 있다. 표 1.2 이진수
이진수와 십진수 • 십진수 • 열 개의 숫자(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
십진수를 이진수로 변환 • 예 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
프로그래밍 언어 • 프로그램을 작성하기 위한 언어 • 사람이 컴퓨터에게 시키고 싶은 내용을 표현하기 위한 표기법 • 그 발전 단계에 따라 기계어, 어셈블리어, 고급언어로 분류 • 기계어 • 이진수 코드로 CPU 종류마다 고유의 기계어 1001 0001 0001 위치의 값을 누산기에 저장하라. 1100 0010누산기에 0010 위치의 값을 더하라 1010 0011누산기의 값을 0011위치에 저장하라. • 어셈블리어 • 기계어의 이진수 코드를 기호화 코드(mnemonics)로 대치한 것 LOAD Y Y의 값을 누산기에 저장한다. ADD Z누산기에 Z의 값을 더하라 STORE X 누산기의 값을 X에 저장하라. • 고급 언어 • 영어와 비슷한 구문으로 표현되며, 읽고 쓰기가 보다 쉽다 • 고급언어는 프로그래머가 기계의 세부사항을 알 필요가 없게 해준다 X = Y + Z
주요 고급 언어 • FORTRAN(FORmula TRANslation) • 1957년에 IBM의 John Backus가 개발한 최초의 성공적인 고급 프로그래밍 언어 • 주로 과학계산용 언어로 프로그램을 단순화된 영어 단어와 수학 공식으로 표현 • COBOL(COmmon Business Oriented Language) • 1960년초에 개발된 사무용 프로그램을 개발을 위한 프로그래밍 언어 • COBOL로 작성된 많은 급여, 회계 및 기타 업무용 S/W는 지금도 많이 사용됨 • BASIC(Beginner's All-purpose Symbolic Instruction Code) • 초보자가 배우기 쉬운 프로그래밍 언어로 개발 • 원래 학생들에게 프로그래밍 언어를 가르치기 위해 개발 • 그 후 컴퓨터 업계에 소개되면서 비중 있는 프로그래밍 언어가 됨.
주요 고급 언어 • C 언어 • AT&T 벨 연구소의 Dennis Ritchie가 개발한 시스템 프로그래밍 용 언어 • 1970년대 UNIX라는 운영 체제 개발을 위하여 개발된 언어 • 고급 언어이면서도 저급 언어(하드웨어에 가까운 언어)의 특성을 가지고 있음. • C++ • AT&T 벨 연구소의 B. Stroustrup에 의해 개발 • C 언어의 기능을 확장하여 만든 객체 지향 프로그래밍 언어 • Java • 1990년대에 선 마이크로시스템 사의 James Gosling이 개발 • 인터넷 환경을 위해 개발된 객체지향 언어로 이동 코드실행 지원 • Java 프로그램은 한번 작성되면 어느 플랫폼에서나 실행 가능
C++ , C#, BASIC 의 차이 • C++은 C언어를 확장하여 객체지향 프로그래밍 개념을 추가한 것. • C#은 비주얼 언어가 가진 사용자 친화성, C++의 객체지향성, 자바의 분산환경처리에 적합한 다중성 등을 모두 지니는 컴포넌트 기반의 소프트웨어 개발 패러다임을 반영함 • BASIC은 MS의 빌게이츠가 만들었던 교육용 언어 • VISUAL STUDIO : Visual C, C++, C#, BASIC 이 사용되는 툴
소스 프로그램 입력 출력 인터프리터 소스 프로그램 컴파일러 목적 프로그램 입력 출력 컴파일러 및 인터프리터 • 컴파일러 • 고급 언어로 작성된 코드를 동등한 의미의 저급 언어로 된 코드로 번역하는 소프트웨어이다. • 인터프리터 • 별개의 컴파일 단계 없이 한 번에 한 문장씩 번역(혹은 해석)하여 실행한다.
C 컴파일러 • 컴파일러란? • 통역사(사람과 컴퓨터 사이의 통역 담당) • C 프로그램을 컴퓨터가 수행할 수 있도록 번역해 주는 놈 • CPU는 C 프로그램을 모른다 • CPU는 이진코드 형태의 기계어(machine language)만 안다 • 컴파일러 종류 • 상용 컴파일러: Microsoft Visual C/C++, Borland C/C++ C 프로그램 int main… 컴파일러 기계어 프로그램 010101…
API / MFC • API - MS Windows에서 사용할 수 있는 프로그램을 만들기 위한 함수의 라이브러리( printf와 같은 미리 정의된 함수의 집합) - API에서 사용하는 함수들을 리눅스용 프로그램 제작시에는 사용하지 못한다 - API는 C언어를 기반으로 한 함수들로 이루어져 있다. • MFC : MS의 Visual Studio만을 위한 API • Visual C++ 을 이용하여 개발할때 사용 • API는 C언어 기반으로 만든 함수이기에 규모가 큰 프로그램 개발시에는 상당히 많은 시간과 노력이 들게 됨. Visual C++에서 API 대신에 좀더 적은 노력으로 동일한 작업을 수행할 수 있도록 클래스 로 묶어 놓은 것
자료형이란 무엇인가? • 자료형(data type) • 프로그램에서 표현 혹은 저장하는 데이터의 종류 혹은 유형 • C 언어의 자료형 • C 언어는 크게 1개의 문자형, 3개의 정수형, 3개의 부동소수형을 제공한다. 표 3.1 C 언어의 자료형 분류
우리가 사용하게 될 Visual Basic • Microsoft Visual C++ 통합개발환경(IDE) • 프로젝트 구성 창 • 편집 창 • 메시지 창
오류의 종류 및 디버깅 • 컴파일시간 오류(compile-time error) • 컴파일 과정에서 생긴 오류 • 컴파일러는 프로그램의 구문, 데이터, 의미 없는 문장 등을 검사 • 이런 경우 편집기로 돌아가서 오류를 수정한 후 다시 컴파일 해야 함 • 논리 오류(logical error) • 성공적인 컴파일 후 프로그램을 실행하면서 잘못된 결과를 내는 경우 • 원하는 결과를 내도록 프로그램 수정 후 다시 컴파일해서 실행해야 함 • 실행시간 오류(run-time error) • 프로그램실행 중에 예상치 못한 이유로 비정상적으로 종료 • 예: 어떤 값을 0으로 나누려고 하면 프로그램은 실행을 멈추고 종료 • 좋은 프로그램은 실행시간 오류가 가능한 한 발생하지 않아야 함 • 디버깅(debugging) • 프로그램의 결함을 찾고 수정하는 이러한 과정을 디버깅이라고 함 오류를 알려준다.
MSVC IDE: 프로젝트 만들기(1/5) • File New Projects 탭에서 Win32 Console Application 선택 • Location 선택 • 프로젝트 이름 입력 • OK • Finish & OK
MSVC IDE: 프로젝트 만들기(2/5) • File New • Location 선택 프로젝트를 저장할 폴더 선택 • 프로젝트 이름 입력 • OK • Finish & OK
MSVC IDE: 프로젝트 만들기(3/5) • File New • Location 선택 • 프로젝트 이름 입력 Hello • OK • Finish & OK
MSVC IDE: 프로젝트 만들기(4/5) • File New Win32 Console Application 선택 • Location 선택 • 프로젝트 이름 입력 • OK • Finish & OK
MSVC IDE: 프로젝트 만들기(5/5) • Hello 프로젝트가 생성된 화면
간단한 C 프로그램(hello.c) 실행결과: Hello, World !
재미있으셨나요?? 첫시간이라 좀 안드로메다 였나요?? 끝 ……이 아니라 ^^ 다음 이시간에는 뭘 하냐면요 …!!!!!!!!
To be continue… • 빌드와 디버깅 • hello.C 의 분석 • 입/ 출력 함수 • 자료형에 관한 세부사항