C++ 프로그래밍 02 2008년 2학기 전자정보공학대학 컴퓨터공학부.

Slides:



Advertisements
Similar presentations
컴퓨터프로그래밍 I 강원대학교 컴퓨터학부 2012 년 1 학기 담당교수 : 정충교 1. 강사진 강사 : 정충교 교수 연구실 : 공 호 조교 : 3 분반 이남세 연구실 : 공
Advertisements

3. 자료형. 담당교수 : 이 성 우 C++ 프로그래밍 상수와 변수 (3) 1. 변수 (variable)  프로그램 수행 도중에 자료  변수를 위해 은 변하지 않음  선언 시에 반드시 그. ※ 저장 정보의 구성 ① 정보의 종류 ② 저장 값 ③ 저장 위치 int Num.
03 변수와 자료형 세종대학교 최옥경 교수 참고 : 한빛미디어 뇌를 자극하는 C, INFINITY Perfect C.
제 2 장 프로그램 개발과정. 통합 개발 환경  통합 개발 환경 (IDE: integrated development environment)  에디터 + 컴파일러 + 디버거.
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++ 통합 환경 들어가기.
임베디드 모바일 프로그래밍 1 3. 첫 번째 어플리케이션 작성 텍스트 ‘Hello BREW ^^’ 를 출력하는 프로그램 작성하기 (1) App. 프로젝트 - 시작 프로젝트를 작성하기 위하여 MS-Visual C++ 를 실행시킨다. [File  New] 를 선택하고, New.
3. C++와 객체지향 C++ 코딩 방법 객체 단위로 2 개의 파일 인터페이스 파일 구현파일
Vision System Lab, Sang-Hun Han
* 07/16/96 처음으로 배우는 C 프로그래밍 제1부 기초 제1장 시작하기 *.
Power C++ 제6장 포인터와 문자열.
C++ Espresso 제3장 배열과 포인터.
C++ Espresso 제3장 배열과 포인터.
C 언어 기초 2 위덕대학교 에너지전기공학부 이 수 형 2009년 2학기.
C++ Espresso 제1장 기초 사항.
어서와 Java는 처음이지! 제2장 자바 프로그래밍 기초.
1장. 이것이 C 언어다.. 1장. 이것이 C 언어다. 1-1 C 언어의 개론적 이야기 프로그래밍 언어란 무엇인가? 컴파일이란 무엇인가? 사람과 컴파일러가 이해할 수 있는 약속된 형태의 언어 C 언어도 프로그래밍 언어 중 하나이다. 컴파일이란 무엇인가? 프로그래밍.
2014 ITA 8월 강의 C Programming -1주차- C언어 기초 정대진 ( )
강좌명 : C++프로그래밍 (C++ Programming)
1. C 언어의 이해와 컴파일러 설치.
2006년 3월 20일 황의권, 지용인, 최종윤 서울대학교 컴퓨터공학부
1장 Visual Basic 2010 시작 1.1 프로그램에 대한 기초 1.2 Visual Basic 버전
8. 객체와 클래스 (기본).
누구나 쉽게 즐기는 C언어 콘서트 한남대학교 컴퓨터공학과 이 재 광 교수.
2강. JAVA 프로그래밍이란?-II & 변수 JAVA 프로그램 환경설정과 실행 방법 변수란?
4장: 자료형과 수식.
Kasimov C언어 세미나 1st.
1 C 언어의 이해와 컴파일러 설치 프로그래밍 환경을 구축하자!.
제 18 강 데이터 타입 타입, 변환, 캐스팅 shcho.pe.kr.
윤성우의 열혈 C 프로그래밍 윤성우 저 열혈강의 C 프로그래밍 개정판 Chapter 02. 프로그램의 기본구성.
Visual C++ Programming
누구나 즐기는 C언어 콘서트 제2장 기초 사항.
C ++ 프로그래밍 시작.
Chapter 1 C++ 기초 Copyright © 2010 Pearson Addison-Wesley. All rights reserved.
1장. 프로그래밍 언어, C 프로그래밍.
1주차: 프로그래밍언어란 무엇인가? C 언어란? C 프로그래밍을 위한 준비
명품 C++ 프로그래밍 1장. C++ 시작.
4주차: Data Types and Functions
5장. 상수와 기본 자료형. 5장. 상수와 기본 자료형 5-1 C 언어가 제공하는 기본 자료형 자료형(data type) 기본 자료형 사용자 정의 자료형 int val; "선언할 변수의 특징을 나타내기 위한 키워드" 기본 자료형 기본적으로 제공이 되는 자료형 사용자.
Part 0 C Program 안산1대학 디지털정보통신과 임 성 국.
제1장 프로그래밍 기초
DataScience Lab. 박사과정 김희찬 (월)
OpenCV 설치 및 구성 OpenCV
컴퓨터의 기초 제 2강 - 변수와 자료형 , 연산자 2006년 3월 27일.
03. 안드로이드를 위한 Java 문법 제목. 03. 안드로이드를 위한 Java 문법 제목.
타입, 연산자 Chapter 5, 6 Kum Deuk Kyu , Ph. D. Spring 2015
제 3 장 연산자 (Operators).
Java의 정석 제 2 장 변수(Variable) Java 정석 남궁성 강의
4. 고급변수 사용 : 포인터와 관련하여 메모리 바라보기
쉽게 풀어쓴 C언어 Express 제2장 프로그램 작성 과정 C Express.
Chapter 04 자료 유형.
3장. 변수와 연산자. 3장. 변수와 연산자 3-1 연산자, 덧셈 연산자 연산자란 무엇인가? 연산을 요구할 때 사용되는 기호 ex : +, -, *, / 3-1 연산자, 덧셈 연산자 연산자란 무엇인가? 연산을 요구할 때 사용되는 기호 ex : +, -, *, /
제 4장. 객체 지향 프로그래밍 시작하기 학기 프로그래밍언어및실습 (C++).
제 3장 데이터형과 연산자 Hello!! C 언어 강성호 김학배 최우영.
루프와 카운트 Looping and counting
문자열 처리하기 working with Strings
누구나 즐기는 C언어 콘서트 제2장 기초 사항 IT응용시스템공학과 김형진 교수.
쉽게 풀어쓴 C언어 Express 제2장 프로그램 개발 과정 C Express.
C언어 개론.
03. 메모리 관리 C++ 프로그램에서 다룰 수 있는 메모리의 종류
자바 5.0 프로그래밍.
뇌를 자극하는 C 프로그래밍.
포인터와 배열 조 병 규 한 국 교 통 대 학 교 SQ Lab..
Name Title Company Name
1장 Visual Basic 2010 시작 1.1 프로그램에 대한 기초 1.2 Visual Basic 버전
강의교안 이용 안내 *이 책에 딸린 강의자료는 교수님의 효율적인 수업진행을 돕기 위해 만들어졌습니다.
3주차: Control Flow and Others
C.
Choi Younghwan CSE HUFS
Python 기본.
Presentation transcript:

