Presentation is loading. Please wait.

Presentation is loading. Please wait.

C++ 프로그래밍 C++ 프로그래밍 TA. 소개 이름 : 장미영 연구실 : 7 호관 401 호 데이터베이스 연구실  TA 에서 실습한 내용은 수업시간에 메일로 제출 – 파일명 )

Similar presentations


Presentation on theme: "C++ 프로그래밍 C++ 프로그래밍 TA. 소개 이름 : 장미영 연구실 : 7 호관 401 호 데이터베이스 연구실  TA 에서 실습한 내용은 수업시간에 메일로 제출 – 파일명 )"— Presentation transcript:

1 C++ 프로그래밍 C++ 프로그래밍 TA

2 소개 이름 : 장미영 연구실 : 7 호관 401 호 데이터베이스 연구실 E-Mail : brilliant@jbnu.ac.krbrilliant@jbnu.ac.kr  TA 에서 실습한 내용은 수업시간에 메일로 제출 – 파일명 ) 날짜 _TA_ 학번.zip –Ex) 0311_TA_201311111.zip 질문 및 상담 시간 : 화 02:00 ~ 06:00 pm

3 수업 목표 프로그래밍 언어를 배워야 하는 이유 C++ 프로그래밍에 대하여 C++ 프로그래밍 개발 환경 적어도, Hello World 는 짤 줄 알아야 한다.

4 C++ 프로그래밍 언어 IT 정보공학과 ( 컴퓨터공학과 )  Software 공학자 프로그래밍 언어를 배우는 이유 ?  건축학과가 건물을 짓기 위해서는, 건물을 짓기 위해 사용되는 도구 ( 콘크리트, 시멘트, 철근 등 ) 를 잘 알아야 한다.  그렇다면, IT 정보공학과는 ?  도구를 잘 다뤄야 한다. 도구 중 하나가 프로그래밍 언어이다.

5 C++ 프로그래밍 언어 C++ 개발 도구  Microsoft Visual Studio 2008 Microsoft Visual Studio 2008 실행 -> [File] -> [New] -> Project -> Win32 Console Application -> Empty Project -> Finish -> Source Files -> Add -> C++ File

6

7

8

9

10

11

12

13

14

15 cin, cout 객체의 사용법 cin ( Console Input Stream )  콘솔 (Console) 창에서 키보드의 입력을 받는다.  C 언어에서의 scanf 와 동일한 동작  사용 예제 ) –cin >> 변수이름 ; cout ( Console Output Stream )  콘솔창에 출력한다.  C 언어에서 printf 와 동일한 동작  사용 예제 ) –cout << { 출력하고자 하는 것 } ☞상수, 문자열, 변수 등 ☞여러 개의 상수, 문자열, 변수를 혼합하고 싶을땐, << 를 다중입력 ☞ cout << 변수 1 << 변수 2 << endl;

16 #include cin, cout 객체를 사용하기 위해서, iostream 헤더파일을 인클루드 시킨다.  cin, cout 이 iostream 헤더파일 안에 정의되어 있기 때문에, 이를 이용하기 위해서 헤더파일을 포함시킨다. –#include

17 using namespace std; C++ 언어는 사용하는 이름공간을 지정해주어야 한다.  namespace  앞서 나온 cin, cout 객체는 iostream 헤더파일 안에, std 이름공간 (namespace) 에 정의되어 있기 때문에, 이를 이용하기 위해서는 사용하려는 이름공간을 지정해주어야 한다.  using namespace std;

18 Hello, World 프로그램 cout 객체를 사용하기 위한 준비작업이 필요하다. 프로그램에게 시킬 일은 main() 함수 안에 적는다. cout 객체에 문자열을 보내면 화면에 출력된다. 세미콜론이 마침표의 역할을 한다. #include using namespace std; int main() {... return 0; } cout << “Hello, World\n”;

19 Hello, World 프로그램 Hello, World 프로그램의 소스 코드 실행 결과 #include using namespace std; int main() { cout << “Hello, World” << endl; return 0; }

20 변수

21 정보와 변수 C++ 에 있어서 모든 정보는 근본적으로 숫자다.  그림을 숫자로 표현한 예  변수는 정보를 보관할 수 있는 공간이다.

22 변수의 정의 변수 3 개를 정의하고 초기화 하는 방법 1 변수 3 개를 정의하고 초기화 하는 방법 2 변수의 정의와 관련된 규칙  정의하지 않은 변수는 사용할 수 없다.  변수를 사용하기 전에 변수를 미리 정의해야 한다.

