728x90
728x90
SMALL
Chapter2. 변수와 기본 자료형
문자형 char type
아스키 코드
- 1개의 여러 문자들을 정수에 대응시켜 놓은 것
- 아스키 코드에 따라 char 문자들은 내부적으로 정수 에 대응되어 있다.
ο 65를 char로 출력하면 ‘A’출력
ο (()char())65 형변환하여 출력하면 ‘A’출력
■ cf) C++ 스타일로는 char$($65$)$
char c1(65);
cin >> c1;
cout << c1 << " " << static_cast<int>(c1) << endl;
cin >> c1;
cout << c1 << " " << static_cast<int>(c1) << endl;
- cin » c1;
ο c1 변수는 1개의 문자를 받는 char 타입
■ ‘abc’를 콘솔 입력해본다.
■ ‘a’만 c1에 저장되고
■ 1개의 문자만 받으므로
■ ‘b’, ‘c’는 버퍼에 남아있게 된다. - cout « c1 « ” “ « static_cast$($c1$)$ << endl;
ο a 출력 , int 로 변환되 97 출력 - cin » c1;
ο 콘솔 입력이 아닌 입력버퍼에 남아있던 ‘b’가 c1에 저장된다.
ο ‘c’만 버퍼에 남아있는 상태 - cout « c1 « ” “ « static_cast$($c1$)$ << endl;
ο b 출력, int로 변환되 98 출력
개행 문자 \n 와 endl 의 차이
\n
- char타입의 ‘문자’이다.
- 오로지 줄바꿈만 해준다.
ο \n 뒤에 다른 문자들이 있어도 \n을 만나면 줄바꿈이 되며 뒤에 문자들은 버퍼에 남는다.
endl
- 줄바꿈 + 버퍼비우기
- 줄바꿈과 동시에 버퍼에 있는 모든 내용들도 출력한다. flush 기능도 하는 것.
- 버퍼에 있는 것들을 무조건 다 출력한 후 줄바꿈
ο 따라서 \n 보다 느리다.
■ 버퍼 비우는 과정도 해야하니까.
■ 여러줄 연속으로 출력할땐 \n 이 나을 수도 있다. 상황에 따라 다르지만 !
flush
- 버퍼 비우기
728x90
300x250
LIST
'C │ C++ │ C# > C++' 카테고리의 다른 글
C++ Chapter 3.1 : 연산자 종류 정리 (0) | 2023.08.16 |
---|---|
C++ Chapter 2.7 : 리터럴 상수, 심볼릭 상수 (0) | 2023.08.16 |
C++ Chapter 2.5 : Boolean 자료형과 조건문 if (0) | 2023.08.15 |
C++ Chapter 2.4 : 부동소수점수 floating point numbers (0) | 2023.08.14 |
C++ Chapter 2.3 : void (0) | 2023.08.14 |