C++ 프로그래밍 02 2008년 2학기 전자정보공학대학 컴퓨터공학부

Outline 복습 생애 첫 프로그램: “Hello World” 변수 변수의 타입 연산자

저번 시간엔… 강의소개 C/C++ or C++ 절차지향 언어로서의 C 객체지향 언어로서의 C++ Encapsulation Polymorphism Inheritance

이번 시간엔… Coding의 과정 시작하기: Visual C++ 개발환경 “Hello C++”

시작하기 전에: Human Evolution

시작하기 전에: Coding의 과정 에디터 원시 파일1 원시 파일n 목적 파일1 컴파일러 목적 파일n 링커 프로그램 디버깅

시작하기 전에: Coding의 과정 C++ 원시파일(source file)의 작성 컴파일(compile) 에디터 프로그램 이용 vi, Microsoft Visual C++의 에디터, MS-DOS의 EDIT, ... 컴파일(compile) 원시파일을 목적코드(object codes)로 바꾸는 과정 목적코드는 컴퓨터가 바로 이해할 수 있는 기계코드(machine code, binaries)로 이루어 짐 컴파일러 프로그램 이용

시작하기 전에: Coding의 과정 링킹(linking) 디버깅(debugging) 실행 여러 목적코드를 한데 묶어(linking) 실행 가능한 프로그램(executable)으로 만드는 과정 링커(linker) 프로그램 이용 디버깅(debugging) 프로그램의 잘못된 부분을 수정하는 과정 디버거(debugger) 프로그램 이용 실행

