Download presentation
Presentation is loading. Please wait.
1
C++ 프로그래밍 02 2008년 2학기 전자정보공학대학 컴퓨터공학부
2
Outline 복습 생애 첫 프로그램: “Hello World” 변수 변수의 타입 연산자
3
저번 시간엔… 강의소개 C/C++ or C++ 절차지향 언어로서의 C 객체지향 언어로서의 C++ Encapsulation
Polymorphism Inheritance
4
이번 시간엔… Coding의 과정 시작하기: Visual C++ 개발환경 “Hello C++”
5
시작하기 전에: Human Evolution
6
시작하기 전에: Coding의 과정 에디터 원시 파일1 원시 파일n 목적 파일1 컴파일러 목적 파일n 링커 프로그램 디버깅
7
시작하기 전에: Coding의 과정 C++ 원시파일(source file)의 작성 컴파일(compile) 에디터 프로그램 이용
vi, Microsoft Visual C++의 에디터, MS-DOS의 EDIT, ... 컴파일(compile) 원시파일을 목적코드(object codes)로 바꾸는 과정 목적코드는 컴퓨터가 바로 이해할 수 있는 기계코드(machine code, binaries)로 이루어 짐 컴파일러 프로그램 이용
8
시작하기 전에: Coding의 과정 링킹(linking) 디버깅(debugging) 실행
여러 목적코드를 한데 묶어(linking) 실행 가능한 프로그램(executable)으로 만드는 과정 링커(linker) 프로그램 이용 디버깅(debugging) 프로그램의 잘못된 부분을 수정하는 과정 디버거(debugger) 프로그램 이용 실행
9
시작하기 전에: Coding의 과정 에디터 원시 파일1 원시 파일n 목적 파일1 컴파일러 목적 파일n 링커 프로그램 디버깅
10
시작하기 전에: IDE 통합 개발 환경: Integrated Development Environment
컴퓨터 소프트웨어를 개발할 수 있게 해주는 소프트웨어 Text Editor + Compiler + Linker + Debugger +…
11
시작하기 전에: 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!
12
Visual C++ 통합 개발 환경 메뉴 툴바 프로젝트 워크스페이스 출력 창 소스 편집창
13
VC를 이용한 프로그램 작성 #include <iostream> using namespace std;
작성할 프로그램: Hello World! 소문자/대문자 주의! #include <iostream> using namespace std; int main( ) { cout<<“Hello, World!\n”; return 0; }
14
VC를 이용한 프로그램 작성 새로운 프로젝트 만들기 : File/New 메뉴 항목 새로운 프로젝트 만들기
새로 만들려는 프로젝트의 종류 선택 “Win32 Console Application” 항목 선택 도스 창으로 결과를 보기위한 C 프로그램 Project name 만들고자 하는 프로젝트의 이름 입력 Location 프로젝트가 위치할 디렉토리 입력 모든 입력이 끝나면 “OK” 버튼
15
VC를 이용한 프로그램 작성 새로운 프로젝트 만들기 : Step1 of 1 Win32 Console Application
“An empty project” 선택 “Finish” 버튼 An empty project 프로젝트의 구조만 갖추고 있을 뿐 프로젝트를 구성하는 파일 없음
16
VC를 이용한 프로그램 작성 새로운 프로젝트 만들기 : New Project Information
새로 만들어진 프로젝트에 대한 정보 Win32 Console Application 프로젝트 Empty console application 프로젝트를 구성하는 파일이 없어 새로운 파일을 생성하고 프로젝트에 추가하여야 함
17
VC를 이용한 프로그램 작성 새로운 프로젝트 만들기 : 새로 만들어진 프로젝트
18
VC를 이용한 프로그램 작성 프로젝트 구성 파일 만들기 : File/New 메뉴 항목 Hello.cpp
19
VC를 이용한 프로그램 작성 프로젝트 구성 파일 만들기 Hello.cpp
20
VC를 이용한 프로그램 작성 프로그램 코딩하기- 코드 편집창 화면에 “Hello, World”라는 문자열을 출력하는 프로그램
21
VC를 이용한 프로그램 작성 컴파일 : Build/Build Hello.exe 메뉴 항목
22
VC를 이용한 프로그램 작성 실행 : Build/Execute Hello.exe 메뉴 항목 실행
Biuld/Execute Hello.exe 메뉴항목 선택 Win32 Console Application 결과 출력이 도스 프롬프트창에 나타남 프로그램 실행 결과 검토 결과가 제시된 문제가 요구하는 바와 같은가 확인 설계한 출력 상태와 동일한가 확인
23
VC를 이용한 프로그램 작성 오류 : return를 returm으로 타이핑 했을 때 returm 0; 2개의 error 확인
24
VC를 이용한 프로그램 작성 오류 : return를 returm으로 타이핑 했을 때
방법1) F4 키를 누르면 error 혹은 warning 메시지를 확인 가능. 방법2) 출력창의 스크롤을 올려 error/warning 메시지를 확인 가능.
25
프로그램 분석: Hello World #include <iostream> using namespace std;
int main( ) { cout<<“Hello, World!\n”; return 0; }
26
프로그램 분석: Hello World #include <iostream> using namespace std;
int main( ) { cout<<“Hello, World!\n”; return 0; } 꼭 있어야 하는 것:
27
프로그램 분석: Hello World #include <iostream> using namespace std;
int main( ) { cout<<“Hello, World!\n”; return 0; } cout 을 사용하게 만들어 준다
28
프로그램 분석: Hello World #include <iostream> using namespace std;
int main( ) { cout<<“Hello, World!\n”; return 0; } 실제 명령 부분
29
프로그램 분석: Hello World cout << “Hello, World!\n” ;
cout : console out (출력장치) << : 오른쪽에서 왼쪽으로 보내라 “ ” : 문자들 (명령어 아님) \n (\n) : 줄넘김 ; : 명령어를 끝맺음 (마침표) cout에게 “Hello, World”를 보내라.
30
연습 cout << “Hello,” << “World!” << “\n”;
cout << “Hello, ”; cout << “World! \n”; cout << “Hello, \n World! \n”;
31
변수(Variable) 프로그래밍에서의 변수 어떤 값을 저장할 수 있는 장소
숫자, 문자, ... 프로그램의 수행중에 컴퓨터의 주메모리에 존재하는 기억장소
32
변수가 사용된 프로그램의 예 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개의 변수의 정의와 값 대입
33
변수가 사용된 프로그램의 예 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개의 변수의 정의와 값 대입
34
변수의 정의(Definition of the Variable)
사용하려는 변수는 프로그램의 앞부분에 정의해주어야 한다. 변수의 타입 변수의 이름; 변수의 타입 변수1의 이름, 변수2의 이름; Example) int a; int a,b;
35
변수의 타입(Type of the Variable)
변수가 저장할 값의 성격을 나타낸다. 정수(int), 실수(float), 문자(char), ... int a, b, c; 정수를 저장할 수 있는 변수 3개 a, b, c를 정의한다. float fa, fb, fc; 실수를 저장할 수 있는 변수 3개 fa, fb, fc를 정의한다.
36
변수의 이름(Name of the Variable)
변수의 이름은 영어 알파벳, 숫자, underscore(_)로 구성할 수 있다. 제한 중복된 이름의 변수를 사용할 수 없다 숫자로 시작되면 안 된다. 대소문자는 구분된다. Score라는 변수와 score라는 변수는 서로 다른 변수이다. 길이는 제한없다 underscore(_)로 시작하는 이름은 쓰지 않는 것이 좋다. C 언어에서 사용되는 명령어(keyword)와 같은 이름을 가질 수 없다. main, cout, int, float,...
37
변수가 사용된 프로그램의 예 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개의 변수의 정의와 값 할당
38
변수 값의 할당(Assignments) 변수는 자신의 타입에 적당한 값을 가질 수 있다.
할당연산자(assignment operator, =)를 사용해서 변수에 값을 할당할 수 있다. 변수의 이름 = 값 ; 변수의 이름1 = 변수의 이름2 ; 정보의 흐름방향 Example) a = 100; b = a;
39
변수 값의 다양한 정의, 할당법 int a; a = 100; int a=100; int a=100, b=200;
40
수식(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;
41
변수가 사용된 프로그램의 예 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개의 변수의 정의와 값 할당
42
변수의 타입과 수식의 타입 avg = (a + b + c) / 3 이 수식에 나타난 모든 변수들의 타입은 int이다.
그런데 변수avg는 정수변수이고 따라서 avg에는 93이라는 값이 들어간다.
43
Practice: 성적출력 과목: 국어, 수학, 영어, 과학, 컴퓨터 점수: 80, 90, 84, 95, 30
과목: 국어, 수학, 영어, 과학, 컴퓨터 점수: 80, 90, 84, 95, 30 각 점수를 보여주고 총점과 평균을 계산하여 예쁘게 출력
44
여러가지 변수형 정수 계열 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
45
여러가지 변수형 실수 계열 float : 4 Bytes double : 8 Bytes long double : 8 Bytes
46
실수 값의 대입법 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
47
실수변수가 들어간 프로그램 #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는 실수변수이고 따라서 이라는 값을 가질 수 있다.
48
여러가지 변수형 문자타입 char a; char b; a = ‘A’; b = 65;
char : 1 Byte = 256가지 문자를 가지고 있는 문자표에 대응 char a; char b; a = ‘A’; b = 65; 변수의 정의 ‘ ’ 로 문자임을 표시. 숫자는 문자표의 65번째 문자를 의미.
49
문자표(ASCII)
50
특수문자(Escape Sequence)
수평탭 \t 백스페이스 \b 역슬래쉬 \\ 작은따옴표 \’ 큰따옴표 \” 교재 89page참고
51
여러가지 변수형 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;
52
형변환 문제가 발생하는 형변환 큰 변수 형식 작은 변수 형식 Example) 가능하면 비슷한 값으로 근사
int short int float int double float 가능하면 비슷한 값으로 근사 int a = 3.2f; int a= 3; 같다 데이터의 범위가 넘어가면 문제 발생 int a = ; short int b = a; ????
53
형변환 명시적 형변환 int a = 3; float b; b = (float) a; int a; float b = 3.1f;
a = (int) b; 형변환 발생 a=3
54
Practice 다양한 형변환 연습 Page 93
Similar presentations