일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 | 31 |
- 강좌
- 자작시
- mmcv
- 다이나믹프로그래밍
- it
- 2021
- 파이썬 강좌
- mmdetection
- 슬픔
- 프로그래밍
- python 강좌
- 공부
- python
- python 강의
- 철학
- 라즈베리파이 모니터
- C++
- 2020
- 라즈베리파이
- 계획
- 머신러닝
- 강의
- 라즈베리파이3
- BOJ
- 파이썬 강의
- dp
- 알고리즘
- 파이썬
- dynamic programming
- 백준
- Today
- Total
Stargazer
[C++ 강좌] 1.기본 입출력 방식- std::cout, std::cin 본문
안녕하세요~
백빵돌이 입니다.
강좌를 시작하기 전에 말씀드릴께 있는데요
이 강좌는 윤성우 저 열혈 C++프로그래밍을
참고 하였습니다.
근데 이 책은 C를 안다는 가정을 두더군요
저도 마찬가지로 C는 기본으로 전부알고 있다고 가정해야 겠습니다.
전부 알려드리기엔 시간이 많이 모자르네요ㅎ
오늘은 간단한 출력과 입력에 대해 배워 보도록 하겠습니다.
자 C를 안다고 가정했으니 여러분께 묻겠습니다.
Q. C언어에서 기본 입출력을 담당하던 것이 무엇인가요?
A. 물론 printf 와 scanf 였죠
그렇습니다.
C에서는 printf와 scanf가 이걸 담당 했었죠
그런데 C++에서는 무엇이 이것을 담당하는가..
바로 std::cout , std::cin 이것이 담당을 합니다.
std는 머고 ::는 머고 cout은 먼가요?
아 그건 차차 알게 되시겠지만
std는 standard의 약자쯤 되신다고 생각하시고
:: <-이건 나중에 namespace 강좌를 하실때 알게 되실 것이니 지금은 모르셔도 됩니다.
cout 은 console output 의 약자로 생각하셔도 될것 같네요
(그럼 cin은 console input 겠죠?)
자 그럼 한국말로 바꾸어 볼까요?
std::cout 은 표준::콘솔 출력
std::cin 은 표준::콘솔 입력
아~ 그래서 std::cout(cin)이라하는 구나!
이 쯤 되시면 ::의 의미를 대략은 감을 잡으셨을 것 같네요
(표준)이라는 곳의 (콘솔 출력)을 가져와라
이런 뜻으로 이해하셔도 될것같아요
(나중에 자세히 알려드릴테니 오늘은 여기까지!)
자 이제 이것의 사용방법을 배워보죠
자 다들 아실 Hello World! 아시죠?
이걸 C로 구현하면 어떻게 되죠?
#include <stdio.h>
int main(void)
{
printf("Hello World!!\n");
return 0;
}
이렇게 되나요?
그럼 이걸 이제 C++ 형식으로 바꾸겠습니다.
#include <iostream>
int main(void)
{
std::cout << "Hello World!"<<std::endl;
return 0;
}
이렇게 됩니다.
이제 C와 다른점을 찾을 겁니다.
먼저 #include <iostream> 이죠
C++에선 stdio대신 iostream를 참조합니다.
이 안에는 기본 입출력 스트림이 들어 있지요
그 다음은 << 이 연산자 일텐데요
이건 단순히 std::cout[표준콘솔출력]로 "Hello World!"를 보냈다고 생각 하셔도 될 것 같아요
따라서 std::cout 의 사용법은
std::cout<<"Hello World";
와 같은 형식으로 해야 한다.
마지막으로 std::endl은 C에서 비교하면
\n와 같은 효과죠
흔히 개행문자라고 합니다.
그런데 std::cin는 어떻게 사용하나요?
그럼 대충 유추 해보세요~
Q. std::cin의 입력 연산자는 어떻게 되겠는가?
A.출력은 << 였으니, 입력은 >> 일것이다.
네 맞습니다.
입력은
std::cin>>i; //i는 변수
와 같이 사용을 합니다.
(이때는 std::cin에서 받은걸 i로 주었다 라는 소리죠)
그럼 간단한 프로그램을 만들어 볼까요?
#include <iostream>
int main(void)
{
char number[100];
char name[200];
std::cout << "이름이 무엇입니까?: ";
std::cin >> name;
std::cout << "전화번호가 무엇입니까?: ";
std::cin >> number;
std::cout << std::endl;
std::cout << "당신의 이름은 " <<name<<" 이시군요."<<std::endl;
std::cout << "당신의 전화번호는 " << number<<"이시구요."<<std::endl;
return 0;
}
Result:
이름이 무엇입니까?: 백빵돌이
전화번호가 무엇입니까?: 010-1234-5678
당신의 이름은 백빵돌이 이시군요.
당신의 전화번호는 010-1234-5678이시구요.
자 드디어 프로그래밍도 결과도 확인 했습니다.
C++에서 C보다 좋은 것은 입출력의 포맷 형식을 지정하지 않아도
알아서 그 자료형에 맞게 입력이 된다는 것입니다.
예를 들어 std::cout<< i << 3.14<< "Hello World"; 처럼
변수,상수,문자열까지 전부 이런 방법으로 출력할 수 있습니다.
이런점은 편리한것 같아요
자 그럼 숙제를 내드리도록 하겠습니다.
Q.std::cout와 std::cin를 이용하여 성적 프로그램을 만들어라
성적프로그램은 2가지 이상의 과목의 점수는 입력받아야하고
평균과 총점은 기본적으로 있어야 한다.
그럼 다음 시간에 뵙도록 하겠습니다.
안녕히 계세요~
Made by fangdol
copyright fangdol
'프로그래밍 > C언어, C++' 카테고리의 다른 글
[C++] 컴퓨터와 C++에 대한 소개 - 1단원 (0) | 2018.06.09 |
---|---|
[cocos2d-x] c++로 2d 게임 개발을 하고 싶다 (cocos2d-x) (1) | 2018.05.24 |
[C/C++] 별따먹기 게임 - 자작게임/C/C++ (1) | 2014.10.31 |
[C++ 강좌] Intro. 자기소개 및 강좌 계획 (2) | 2014.10.04 |