시작하기 전에: Coding의 과정 에디터 원시 파일1 원시 파일n 목적 파일1 컴파일러 목적 파일n 링커 프로그램 디버깅

시작하기 전에: IDE 통합 개발 환경: Integrated Development Environment 컴퓨터 소프트웨어를 개발할 수 있게 해주는 소프트웨어 Text Editor + Compiler + Linker + Debugger +…

시작하기 전에: IDE Microsoft Visual Studio (6.0, .NET, 2005, 2006) Microsoft의 IDE (Visual Basic, Visual C++, Visual C#,… ) Stand alone application (ms office, games,…) Web application (active x) Web pages (html) 유료! Microsoft Visual C++ Express Edition FREE! http://msdn2.microsoft.com/ko-kr/express/default.aspx

Visual C++ 통합 개발 환경 메뉴 툴바 프로젝트 워크스페이스 출력 창 소스 편집창

VC를 이용한 프로그램 작성 #include <iostream> using namespace std; 작성할 프로그램: Hello World! 소문자/대문자 주의! #include <iostream> using namespace std; int main( ) { cout<<“Hello, World!\n”; return 0; }

VC를 이용한 프로그램 작성 새로운 프로젝트 만들기 : File/New 메뉴 항목 새로운 프로젝트 만들기 새로 만들려는 프로젝트의 종류 선택 “Win32 Console Application” 항목 선택 도스 창으로 결과를 보기위한 C 프로그램 Project name 만들고자 하는 프로젝트의 이름 입력 Location 프로젝트가 위치할 디렉토리 입력 모든 입력이 끝나면 “OK” 버튼

VC를 이용한 프로그램 작성 새로운 프로젝트 만들기 : Step1 of 1 Win32 Console Application “An empty project” 선택 “Finish” 버튼 An empty project 프로젝트의 구조만 갖추고 있을 뿐 프로젝트를 구성하는 파일 없음

VC를 이용한 프로그램 작성 새로운 프로젝트 만들기 : New Project Information 새로 만들어진 프로젝트에 대한 정보 Win32 Console Application 프로젝트 Empty console application 프로젝트를 구성하는 파일이 없어 새로운 파일을 생성하고 프로젝트에 추가하여야 함

VC를 이용한 프로그램 작성 새로운 프로젝트 만들기 : 새로 만들어진 프로젝트

VC를 이용한 프로그램 작성 프로젝트 구성 파일 만들기 : File/New 메뉴 항목 Hello.cpp

VC를 이용한 프로그램 작성 프로젝트 구성 파일 만들기 Hello.cpp

VC를 이용한 프로그램 작성 프로그램 코딩하기- 코드 편집창 화면에 “Hello, World”라는 문자열을 출력하는 프로그램

VC를 이용한 프로그램 작성 컴파일 : Build/Build Hello.exe 메뉴 항목

VC를 이용한 프로그램 작성 실행 : Build/Execute Hello.exe 메뉴 항목 실행 Biuld/Execute Hello.exe 메뉴항목 선택 Win32 Console Application 결과 출력이 도스 프롬프트창에 나타남 프로그램 실행 결과 검토 결과가 제시된 문제가 요구하는 바와 같은가 확인 설계한 출력 상태와 동일한가 확인

VC를 이용한 프로그램 작성 오류 : return를 returm으로 타이핑 했을 때 returm 0; 2개의 error 확인

VC를 이용한 프로그램 작성 오류 : return를 returm으로 타이핑 했을 때 방법1) F4 키를 누르면 error 혹은 warning 메시지를 확인 가능. 방법2) 출력창의 스크롤을 올려 error/warning 메시지를 확인 가능.

