profile image

L o a d i n g . . .

반응형

C++의 printf

언어를 배울 때, "Hello World" 메시지를 출력하는 것부터 시작한다. 당연하게도 C언어의 프로그램과는 차이가 있으나, 눈에 익혀 자연스럽게 외워야 한다.

기존 C 프로그램과 동일하게 생성하되, 새 항목 추가 시 확장자명을 .cpp로 유지해야 한다.

HelloWorld.cpp

#include <iostream>

int main(void)
{
    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;
}

실행 결과

 

1. 헤더파일 선언문 - #include <iostream>

C언어의 헤더파일 <stdio.h>처럼, C++에서는 입출력과 관련한 일을 처리하기 위해서 <iostream>이라는 헤더파일을 선언해야 한다.

헤더파일의 확장자는 .h이지만, C++에서는 프로그래머가 정의하는 헤더파일의 선언이 아닌 경우, 즉 표준 헤더파일의 선언에서는 확장자를 생략하게끔 약속되어 있다.

 

2. 출력 - std::cout, << 연산자

C++에서는 출력을 위해서 다음 형태를 사용한다.

std::cout<< '출력대상';

'출력대상'의 위치에는 정수, 실수, 문자열, 변수 등 무엇이든 올 수 있다.

C언어의 printf와는 다르게 %d 등의 서식 문자를 이용해서 별도로 출력 포맷을 정해 주지 않아도 데이터에 따른 적절한 출력이 가능하다.

 

3. 개행 - << 연산자

<< 연산자를 이용하면 둘 이상의 출력대상을 연이어 출력할 수 있다.

std::cout<<'출력1'<<'출력2'<<'출력3'<<std::endl;

<< 연산자를 이용한 std::endl의 출력은 개행을 처리한다.

 

C++의 scanf

다음은 키보드로부터 두 개의 숫자를 입력받아 덧셈 연산을 하여 출력하는 예제이다.

SimpleAdder.cpp

#include <iostream>

int main(void)
{
    int val1;
    std::cout << "첫 번째 숫자 입력: ";
    std::cin >> val1;

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

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

    return 0;
}

실행 결과

 

1. 입력 - std::cin, >> 연산자

키보드로부터 데이터 입력을 받기 위해서는 다음의 형식을 취한다.

std::cin>>'변수';

변수 자리에는 입력 받은 데이터를 저장할 변수의 이름을 적는다. C++의 데이터 입력 또한 별도의 포맷 지정이 필요 없기 때문에, 변수를 선언할 때 변수의 자료형만 설정하면 된다.

다음은 double형 변수를 선언해, double형으로 입력받는 예제이다.

#include <iostream>

int main(void)
{
    double val1;
    std::cout << "첫 번째 숫자 입력: ";
    std::cin >> 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 str1[100];
    std::cout << "첫 번째 문자열 입력: ";
    std::cin >> str1;

    char str2[100];
    std::cout << "두 번째 문자열 입력: ";
    std::cin >> str2;

    std::cout << str1 << std::endl;
    std::cout << str2 << std::endl;

    return 0;
}

 

2. 지역변수

C++의 지역변수 선언은 함수 내 어디든지 가능하고, C++의 모든 컴파일러가 이를 정상적으로 받아들인다.

다음은 두 개의 정수를 입력받아 그 사이에 존재하는 정수들의 합을 계산하여 출력하는 예제이다.

#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 
    {
        for (int i = val2 + 1; i < val1; i++)
        {
            result += i;
        }
    }
    std::cout << "두 수 사이의 정수 합: " << result << std::endl;

    return 0;
}

 

다음과 같이 연속적인 데이터의 입력을 요구할 수 있다.

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

반응형
복사했습니다!