본문 바로가기
Language&Framework&Etc/C++

1. 입출력 방식

by 머리올리자 2020. 11. 17.
#include <iostream> 

int main() {
	int num = 20;
	std::cout << "Hello World!" << std::endl;
	std::cout << "Hello " << "World!" << std::endl;
	std::cout << num << ' ' << 'A';
	std::cout << '  ' << 3.14 << std::endl;
	return 0;
}

C++에서는 프로그래머가 정의하는 헤더파일의 선언이 아닌, 표준 헤더파일의 선언에는 확장자를 생략

 

Ex)

iostream.h → 과거 표준 입출력

iostream   → 새로운 표준 입출력  


C++ 출력 방식

std::cout << "출력 대상";
  • C언어의 printf와 달리 %d, %s와 같은 서식문자를 이용해서 출력 포맷을 지정하지 않아도 된다.
  • "<< " → 연산자
std::cout << "출력 대상1" << "출력 대상2" << "출력 대상3";
  • std::endl → "<<" 연산자를 이용한 std::endl의 출력은 개행으로 이어진다.

Scanf를 대신하는 데이터의 입력

#include <iostream>

int main(void)
{
	int val1;
	std::cout << "첫 번째 숫자입력: ";
	std::cin >> val1; // 키보드로부터 정수를 하나 입력 받아서 변수 val1에 저장

	int val2;
	std::cout << "두 번째 숫자입력: ";
	std::cin >> val2;

	int result = val1 + val2;
	std::cout << "덧셈결과: " << result << std::endl;
	return 0;
}

숫자를 띄어서 쓰면 별개의 값들이 입력된 것으로 처리됨

  • 데이터 입력에 헤더파일 선언문 #include <iostream> 필요함
  • 데이터 입력에는 std::cin & >> 연산자 사용 (출력할 때 연산자 << 와 방향이 바뀐 것을 알 수 있음)
  • 변수 선언은 어디에서든 가능

double형

/*double일 때 선언만 바꿔주면 됨*/
#include <iostream>

int main(void)
{
	double val1;
	std::cout << "첫 번째 숫자입력: ";
	std::cin >> val1; // 키보드로부터 정수를 하나 입력 받아서 변수 val1에 저장

	double val2;
	std::cout << "두 번째 숫자입력: ";
	std::cin >> val2;

	double result = val1 + val2;
	std::cout << "덧셈결과: " << result << std::endl;
	return 0;
}

문자열

/*문자열일 때*/
#include <iostream>

int main(void)
{
	char str[100];
	std::cout << "문자열 입력: ";
	std::cin >> str; 

	std::cout << "입력한 문자열: " << str << std::endl;
	return 0;
}

 

두 변수를 입력(cin) 받아 두 수 사이의 합을 출력(cout) 하기

#include <iostream>

int main(void)
{
	int val1, val2;
	int result = 0;
	std::cout << "두 개의 숫자 입력 : ";
	std::cin >> val1 >> val2;

	if (val1 < val2)
	{
		for (int i = val1 + 1; i < val2; i++)
			result += i;
	}
	else // (val1 > val2)
	{
		for (int i = val2 + 1; i < val1; i++)
			result += i;
	}
	std::cout << "두 수 사이의 정수 합: " << result << std::endl;
	return 0;
}

배열 기반 문자열 입출력

#include <iostream>

int main(void) {

	char name[100];
	char lang[200];

	std::cout << "이름은 무엇입니까? ";
	std::cin >> name; // 문자열 저장

	std::cout << "좋아하는 프로그래밍 언어는 무엇인가요? ";
	std::cin >> lang; // 문자열 저장

	std::cout << "내 이름은 " << name << "입니다.\n"; // std::endl 개행의 역할과 같음
	std::cout << "내가 좋아하는 언어는 " << lang << "입니다." << std::endl;

	return 0;
}

 

참고 : [윤성우 열혈 C++ 프로그래밍] - 대부분의 내용 및 코드는 이 책에서 개인 공부 정리 목적으로 참고하였습니다.