3. 자료형
담당교수 : 이 성 우 C++ 프로그래밍 상수와 변수 (3) 1. 변수 (variable) 프로그램 수행 도중에 자료 변수를 위해 은 변하지 않음 선언 시에 반드시 그. ※ 저장 정보의 구성 ① 정보의 종류 ② 저장 값 ③ 저장 위치 int Num ; Num = 5 포인터 &
담당교수 : 이 성 우 C++ 프로그래밍 상수와 변수 (1) 2. 상수 (constant) 수행되기 전에 자료의 값을 미리 정하여 _____________________________ 숫자나 문 자 ( 문자열 ) 리터럴 (literal) 수식에서 표현된. 정의된 상수 (defined constant) #define 로 지정 메모리 상수 (memory constant) 변수를 지정 #define PI // 정의된 상수 int main() { double Pi = ;// 메모리 상수 cout << PI*5*5 << endl; // 5 – 리터럴 cout << Pi*5*5 << endl; return 0; }
담당교수 : 이 성 우 C++ 프로그래밍 상수와 변수 (2) 3. 정의된 상수 상수이름을 사용한 곳이 상수값으로 수정 #define PI = //. int main() { double area; area = PI*5*5; return 0; } 전처리 → int main() { double area; area = = *5*5; return 0; } #define PI ;//. int main() { double area; area = PI*5*5; return 0; } 전처리 → int main() { double area; area = ;*5*5; return 0; } #define PI
담당교수 : 이 성 우 C++ 프로그래밍 변수의 선언 (5) 4. 메모리 상수 const double pi = ; // 메모리 상수 pi = 3.14; //. 나쁜 예 : const int toes; // 되지 않으면 toes =10; // 변경 불가능한. 좋은 예 : const int toes =10;
담당교수 : 이 성 우 C++ 프로그래밍 자료형 (1) 1.C++ 의 자료형
담당교수 : 이 성 우 C++ 프로그래밍 자료형 (2) 1. 불형 (Boolean type) 참 (true) 과 거짓 (false) 을 가짐 : 에 사용 2. 문자형 (character type) 부호 (code) 로 문자를 지정 (American Standard Code for Information Interchange) (Extended Binary Coded Decimal Interchange Code) (escape character) \ 와 부호 번호로 문자를 표현 문자이름기능 ' \ 0' 널 문자 (null character) 널 문자 (NUL) ' \ a' 경보음 (alert) (BEL) ' \ b' 역스페이스 (backspace) 한 열 뒤로 (BS) ' \ f' 페이지 변경 (form feed) 로 옮김 (FF)
담당교수 : 이 성 우 C++ 프로그래밍 자료형 (3) 문자이름기능 ' \ n' 줄 변경 (line feed) 새로운 줄로 옮김 (LF) ' \ r' 줄 처음 (carriage return) 그 줄의 처음으로 옮김 (CR) ' \ t' 수평 탭 (horizontal tab) 간격만큼 옮김 (HT) ' \ v' 수직 탭 (vertical tab) 탭 간격만큼 옮김 (VT) ' \\ ' 역글래쉬 (backslash) \를 의미 ' \ ″' 이중 인용 부호 (″)″ 를 의미 ' \ '' 단일 인용 부호 (')' 를 의미 cout << " 파일 경로는 \"C:\\windows\\system\" 이다 " << endl; 파일 경로는 "C:windows\system" 이다 출력결과 :
담당교수 : 이 성 우 C++ 프로그래밍 자료형 (4) 3. 불형과 문자형 자료 출력 // 불형과 문자형 자료 출력 #include using namespace std; int main() { cout << true << endl;// 불형 cout << false << endl;// 불형 cout << 'A' << endl;// 문자형 cout << '4' << endl;// 문자형 cout 정수형 cout << “\a” << endl; return 0; }
담당교수 : 이 성 우 C++ 프로그래밍 // -bondini.cpp -- 확장열 사용 #include using namespace std; int main() { cout << "\a 암호명 \" 화려한 외출 \" 작전이 방금 개시되었습니다 !\n"; cout << "8 자리 비밀번호를 입력하십시오 :________\b\b\b\b\b\b\b\b"; int code; cin >> code; cout << "\a 입력하신 비밀번호는 " << code << " 입니다. \n"; cout << "\a 비밀번호가 맞습니다 ! z3 계획을 진행하십시오 !\n"; return 0; }
담당교수 : 이 성 우 C++ 프로그래밍 자료형 (5) 4. 정수형 (integer type) 16 비트형과 32 비트형으로 구분 음수의 저장 방식 부호화 절대치 1 의 보수 :. 2 의 보수 ( 일반적으로 사용 ) :. ① short 형 : 16 비트 폭 ② int 형 : 32 비트 ③ long 형 : 32 비트 폭 ※ 1 바이트 = 8 비트
담당교수 : 이 성 우 C++ 프로그래밍 자료형 (6) 10 진수부호화 절대치 1 의 보수 2 의 보수
담당교수 : 이 성 우 C++ 프로그래밍 ① signed 형은 signed 을 생략하고 사용 (short, int, long) signed short 형의 범위 (16 비트 ) 는 – ~ ② unsigned 형은 생략할 수 없음 ( 단, unsigned int 는 만으로 사용가능 ) unsigned short 형의 범위 : 0 ~ ③ 정수의 오버플로 ⓐ signed 형의 리셋포인트 : ⇑ ⓑ unsinged 형의 : ⇑ 0 자동차의 미터기와 같다
담당교수 : 이 성 우 C++ 프로그래밍 자료형 (7)
담당교수 : 이 성 우 C++ 프로그래밍 // exceed.cpp -- 정수 한계값을 초과한다. #include using namespace std; #define ZERO 0 // 값 0 으로 대체될 기호 상수 ZERO 를 정의한다. #include // INT_MAX 가 int 형의 최대값으로 정의되어 있다. int main() { short Dohee = SHRT_MAX; // 변수를 최대값으로 초기화 unsigned short Insuk = Dohee; // Dohee 가 정의되어 있으므로 맞다. cout << " 도희의 계좌에는 " << Dohee << " 원이 들어 있고, " ; cout << " 인숙이의 계좌에도 " << Insuk << " 원이 들어 있다. \n"; cout <<" 각각의 계좌에 1 원씩 입금한다. \n 이제 "; Dohee = Dohee + 1; Insuk = Insuk + 1; cout << " 도희의 잔고는 " << << " 원이 되었고, "; cout << " 인숙이의 잔고는 " << << " 원이 되었다. \n"; cout << " 이럴 수가 ! 도희가 나 몰래 대출을 했나 ? \n";
담당교수 : 이 성 우 C++ 프로그래밍 Dohee = ZERO; Insuk = ZERO; cout << " 도희의 계좌에는 " << Dohee << " 원이 들어 있고, " ; cout << " 인숙이의 계좌에도 " << Insuk << " 원이 들어 있다. \n"; cout <<" 각각의 계좌에 1 원씩 인출한다. \n 이제 "; Dohee = Dohee ; Insuk = Insuk ; cout << " 도희의 잔고는 " << Dohee << " 원이 되었고, "; cout << " 인숙이의 잔고는 " << Insuk << " 원이 되었다. \n"; cout << " 이럴 수가 ! 인숙이가 복권에 당첨되었나 ? \n" ; return 0; }
담당교수 : 이 성 우 C++ 프로그래밍 기호 상수의 미 CHAR_BIT char 형의 비트 수 CHAR_MAX char 형의 최대값 CHAR_MIN char 형의 최소값 SCHAR_MAX signed char 형의 최대값 SCHAR_MIN signed char 형의 최소값 UCHAR_MAX unsigned char 형의 최대값 SHRT_MAX short 형의 최대값 SHRT_MIN short 형의 최소값 USHRT_MAX unsigned short 형의 최대값 INT_MAX int 형의 최대값 INT_MIN int 형의 최소값 UINT_MAX unsigned int 형의 최대값 LONG_MAX long 형의 최대값 LONG_MIN long 형의 최소값 ULONG_MAX unsigned long 형의 최대값
담당교수 : 이 성 우 C++ 프로그래밍 // limits.cpp-- 정수 한계값 #include using namespace std; #include // 구식 c++ 에는 limits.h 를 사용 int main() { int n_int = INT_MAX; // int 형의 최대값 short n_short = SHRT_MAX; // 파일에 long n_long = LONG_MAX; // 정의된 상수 // sizeof 연산자는 데이터형이나 // 변수의 크기를 로 알아낸다. cout << "int 는 " << sizeof ( ) << " 바이트이다. \n"; cout << "int 는 " << sizeof << " 바이트이다. \n"; cout << "short 는 " << sizeof (short) << " 바이트이다. \n"; cout << "short 는 " << sizeof n_short << " 바이트이다. \n"; cout << "long 은 " << sizeof (long) << " 바이트이다. \n"; cout << "long 은 " << sizeof n_long << " 바이트이다. \n\n"; cout << " 최대값 :\n"; cout << "int: " << n_int << "\n"; cout << "short: " << n_short << '\n'; cout << "lont : " << n_long << "\n\n" ; cout << " 최소값 :\n"; cout << "int: " << INT_MIN << '\n'; cout << "short: " << << '\n'; cout << "long: " << LONG_MIN << "\n\n"; cout << "char 의 비트 수 = " << CHAR_BIT << '\n'; return 0; }
담당교수 : 이 성 우 C++ 프로그래밍 cfloat 의 헤더파일 내용
담당교수 : 이 성 우 C++ 프로그래밍 자료형 (8) 010 // 8 진수 10 이며 십진수 // 8 진수 25 이며 십진수 2*8+5 = 21 0x10 // 16 진수 10 이며 십진수 16 0xF5 // 16 진수 F5 이며 십진수 F(15)*16+5 = 245 ① 10 진수 : 0 ~ 9 사용 42 ⇒ 42 ⇒ 첫 자 1~9 사용 4 X X 1 = 42 ② 8 진수 : 0 ~ 7 사용 042 ⇒ 34 ⇒ 첫 자 0 사용 4 X X 1 = 34 ③ 16 진수 : 0 ~ F 사용 0x42 ⇒ 66 ⇒ 첫 자 0x or 0X 사용 4 X X 1 =66 프로그램에서 10 진수로 변환 없이 사용 Ex) int chest = 42; // 10 진수 ⇒ 42 int waist = 0x42; // 16 진수 ⇒ 66 int inseam = 042; // 8 진수 ⇒ 34
담당교수 : 이 성 우 C++ 프로그래밍 //hexoct.cpp 진수 정수형 상수와 8 진 정수형 상수를 보여준다. #include using namespace std; int main() { int chest = 42; //10 진 정수형 상수 int waist = 0x42; //16 진 정수형 상수 int inseam = 042; // 8 수 정수형 상수 cout << " 손님 몸매는 한마디로 끝내 줍니다 ! \n"; cout << " 가슴둘레 " << chest << "\n"; cout << " 허리둘레 " << waist << "\n"; cout << " 인심길이 " << inseam << "\n"; return 0; }
담당교수 : 이 성 우 C++ 프로그래밍 자료형 (9) 5. 부동 소수점형 (floating-point type) 가수 (mantissa) 와 지수 (exponent) 로 구분해서 저장 단정도 (single precision) float: 비트 배정도 (double precision) double: 비트
담당교수 : 이 성 우 C++ 프로그래밍 자료형 (10)
담당교수 : 이 성 우 C++ 프로그래밍 자료형 (11) 지수 형태로 부동 소수점 자료 지정 E(e) 로 구분하여 표현 12 // 정수형 12.0 // 부동 소수점형 12. // 부동 소수점형 1.2E5 // 부동 소수점형 1.2 × 10 5 = E-3 // 부동 소수점형 1.2 × = ) 표기 ① 소수점표기 : 12.34, 8.0, , …. ② 지수표기 : 2.52e+8, 7E5, -18.3e13, … E+16 +,- 부호 (+ 생략가능 ) 생략가능 ( 뒤 자리가 모두 영일 때 ) +,- 부호 (+ 생략가능 ) E 또는 e 사용
담당교수 : 이 성 우 C++ 프로그래밍 자료형 (12) 6. 부동 소수점 자료 출력 // 부동 소수점형 자료 출력 #include using namespace std; int main() { cout << 15./2 << endl;// 부동 소수점형 cout << 12.5 << endl;// 부동 소수점형 cout << 1.2E005 << endl;// 부동 소수점형 cout << 1.2E-003 << endl;// 부동 소수점형 cout << << endl;// 부동 소수점형 float f1 = ;// 단정도 long *p1 = (long *)&f1; // 가 저장된 형태를 16 진수로 표시 cout << hex << *p1 << endl; double d1 = ;// 배정도 long *p2 = (long *)&d1; // 가 저장된 형태를 16 진수로 표시 // windows 기준 cout << setfill('0') << *(p2+1) << setw(8) << *p2 << endl; return 0; }