Topic 4: 기본 입출력 마스터하기 💬
🎯 학습 목표
이번 토픽에서는 컴퓨터와 대화하는 방법을 배웁니다!
cout
으로 메시지 출력하기cin
으로 사용자 입력 받기- 다양한 출력 형식 활용하기
- 간단한 대화형 프로그램 만들기
📤 cout - 컴퓨터가 말하게 하기
cout의 기본 사용법
cout
은 C++ Output의 약자로, 화면에 출력할 때 사용합니다.
#include <iostream>
using namespace std;
int main() {
cout << "안녕하세요!" << endl;
cout << "C++의 세계에 오신 것을 환영합니다!" << endl;
return 0;
}
<<
연산자 이해하기
<<
는 삽입 연산자로, 데이터를 출력 스트림으로 보냅니다.
cout << "첫 번째 " << "두 번째 " << "세 번째" << endl;
// 출력: 첫 번째 두 번째 세 번째
물 흐르듯이 데이터가 흘러가는 모습을 상상해보세요! 🌊
endl
vs \n
줄바꿈을 하는 두 가지 방법:
// 방법 1: endl 사용
cout << "첫 줄" << endl;
cout << "둘째 줄" << endl;
// 방법 2: \n 사용
cout << "첫 줄\n";
cout << "둘째 줄\n";
차이점:
endl
: 줄바꿈 + 버퍼 비우기 (더 안전하지만 느림)\n
: 줄바꿈만 (더 빠름)
📥 cin - 사용자의 입력 받기
cin의 기본 사용법
cin
은 C++ Input의 약자로, 키보드 입력을 받을 때 사용합니다.
#include <iostream>
using namespace std;
int main() {
int age; // 숫자를 저장할 공간 (변수라고 부릅니다)
cout << "나이를 입력하세요: ";
cin >> age; // 키보드로 입력받은 숫자를 age에 저장
cout << "당신은 " << age << "살이군요!" << endl;
return 0;
}
변수란?
- 데이터를 담아두는 상자 같은 것입니다
int age;
는 “정수를 담을 상자를 만들고 이름을 age라고 붙이겠다”는 의미
>>
연산자 이해하기
>>
는 추출 연산자로, 입력 스트림에서 데이터를 가져옵니다.
int num1, num2;
cout << "두 숫자를 입력하세요: ";
cin >> num1 >> num2; // 한 번에 여러 값 입력 가능
cout << "합계: " << num1 + num2 << endl;
🎨 다양한 출력 형식
숫자와 문자 함께 출력하기
int score = 95;
char grade = 'A';
cout << "점수: " << score << "점" << endl;
cout << "등급: " << grade << endl;
cout << "축하합니다! " << score << "점으로 " << grade << "를 받았습니다!" << endl;
특수 문자 출력하기
cout << "따옴표: \"Hello\"" << endl; // \"로 따옴표 출력
cout << "역슬래시: C:\\Program Files" << endl; // \\로 \ 출력
cout << "탭: 이름\t나이\t성별" << endl; // \t로 탭 출력
cout << "벨소리: \a" << endl; // \a로 소리 출력 (비프음)
🚀 실습: 대화형 프로그램 만들기
간단한 자기소개 프로그램
#include <iostream>
using namespace std;
int main() {
int age;
int score;
cout << "===== 자기소개 프로그램 =====" << endl;
cout << "나이는 몇 살인가요? ";
cin >> age;
cout << "좋아하는 숫자를 입력하세요: ";
cin >> score;
cout << "\n===== 결과 =====" << endl;
cout << "안녕하세요!" << endl;
cout << "당신의 나이는 " << age << "살이군요!" << endl;
cout << "좋아하는 숫자는 " << score << "이네요!" << endl;
cout << "만나서 반가워요!" << endl;
return 0;
}
간단한 계산기 프로그램
#include <iostream>
using namespace std;
int main() {
double num1, num2;
cout << "===== 간단한 계산기 =====" << endl;
cout << "첫 번째 숫자: ";
cin >> num1;
cout << "두 번째 숫자: ";
cin >> num2;
cout << "\n===== 계산 결과 =====" << endl;
cout << num1 << " + " << num2 << " = " << num1 + num2 << endl;
cout << num1 << " - " << num2 << " = " << num1 - num2 << endl;
cout << num1 << " × " << num2 << " = " << num1 * num2 << endl;
cout << num1 << " ÷ " << num2 << " = " << num1 / num2 << endl;
return 0;
}
🔍 여러 값 입력 받기
여러 숫자 입력받기
int num1, num2, num3;
cout << "세 개의 숫자를 입력하세요: ";
cin >> num1 >> num2 >> num3; // 공백으로 구분해서 입력
cout << "입력한 숫자들: " << num1 << ", " << num2 << ", " << num3 << endl;
입력 예시: 10 20 30
(공백으로 구분)
⚠️ 일반적인 실수들
❌ 잘못된 예시 1: 변수 선언 없이 입력
// ❌ 에러!
cin >> age; // age가 선언되지 않음
✅ 올바른 예시 1:
int age; // 먼저 변수 선언
cin >> age;
❌ 잘못된 예시 2: 타입 불일치
int number;
cout << "숫자를 입력하세요: ";
cin >> number;
// 사용자가 "abc"를 입력하면 프로그램이 이상하게 동작할 수 있습니다
💡 팔:
항상 숫자를 입력하도록 안내하고, 사용자가 올바른 타입을 입력하도록 명확히 설명하세요. 예: “숫자만 입력하세요 (예: 123):”
💡 퀴즈: 입출력 마스터 테스트
Q1. 다음 코드의 출력 결과는?
cout << "A" << "B" << endl << "C" << "D";
💡 정답 확인
AB
CD
endl
이 줄바꿈을 수행합니다.
Q2. 사용자가 “10 20”을 입력했을 때 출력은?
int x, y;
cin >> x >> y;
cout << x + y;
💡 정답 확인
30
cin >> x >> y
는 공백으로 구분된 두 숫자를 각각 x와 y에 저장합니다.
🎯 도전 과제
간단한 점수 계산기
다음 기능을 구현해보세요:
- 세 과목의 점수 입력
- 평균 계산
- 결과 출력
// 힌트 구조
int korean, english, math;
cout << "국어 점수: ";
cin >> korean;
cout << "영어 점수: ";
cin >> english;
cout << "수학 점수: ";
cin >> math;
cout << "\n===== 성적 결과 =====" << endl;
cout << "총점: " << korean + english + math << endl;
cout << "평균: " << (korean + english + math) / 3 << endl;
// 여기에 코드를 작성해보세요
📝 변수에 대한 간단한 설명
오늘 우리는 변수를 사용했습니다. 변수는 데이터를 저장하는 상자 같은 것입니다.
예를 들어:
int age; // 정수를 담을 상자를 만들고 이름을 age로 지정
age = 20; // 상자에 20이라는 값을 담음
cout << age; // 상자에 담긴 값을 출력
주로 사용한 변수 타입:
int
: 정수 (소수점 없는 숫자 - 예: 10, -5, 100)double
: 실수 (소수점 있는 숫자 - 예: 3.14, -2.5)
더 자세한 변수와 자료형의 세계는 Unit 2: 자료형과 변수에서 깊이 있게 다룰 예정입니다! 🎯
🚀 다음 단계
입출력의 기본을 마스터했으니, 이제 데이터를 다루는 방법을 본격적으로 배울 시간입니다!
Unit 2: 자료형과 변수에서 배울 내용:
- 다양한 자료형의 특징과 사용법
- 변수 선언과 초기화
- 상수와 리터럴
- 자료형 변환
컴퓨터와 대화하는 법을 배웠으니, 이제 더 복잡한 데이터를 다루는 법을 배워봅시다! 💪
Last updated on