kasimov c 언어 세미나
DESCRIPTION
Kasimov C 언어 세미나. 1st. 차례. 컴퓨터의 자료 표현 - 숫자 표기법 ( 이진수 , 십육진수 ) 프로그래밍 언어 컴파일러와 인터프리터 자료형 맛보기 오류의 종류와 디버깅 컴파일 하기. 컴퓨터의 자료 표현. 컴퓨터의 자료 표현. 이진수 컴퓨터는 이진 값으로 표현된 정보만 저장하고 다룰 수 있다 . 컴퓨터에서는 한 비트가 0 과 1 을 나타낼 수 있다 . N 비트는 최대 2 N 개의 경우들을 표현할 수 있다. 표 1.2 이진수. 이진수와 십진수. 십진수 - PowerPoint PPT PresentationTRANSCRIPT
1st
Kasimov C 언어 세미나
차례컴퓨터의 자료 표현 - 숫자 표기법 ( 이진수 , 십육진수 )프로그래밍 언어컴파일러와 인터프리터자료형 맛보기오류의 종류와 디버깅컴파일 하기
컴퓨터의 자료 표현
4
이진수컴퓨터는 이진 값으로
표현된 정보만 저장하고 다룰 수 있다 .
컴퓨터에서는 한 비트가 0 과 1 을 나타낼 수 있다 .
N 비트는 최대 2N 개의 경우들을 표현할 수 있다 .
표 1.2 이진수
1 비트 2 비트 3 비트 4 비트
01
00011011
000001010011100101110111
0000000100100011010001010110011110001001101010111100110111101111
이진수와 십진수
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
프로그래밍 언어
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 프로그램은 한번 작성되면 어느 플랫폼에서나 실행
가능
C++ , C#, BASIC 의 차이
C++ 은 C 언어를 확장하여 객체지향 프로그래밍 개념을 추가한 것 .
C# 은 비주얼 언어가 가진 사용자 친화성 , C++ 의 객체지향성 , 자바의 분산환경처리에 적합한 다중성 등을 모두 지니는 컴포넌트 기반의 소프트웨어 개발 패러다임을 반영함
BASIC 은 MS 의 빌게이츠가 만들었던 교육용 언어VISUAL STUDIO : Visual C, C++, C#, BASIC 이 사용되는 툴
컴파일러 및 인터프리터
13
컴파일러고급 언어로 작성된
코드를 동등한 의미의 저급 언어로 된 코드로 번역하는 소프트웨어이다 .
인터프리터별개의 컴파일 단계
없이 한 번에 한 문장씩 번역 ( 혹은 해석 ) 하여 실행한다 .
소스 프로그램
입력 출력인터프리터
입력 출력목적 프로그램
소스 프로그램
컴파일러
14
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 대신에 좀더 적은 노력으로 동일한 작업을 수행할 수 있도록 클래스 로 묶어 놓은 것
17
자료형이란 무엇인가 ? 자료형 (data type)
프로그램에서 표현 혹은 저장하는 데이터의 종류 혹은 유형
C 언어의 자료형C 언어는 크게 1 개의 문자형 , 3 개의 정수형 , 3 개의
부동소수형을 제공한다 .
표 3.1 C 언어의 자료형 분류
자료형 크기에 따라
문자형 char
정수형 short int long
부동소수형 float double long double
자료형 기억장소 최소값 최대값
char 8 비트 -27 = -128 27-1 = 127
short 16 비트 -215 = -32,768 215-1 = 32,767
int 32 비트 -231 = -2,147,483,648 231-1 = 2,147,483,647
long 32 비트 -231 = -2,147,483,648 231-1 = 2,147,483,647
long long*
64 비트 -264 = -9,223,372,036,854,775,808 263-1 = 9,223,372,036,854,775,807
* long long 은 MS Visual C/C++ 6.0 에서는 지원되지 않음 . 여기서 long long 은 gcc 컴파일러의 예
20
Microsoft Visual C++ 통합개발환경 (IDE)프로젝트 구성 창편집 창메시지 창
우리가 사용하게 될 Visual Basic
오류의 종류 및 디버깅
21
오류를 알려준다 .
컴파일시간 오류 (compile-time error)컴파일 과정에서 생긴 오류컴파일러는 프로그램의 구문 , 데이터 , 의미 없는 문장 등을 검사이런 경우 편집기로 돌아가서 오류를 수정한 후 다시 컴파일 해야 함
논리 오류 (logical error) 성공적인 컴파일 후 프로그램을 실행하면서 잘못된 결과를 내는 경우 원하는 결과를 내도록 프로그램 수정 후 다시 컴파일해서 실행해야 함
실행시간 오류 (run-time error) 프로그램실행 중에 예상치 못한 이유로 비정상적으로 종료예 : 어떤 값을 0 으로 나누려고 하면 프로그램은 실행을 멈추고 종료좋은 프로그램은 실행시간 오류가 가능한 한 발생하지 않아야 함
디버깅 (debugging) 프로그램의 결함을 찾고 수정하는 이러한 과정을 디버깅이라고 함
23
MSVC IDE: 프로젝트 만들기(1/5)1. File New
Projects 탭에서Win32 Console Application 선택
2. Location 선택3. 프로젝트 이름 입력4. OK5. Finish & OK
24
MSVC IDE: 프로젝트 만들기(2/5)1. File New2. Location 선택
프로젝트를 저장할 폴더 선택3. 프로젝트 이름 입력4. OK5. Finish & OK
25
MSVC IDE: 프로젝트 만들기(3/5)1. File New2. Location 선택3. 프로젝트 이름 입력
Hello4. OK5. Finish & OK
26
MSVC IDE: 프로젝트 만들기(4/5)1. File New
Win32 Console Application 선택2. Location 선택3. 프로젝트 이름 입력4. OK5. Finish
& OK
27
MSVC IDE: 프로젝트 만들기(5/5) Hello 프로젝트가 생성된 화면
29
간단한 C 프로그램 (hello.c)
실행결과 :Hello, World !
재미있으셨나요 ??
첫시간이라 좀 안드로메다 였나요 ??
…… 이 아니라 ^^
다음 이시간에는 뭘 하냐면요 … !!!!!!!!
To be continue…빌드와 디버깅hello.C 의 분석입 / 출력 함수자료형에 관한 세부사항