본문 바로가기
Object Oriented Programming(C++)/열혈 C++ 프로그래밍

C++ | 01-1 입출력 방식 std::cout과 std::cin

by continue96 2021. 7. 22.

 

1. printf를 대신하는 std::cout

1.1 std::cout

 C언어는 stdio 헤더 파일의 printf를 통해 데이터를 출력하지만, 일반적으로 C++는 iostream 클래스의 cout을 통해 데이터를 출력한다. 콘솔창에 데이터를 출력하기 위해서는 다음과 같은 형식을 따르면 된다.

 

std::cout << '출력 대상';
std::cout << '출력 대상1' << '출력 대상2' << '출력 대상3';

 C++의 데이터 출력은 C언어와 두 가지 큰 차이가 있다. 첫 번째, printf의 괄호 안에 출력 대상을 입력하여 데이터를 출력하는 C언어와 다르게 <<연산자를 사용하여 데이터를 출력한다. 또한 여러 데이터를 연속으로 출력하고 싶으면 출력 대상 사이에 <<연산자를 사용하여 출력 대상을 연결하면 된다.

 두 번째, 서식 문자 없이 출력 대상에 정수와 실수를 비롯해서 문자, 문자열, 그리고 변수가 올 수 있다. 출력 대상의 타입에 따라서 %d, %f와 같은 서식 문자로 포맷을 지정해야하는 C언어와 다르게 C++는 서식 문자 없이 데이터의 성격에 따라 자동으로 적절한 출력이 이루어진다.

 

[한줄 요약] C++의 데이터 출력
std::cout << '출력 대상';

 

1.2 std::endl;

 C언어에서 개행, 즉 줄바꿈을 하고 싶을 때, printf와 개행 문자 \n을 사용하였을 것이다. C++는 C언어와 마찬가지로 개행 문자 \n 뿐만 아니라, << 연산자를 사용한 std::endl을 통해 줄바꿈을 출력할 수 있다.

 

HelloWorld.cpp
#include <iostream>

int main(void) {
	std::cout << "Hello world!" << endl;// endl로 개행을 출력한다.
	return 0;
}

 

HelloWorld.cpp 실행 결과
Hello World!

 

[한줄 요약] C++의 개행 출력
1. std::cout << '\n';
2. std::cout << endl;

2. scanf를 대신하는 std::cin

2.1 std::cin

 C언어는 stdio 헤더 파일의 scanf를 통해 데이터를 입력하지만 일반적으로 C++는 iostream 표준 입출력 라이브러리의 cin을 통해 데이터를 입력한다. 키보드로 데이터를 입력하기 위해서는 다음과 같은 형식을 따르면 된다.

 

std::cin >> '변수';
std::cin >> '변수1' >> '변수2' >> '변수3';

 C++의 데이터 입력은 출력과 마찬가지로 C언어와 두 가지 큰 차이가 있다. 첫 번째, scanf의 괄호 안에 입력 대상의 주소값을 사용하는 C언어와 다르게 >>연산자를 사용하여 데이터를 입력한다. 또한 여러 데이터를 연속으로 입력하고 싶으면 변수 사이에 >>연산자를 사용하여 변수를 연결하면 된다. 처음 입력되는 변수가 변수1에 저장되고 그 다음으로 입력되는 변수가 변수2에 저장되는데, 두 데이터 간의 경계는 탭, 스페이스 바, 엔터 키의 입력같은 공백에 의해 나누어진다.

 두 번째, 서식 문자 없이 변수만 입력하면 된다. 변수의 타입에 따라서 %d, %f와 같은 서식 문자로 포맷을 지정해야하는 C언어와 다르게 int, double과 같이 입력하고자 하는 변수의 타입에 알맞게 변수를 미리 선언하면 서식 문자 없이 데이터의 성격에 따라 자동으로 적절한 입력이 이루어진다.

 

SimpleAdder.cpp
#include <iostream>

int main(void) {
	int num1;
	std::cout << "첫 번째 숫자를 입력:";
	std::cin >> num1;
   
	int num2;
	std::cout << "두 번째 숫자를 입력:";
	std::cin >> num2;
    
	int result = num1 + num2;
	std::cout << "두 수의 합: " << result;
	return 0;
}

 

SimpleAdder.cpp 실행 결과
첫 번째 숫자를 입력: 1
두 번째 숫자를 입력: 2
두 수의 합: 3

 

[한줄 요약] C++의 데이터 입력
std::cin >> '변수';

3. C++ 기반의 데이터 입출력 문제 풀이

 

열혈 C++ 프로그래밍 | 문제 01-1 | C++ 기반의 데이터 입출력

문제 1 사용자로부터 총 5개의 정수를 입력받아서, 그 합을 출력하는 프로그램을 작성해보자. 단, 프로그램의 실행은 다음과 같아야 한다. [실행의 예] 1번째 정수 입력: 1 2번째 정수 입력: 2 3번째

continue96.tistory.com

 

댓글