따배C++ 강의노트_7부 : 입출력 스트림과의 첫 만남, cin, cout
목차
안녕하세요. 백발청년 입니다. 오늘도 역시 존경하는 홍정모 교수님의 C++강의인 따배씨++의 강의노트 포스팅을 시작합니다.
포스팅에 앞서 지난 강의들을 살펴볼게요.
6부 : 변수와의 첫 만남 https://whiteheadyouth.tistory.com/208
5부 : 주석을 잘 다는 방법 https://whiteheadyouth.tistory.com/183
4부 : 프로그램의 구조 https://whiteheadyouth.tistory.com/181
3부 : 코딩하다 막혔을 때는? https://whiteheadyouth.tistory.com/170
2부 : 솔루션, 프로젝트 관리 https://whiteheadyouth.tistory.com/161
1부 : 통합개발환경의 기본적인 사용법 - 윈도우 비주얼 스튜디오 https://whiteheadyouth.tistory.com/155
0부 : 홍정모 교수님의 따배씨++ 무료로 인강 듣는 방법 https://whiteheadyouth.tistory.com/89
입출력 스트림. cin, cout과 만나봅시다. |
오늘은 입출력 스트림을 이용해서 콘솔에 출력을 해보는 강의입니다.
cin -> console in
cout -> console out
endl -> endline
입니다.
기본적으로 std::cout을 써줘야 무언가를 출력할 수 있는데요.(물론 위에 iostream은 당연한거구요.)
std는 name space std입니다. 이름공간, 명칭공간 이라고 불리구요.
cout은 std라는 이름공간 안에 들어 있는 겁니다.
std::cout 처럼 std와 cout 사이에 ::을 넣어줍니다.
#include <iostream> : iostream, 즉 in out stream 을 통해 cout과 cin 그리고 endl을 쓸 수 있도록 합니다.
<cstdio>는 printf 라는 명령어를 사용하기 위해서 썼습니다.
std::cout << "나는 백발청년 입니다." << std::endl;
출력하고자 하는 "나는 백발청년 입니다." 라는 글씨가 cout으로 stream을 타고 들어갑니다. << 이걸 output operator라고 할 수 있네요.
콘솔에서 나는 백발청년 입니다. 밑에 한줄 빈곳 이 있는건 endl 때문에 생깁니다.
endl;을 없애니 콘솔에서 보이는바와 같이 밑에 빈줄이 사라졌네요.
std::cout << "x is " << x << std::endl;
위에서 int x = 1024; 를 통해, x라는 변수에 1024라는 정수를 넣어주었고,
cout에 "x is "라는 단어와 1024라는 정수가 들어간 x라는 변수를 넣어주었네요.
그래서 x is 1024라는 단어가 출력됩니다.
그런데 std::cout << "나는 백발청년 입니다."; 뒤에 endl;이 없기 때문에 줄 바꿈 없이 바로 x is 1024가 나왔네요.
이번엔 double pi = 3.141592 라는 변수를 선언했습니다.
콘솔창에 3.14159까지 밖에 표현이 안되었네요. double은 소수점 5자리 밖에 표현이 안되나 봅니다.
std::cout << "abc" << "\t" << "def" << std::enl;
"\t"를 제외하고 보면, abc와 def를 출력하는 구문이겠네요.
"\t"는 빈공간, 탭으로 이용합니다. 자동으로 줄맞춤을 해주는거죠.
주로 복잡한 표나 구구단, 달력출력등을 할 때 유용하게 쓰인다고 합니다.
\t의 사용 예시 입니다.
abc def와 ab cdef의 간격이 동일함을 볼 수 있습니다.
std::cout << "나는 백발청년 입니다. \n";
여기서 \n 은 newline으로, std::endl;과 비슷한 기능을 수행합니다.
매번 std::를 쓰기 귀찮을 때, using namespace std;를 선언해주면 좋습니다.
이걸 선언해 놓으면 cout<<"나는 백발청년 입니다." 처럼 std::cout에서 std::를 생략할 수 있습니다.
cout << "\a";
\a는 audio 출력을 하는 내용 입니다.
띠링 하는 소리가 나게끔 합니다. 물론 사진으로는 들리지 않지만, 콘솔이 실행될 때 띠링 하는 소리가 납니다.
int x;로 x라는 정수를 선언했고, cin >> x; 를 통해 x의 값을 입력하라고 합니다.
실행하면 콘솔창에 깜빡이는거 외에는 아무것도 뜨지 않죠.
여기에 0422를 입력해볼게요.
cout << "your in put is " << x << endl;
cin 에서 0422를 입력했으니, cout으로 출력이 되는 내용은 your in put is 422 입니다. 0은 생략되었네요.
이번에는 cout을 먼저 쓰고 cin을 쓴 후 cout을 다음에 써볼게요.
int x=1; 을 통해 x라는 변수에 정수 1을 넣었고,
cout 을 통해 Before your input, x was 1이라는 값을 출력했습니다.
cin으로 x의 값을 넣으면 your in put is... 다음에 뭐가 나올까요?
9999999999999999999999999999999999999999999999999999999999999999999999999999999999999999
를 입력해보았습니다. 그러니 your input is 2147483647 이라는 값이 출력되었네요.
integer의 최댓값이 2147483647이란 말 이겠죠.
앞으로는 입력 유효성 검증에 대해 알아보아야 할 것입니다.
'경영과 투자와 공부 > 코딩 공부 (C++)' 카테고리의 다른 글
따배C++ 강의노트_9부 : 함수에서 여러개의 리턴값 반환하기(C++ 17) (0) | 2018.11.30 |
---|---|
따배C++ 강의노트_8부 : 함수와의 첫 만남 (1) | 2018.11.28 |
따배C++ 강의노트_6부 : 변수와의 첫 만남 (0) | 2018.11.23 |
따배C++ 강의노트_5부 : 주석을 잘 다는 방법 (0) | 2018.11.15 |
따배C++ 강의노트_4부 : 프로그램의 구조 (0) | 2018.11.14 |