23 변수에 보관된 값 출력하기 cout 객체에 변수를 보내면 보관된 값이 출력된다. 실행 결과

24 실습 #1 다음과 같은 출력결과를 만드는 프로그램을 작성  출력라인 ‘\n’ 또는 endl (end line)

25 실습 #2 변수의 입출력  두 변수 number1, number2 를 정의하고, 두 변수를 키보드로부터 입력받아 두 변수의 합을 출력하라. – 변수의 입력은 cin 객체 – 변수의 출력은 cout 객체

26 CONTENTS C++ 고급 변수 타입 실습문제 1 연산자 실습문제 2

27 변수

28 변수의 이름을 짓는 규칙 다음의 조건에 부합되는 이름만 사용할 수 있다.  중복된 이름의 변수를 사용할 수 없다.  변수 이름에는 알파벳, 숫자, 언더스코어 (_) 만 포함할 수 있다.  단, 숫자는 변수 이름의 첫번째 글자로 사용할 수 없다.  변수 이름의 길이에는 제한이 없다.  변수 이름에 포함하는 알파벳은 대소문자를 구분한다.  키워드는 변수의 이름으로 사용할 수 없다.

29 변수의 이름을 잘 짓는법 다음의 권장사항을 따르면 효율적인 이름을 지을 수 있다.  변수의 용도를 예상할 수 있게 이름을 짓자.  단어와 단어를 구분할 수 있게 짓자.  필요 없이 긴 이름은 피하자. StudentsNumber, student_number (O) studentnumber (X) StudentsNumber (O) n, num, number, students (X)

30 타입

31 타입의 종류 C++ 에서 제공하는 기본 타입들

32 정수 타입 (Integers) 정수 타입별로 보관할 수 있는 값의 범위 10 진수, 8 진수, 16 진수의 표현 타입최소값최대값크기 (bytes) signed short -32768327672 unsigned short 0655352 signed int -214748364821474836474 unsigned int 042949672954 signed long -214748364821474836474 unsigned long 042949672954 * 32 비트 윈도우즈 시스템을 기준으로 한 값 int decimal = 41;// 10 진수 int octal = 041;// 8 진수 int hexadecimal = 0x41;// 16 진수

33 비트 (Bits) 와 바이트 (Bytes) 비트는 0 혹은 1 을 나타낼 수 있는 전기장치로 생각할 수 있다. 1 바이트는 8 비트다. unsigned short 타입의 변수의 범위 계산하기  unsigned short 타입의 크기는 2 바이트  2 바이트는 16 비트  총 2 16 (= 65536) 개의 상태를 가질 수 있다.  그러므로 0 ~ 65535 의 값을 보관할 수 있다.

34 signed 와 Unsigned 의 의미 동일한 내용의 정보라도 방식에 따라서 다른 값으로 해석될 수 있다.

35 실수 타입 (Floating points) 실수 타입별로 보관할 수 있는 값의 범위 float 타입 상수의 표현 타입최소값최대값크기 (bytes) float 1.17549E-383.40282E+384 double 2.22507E-3081.79769E+3088 long double 2.22507E-3081.79769E+30812 float f = 0.00123f; // 실수 뒤에 f 를 붙인다. double d = 1.23; long double ld = 123.0;

36 부동 소수점 방식의 이해 부동 소수점 방식은 실수를 가수와 지수부분으로 나누어 보관. 부동 소수점 방식을 사용하면 보다 넓은 범위의 숫자를 보관할 수 있지만 정밀도를 잃어버리는 단점도 있다.

37 문자 타입 (Characters) 문자 타입별로 보관할 수 있는 값의 범위 문자 타입도 결국은 숫자를 보관한다. 타입최소값최대값크기 (bytes) signed char -1281271 unsigned char 02551 wchar_t 0655392

38 이스케이프 문자열 (Escape Sequences) 문자열 내에서 특수한 의미로 사용되는 문자열 (Sequences) 타입아스키 코드 상에서의 표현 C++ 에서의 표현 개행 문자 NL(LF)\n 수평탭 HT\t 수직탭 VT\v 백스페이스 BS\b 캐리지 리턴 CR\r 폼피드 FF\f 벨소리 BEL\a 역슬래쉬 \\\ 작은 따옴표 ‘\’ 큰따옴표 “\” 8 진수 ooo\ooo 16 진수 hhh\xhhh

