Kasimov C언어 세미나 1st.

Slides:



Advertisements
Similar presentations
운영 체제의 일반 발표자 : 백승재 황영종. 1. 운영체제의 의의 전자 계산기에서 사용자와 하드웨어와의 직접적으로 대화하는 대신 운영 체제라는 시스템 프로그램을 통하여 하드웨어를 다루는 것이다. 한정된 컴퓨터 자원을 효율적으로 관리, 운영함으로써 사용자에게 편의성을 제공하는.
Advertisements

컴퓨터프로그래밍 I 강원대학교 컴퓨터학부 2012 년 1 학기 담당교수 : 정충교 1. 강사진 강사 : 정충교 교수 연구실 : 공 호 조교 : 3 분반 이남세 연구실 : 공
03 변수와 자료형 세종대학교 최옥경 교수 참고 : 한빛미디어 뇌를 자극하는 C, INFINITY Perfect C.
제 2 장 프로그램 개발과정. 통합 개발 환경  통합 개발 환경 (IDE: integrated development environment)  에디터 + 컴파일러 + 디버거.
C 언어 Sun Moon University 1 of 25 C 언어 : 강의소개 강의실 : 산 211 담당교수 : 고경철 ( 정보통신공학과 ) 사무실 : 산학협력관 105B 면담시간 : 수업후 1 시간
YES C 제 1 장 C 언어의 개요 1/34 제 1 장 C 언어의 개요 문봉근. YES C 제 1 장 C 언어의 개요 2/34 제 1 장 C 언어의 개요 1.1 프로그램과 C 언어의 특징 1.2 C 언어의 프로그램 구성 1.3 비주얼 C++ 통합 환경 들어가기.
미디어 프로그래밍 II 소개.
2013학년도 3-1 정보컴퓨터공학부 컴퓨터 소프트웨어 설계 및 실험
IT 패러다임을 바꾼 디지털 리더 한국대학생IT경영학회 교육팀 차헌영 가장 성공한 IT기업은?
안 보여 줄끼가? 소프트웨어 프로젝트 1 – 제안서 발표 피바다 (A6)조 발표자 : 조기수.
* 07/16/96 처음으로 배우는 C 프로그래밍 제1부 기초 제1장 시작하기 *.
01. 안드로이드 개요와 개발환경 구축 제목.
C 언어 기초 2 위덕대학교 에너지전기공학부 이 수 형 2009년 2학기.
C++ Espresso 제1장 기초 사항.
1장. 이것이 C 언어다.. 1장. 이것이 C 언어다. 1-1 C 언어의 개론적 이야기 프로그래밍 언어란 무엇인가? 컴파일이란 무엇인가? 사람과 컴파일러가 이해할 수 있는 약속된 형태의 언어 C 언어도 프로그래밍 언어 중 하나이다. 컴파일이란 무엇인가? 프로그래밍.
2014 ITA 8월 강의 C Programming -1주차- C언어 기초 정대진 ( )
알기 쉽게 해설한 Java 8th edition
강좌명 : C++프로그래밍 (C++ Programming)
1. C 언어의 이해와 컴파일러 설치.
강좌 개요 2009년 1학기 컴퓨터의 개념 및 실습.
2006년 3월 20일 황의권, 지용인, 최종윤 서울대학교 컴퓨터공학부
누구나 쉽게 즐기는 C언어 콘서트 한남대학교 컴퓨터공학과 이 재 광 교수.
2강. JAVA 프로그래밍이란?-II & 변수 JAVA 프로그램 환경설정과 실행 방법 변수란?
Power Java 제4장 자바 프로그래밍 기초.
1 C 언어의 이해와 컴파일러 설치 프로그래밍 환경을 구축하자!.
변수와 자료형.
제 1 장 C 언어의 개요 Google 공동 창업자, 래리 페이지와 세르게이 브린.
윤성우의 열혈 C 프로그래밍 윤성우 저 열혈강의 C 프로그래밍 개정판 Chapter 02. 프로그램의 기본구성.
Visual C++ Programming
Android 개발환경 설치 및 Hello World
C++ 프로그래밍 년 2학기 전자정보공학대학 컴퓨터공학부.
Internet Protocol and Programming
프로그래밍 서울대학교 통계학과 2009년 2학기 컴퓨터의 개념 및 실습 (
『디지털 경제시대의 경영정보시스템』 김효석 · 홍일유 공저 ⓒ 2000, 법문사
변수와 자료형.
1장. 프로그래밍 언어, C 프로그래밍.
운영체제 이나현.
제 1장 시스템 소프트웨어의 개요.
쪽지 전송 프로그램 - 최종보고 장승수 최희진 오민영.
1주차: 프로그래밍언어란 무엇인가? C 언어란? C 프로그래밍을 위한 준비
제1장 서론.
쉽게 풀어쓴 C언어 Express 제1장 프로그래밍의 개념 C Express.
명품 C++ 프로그래밍 1장. C++ 시작.
제1장 시스템 소프트웨어의 개요 컴퓨터시스템 및 하드웨어 구성 컴퓨터의 구성과 기능 시스템프로그램의 개요
Lecture 01: Compiler Overview
Chapter 2 – 언어의 변천 Outline 2.1 디지털 컴퓨터 이전의 언어
23강 API - II - 약방의 감초 Random 클래스 - Scanner 및 Sysout - Wrapper 클래스의 이해
제1장 프로그래밍 기초
DataScience Lab. 박사과정 김희찬 (월)
컴퓨터의 기초 제 2강 - 변수와 자료형 , 연산자 2006년 3월 27일.
03. 안드로이드를 위한 Java 문법 제목. 03. 안드로이드를 위한 Java 문법 제목.
자전거를 배우려면 안장에 올라가 페달을 밟아라.
자전거를 배우려면 안장에 올라가 페달을 밟아라.
제 1장 서론 Hello!! C 언어 강성호 김학배 최우영.
Appendix A 구조적 시스템 개발 방법론.
윤성우의 열혈 C 프로그래밍 윤성우 저 열혈강의 C 프로그래밍 개정판 Chapter 05. 상수와 기본 자료형.
쉽게 풀어쓴 C언어 Express 제2장 프로그램 작성 과정 C Express.
[INA470] Java Programming Youn-Hee Han
쉽게 풀어쓴 C언어 Express 제1장 프로그래밍의 개념 C Express.
C언어 개론.
제6장 소프트웨어와 정보시스템 김진수
Name Title Company Name
컴퓨터 새내기 탈출 4. 컴퓨터에 생명을.
C언어 개요 프로그래밍이란 프로그래밍 언어란 컴퓨터와의 의사소통을 위한 표현 방법 세대별 언어의 발전을 거듭함
강의교안 이용 안내 *이 책에 딸린 강의자료는 교수님의 효율적인 수업진행을 돕기 위해 만들어졌습니다.
컴퓨터 프로그램 제 1장 공학문제 해결 김 문 기.
1장 운영체제의 소개 컴퓨터소프트웨어 2-B 한아름.
C.
Eclipse를 이용한 Embedded Linux 응용 프로그램 개발
Choi Younghwan CSE HUFS
Presentation transcript:

Kasimov C언어 세미나 1st

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

컴퓨터의 자료 표현

컴퓨터의 자료 표현 이진수 컴퓨터는 이진 값으로 표현된 정보만 저장하고 다룰 수 있다. 컴퓨터는 이진 값으로 표현된 정보만 저장하고 다룰 수 있다. 컴퓨터에서는 한 비트가 0과 1을 나타낼 수 있다. N 비트는 최대 2N개의 경 우들을 표현할 수 있다. 1 비트  2 비트 3 비트 4 비트 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)를 이용하여 값을 표현한다. 이진수의 각 자리에는 자릿값이 있다. 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 언어 C++ Java AT&T 벨 연구소의 Dennis Ritchie가 개발한 시스템 프로그 래밍 용 언어 1970년대 UNIX라는 운영 체제 개발을 위하여 개발된 언어 고급 언어이면서도 저급 언어(하드웨어에 가까운 언어)의 특성을 가지고 있음. C++ AT&T 벨 연구소의 B. Stroustrup에 의해 개발 C 언어의 기능을 확장하여 만든 객체 지향 프로그래밍 언 어 Java 1990년대에 선 마이크로시스템 사의 James Gosling이 개발 인터넷 환경을 위해 개발된 객체지향 언어로 이동 코드실 행 지원 Java 프로그램은 한번 작성되면 어느 플랫폼에서나 실행 가능

C++ , C#, BASIC 의 차이 C++은 C언어를 확장하여 객체지향 프로그래밍 개념을 추가한 것. BASIC은 MS의 빌게이츠가 만들었던 교육용 언어 VISUAL STUDIO : Visual C, C++, C#, BASIC 이 사용되는 툴

컴파일러 및 인터프리터

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

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 언어의 자료형 프로그램에서 표현 혹은 저장하는 데이터의 종류 혹은 유형 크기에 따라 문자형 char   정수형 short int long 부동소수형 float double long double 표 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 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) 프로젝트 구성 창 편집 창 메시지 창

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

컴파일하기

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

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

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

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

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

연습

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

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

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