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