39 부울 타입 (Boolean) 부울 타입은 true 혹은 false 의 값을 갖는다. 실행 결과 bool b1; bool b2; b1 = true; b2 = false; cout << “b1 = “ << b1 << “\n”; cout << “b2 = “ << b2 << “\n”;

40 암시적 형변환 (Implicit Type Conversion) 암시적 형변환은 변수를 대입하는 과정에서 자동적으로 발생하는 형변환이다. 이 때 값이 변할 수 있는데, 다음의 경우는 그 결과를 예상할 수 있는 경우이다.  실수 타입에서 정수 타입으로 형변환 발생 시 소수점 이하 부분이 잘린다. ( 반올림 아님 )  모든 타입에서 부울 타입으로 형변환 발생시, 0 이 아닌 모든 값은 true 로, 0 은 false 로 바뀐다. 다음의 경우는 그 결과를 예상할 수 없는 경우이다.  큰 범위를 갖는 타입에서 작은 범위를 갖는 타입으로 형변환 발생시 –int -> unsigned short –double -> float –float -> short –int -> float

41 명시적 형변환 (Explicit Type Conversion) 명시적 형변환은 개발자가 직접 명령하는 형변환이다. 명시적 형변환을 사용해서 개발자의 의도를 명확히 할 수 있다.  컴파일러의 경고 (Warning) 메시지를 막을 수 있다.  다른 개발자들에게 본인의 의도를 알릴 수 있다. 뒤에서 함수와 클래스를 배운 후에는 다음의 용도로 사용할 수 있다.  함수 호출 시에 인자를 명시적으로 형변환해서 넘겨준다.  부모 클래스의 포인터를 자식 클래스의 포인터로 다운캐스팅한다. float f = 66.89f; int i = (int)f;// i 는 66 이 된다.

42 연산자

43 사칙 연산 사칙 연산 및 나머지 연산의 예 실행 결과

44 연산자 사용의 규칙 연산자는 정해진 개수 (1, 2, 3) 의 피연산자를 받아서 하나의 값을 반환한다. 위의 규칙은 연쇄적으로 적용된다. 연산의 결과값은 다른 연산의 피연산자로 사용될 수 있다.

45 대입 연산자 (Assignment Operators) 우측 피연산자의 값을 좌측에 대입한다. 대입 연산자도 연쇄적으로 사용할 수 있다.

46 관계 연산자 (Relational Operators) 피연산자의 대소관계를 비교한다. 실행결과

47 논리 연산자 (Logical Operators) 논리 연산을 수행한다. 피연산자를 사용해서 부울 (bool) 연산을 수행한다. 피연산자 1 피연산자 2 AND(&&)OR(||)NOT(!) false true falsetruefalsetrue false truefalse true false * NOT 연산자는 피연산자 1 만 받는다.

48 관계연산자와 논리연산자 일반적으로 논리연산자는 관계연산자와 함께 사용한다. 관계연산자의 우선순위가 높으므로 먼저 수행된다.

49 연산중에 발생하는 형변환 두 피연산자의 타입이 다르다면, 두 피연산자 중에서 보다 큰 타입 쪽으로 형변환이 발생한다. int 보다 작은 타입들은 int 혹은 unsigned int 타입으로 변환된다.

50 실습 #1 C++ 프로그래밍의 중간고사, 기말고사 점수를 입력한 뒤, 평균을 출력  평균을 저장할 double 타입의 avg 변수

51 실습 #2 초를 입력하면 시간, 분, 초로 나타내는 프로그램

52 숙제 두 직선의 교차점 구하기 x1, y1 x2, y2 x1, y1

53 과제 제출 방법 TA 수업 미 참석자  발표자료를 읽어보고, 스스로 수행한 실습내용을 과제와 함께 제출  50-51 쪽의 실습 1( 평균내기 ), 실습 2( 초입력 ) 을 제출 과제 : 소스파일을 이메일로 제출  brilliant@jbnu.ac.kr  기한 : 다음주 화요일 (16 일 ) 오후 6 시까지 ( 시간엄수 !)  실습 파일명 : exe1_ 학번.cpp 또는 exe1_ 학번.txt  과제 파일명 : report1_ 학번.cpp 또는 report1_ 학번.txt  주석 / 변수 / 함수 명 작성 잘하세요 !!


Download ppt "C++ 프로그래밍 C++ 프로그래밍 TA. 소개 이름 : 장미영 연구실 : 7 호관 401 호 데이터베이스 연구실  TA 에서 실습한 내용은 수업시간에 메일로 제출 – 파일명 )"

Similar presentations


Ads by Google