프로그램 분석: Hello World #include <iostream> using namespace std; int main( ) { cout<<“Hello, World!\n”; return 0; }

프로그램 분석: Hello World #include <iostream> using namespace std; int main( ) { cout<<“Hello, World!\n”; return 0; } 꼭 있어야 하는 것:

프로그램 분석: Hello World #include <iostream> using namespace std; int main( ) { cout<<“Hello, World!\n”; return 0; } cout 을 사용하게 만들어 준다

프로그램 분석: Hello World #include <iostream> using namespace std; int main( ) { cout<<“Hello, World!\n”; return 0; } 실제 명령 부분

프로그램 분석: Hello World cout << “Hello, World!\n” ; cout : console out (출력장치) << : 오른쪽에서 왼쪽으로 보내라 “ ” : 문자들 (명령어 아님) \n (\n) : 줄넘김 ; : 명령어를 끝맺음 (마침표) cout에게 “Hello, World”를 보내라.

연습 cout << “Hello,” << “World!” << “\n”; cout << “Hello, ”; cout << “World! \n”; cout << “Hello, \n World! \n”;

변수(Variable) 프로그래밍에서의 변수 어떤 값을 저장할 수 있는 장소 숫자, 문자, ... 프로그램의 수행중에 컴퓨터의 주메모리에 존재하는 기억장소

변수가 사용된 프로그램의 예 a,b,c 3개의 변수의 정의와 값 대입 #include <iostream> using namespace std; int main(void) { int a; int b; int c; a = 87; b = 93; c = 100; cout<<a<<b<<c; } a,b,c 3개의 변수의 정의와 값 대입

변수가 사용된 프로그램의 예 a,b,c 3개의 변수의 정의와 값 대입 #include <iostream> using namespace std; int main(void) { int a; int b; int c; a = 87; b = 93; c = 100; cout<<a<<b<<c; } a,b,c 3개의 변수의 정의와 값 대입

변수의 정의(Definition of the Variable) 사용하려는 변수는 프로그램의 앞부분에 정의해주어야 한다. 변수의 타입 변수의 이름; 변수의 타입 변수1의 이름, 변수2의 이름; Example) int a; int a,b;

변수의 타입(Type of the Variable) 변수가 저장할 값의 성격을 나타낸다. 정수(int), 실수(float), 문자(char), ... int a, b, c; 정수를 저장할 수 있는 변수 3개 a, b, c를 정의한다. float fa, fb, fc; 실수를 저장할 수 있는 변수 3개 fa, fb, fc를 정의한다.

변수의 이름(Name of the Variable) 변수의 이름은 영어 알파벳, 숫자, underscore(_)로 구성할 수 있다. 제한 중복된 이름의 변수를 사용할 수 없다 숫자로 시작되면 안 된다. 대소문자는 구분된다. Score라는 변수와 score라는 변수는 서로 다른 변수이다. 길이는 제한없다 underscore(_)로 시작하는 이름은 쓰지 않는 것이 좋다. C 언어에서 사용되는 명령어(keyword)와 같은 이름을 가질 수 없다. main, cout, int, float,...

변수가 사용된 프로그램의 예 a,b,c 3개의 변수의 정의와 값 할당 #include <iostream> using namespace std; int main(void) { int a; int b; int c; a = 87; b = 93; c = 100; cout<<a<<b<<c; } a,b,c 3개의 변수의 정의와 값 할당

변수 값의 할당(Assignments) 변수는 자신의 타입에 적당한 값을 가질 수 있다. 할당연산자(assignment operator, =)를 사용해서 변수에 값을 할당할 수 있다. 변수의 이름 = 값 ; 변수의 이름1 = 변수의 이름2 ; 정보의 흐름방향 Example) a = 100; b = a;

변수 값의 다양한 정의, 할당법 int a; a = 100; int a=100; int a=100, b=200;

수식(Expressions) C 프로그램에서는 일반적인 수학적 수식을 사용할 수 있다. ( +, - , *, / ) 할당수식 a + b - c (a + b + c) / 3; 100 - a * 3; 할당수식 할당연산자가 쓰인 수식 a = 89 ; d = (a+b+c)/3 a = a + 3; a = b = c = 100;

변수가 사용된 프로그램의 예 a,b,c 3개의 변수의 정의와 값 할당 #include <iostream> using namespace std; int main(void) { int a; int b; int c; a = 87; b = 93; c = 100; int avg; avg = (a+b+c)/3 cout<<a<<b<<c<<avg; } a,b,c 3개의 변수의 정의와 값 할당

변수의 타입과 수식의 타입 avg = (a + b + c) / 3 이 수식에 나타난 모든 변수들의 타입은 int이다. 그런데 변수avg는 정수변수이고 따라서 avg에는 93이라는 값이 들어간다.

Practice: 성적출력 과목: 국어, 수학, 영어, 과학, 컴퓨터 점수: 80, 90, 84, 95, 30 과목: 국어, 수학, 영어, 과학, 컴퓨터 점수: 80, 90, 84, 95, 30 각 점수를 보여주고 총점과 평균을 계산하여 예쁘게 출력

여러가지 변수형 정수 계열 short int : 2 Bytes ~ (+)32768 unsigned short int : 2 Bytes ~ 65536 int : 4 Bytes ~ (+)21억 unsigned int : 4 Bytes ~ 43억 long int : 4 Bytes ~ (+)21억 unsigned long int : 4 Bytes ~ 43억 정수를 보관할 땐 int를 이용 절대로 음수가 될 일이 없을 경우는 unsigned

여러가지 변수형 실수 계열 float : 4 Bytes double : 8 Bytes long double : 8 Bytes

실수 값의 대입법 float f; double d; f = 0.00123f; d = 1.23; f = 1.23E-3f; d = 1.23E0; 변수의 정의 일반적인 실수 표현 방식 float는 끝에 f를 붙임 과학적인 실수 표현 방식 지수를 사용 1.23E-3f = 1.23*10 1.23E0 = 1.23*10 -3

실수변수가 들어간 프로그램 #include<iostream> using namespace std; int main(void) { float fa, fb, fc; float favg; fa = 87.0f; fb = 93.0f; fc = 100.0f; favg = (fa + fb + fc) / 3.0f; cout<<“Average: ”<<favg; return 0; } 이 프로그램에서 favg는 실수변수이고 따라서 93.333....이라는 값을 가질 수 있다.

여러가지 변수형 문자타입 char a; char b; a = ‘A’; b = 65; char : 1 Byte = 256가지 문자를 가지고 있는 문자표에 대응 char a; char b; a = ‘A’; b = 65; 변수의 정의 ‘ ’ 로 문자임을 표시. 숫자는 문자표의 65번째 문자를 의미.

문자표(ASCII)

특수문자(Escape Sequence) 수평탭 \t 백스페이스 \b 역슬래쉬 \\ 작은따옴표 \’ 큰따옴표 \” 교재 89page참고

여러가지 변수형 bool 타입 bool a; bool b; a = true; b = false; a = 1; bool : 1 Bit = true(1) / false(0) bool a; bool b; a = true; b = false; a = 1;

형변환 문제가 발생하는 형변환 큰 변수 형식  작은 변수 형식 Example) 가능하면 비슷한 값으로 근사 int  short int float  int double  float 가능하면 비슷한 값으로 근사 int a = 3.2f;  int a= 3; 같다 데이터의 범위가 넘어가면 문제 발생 int a = 655361; short int b = a; ????

형변환 명시적 형변환 int a = 3; float b; b = (float) a; int a; float b = 3.1f; a = (int) b; 형변환 발생 a=3

Practice 다양한 형변환 연습 Page 93