소개
이 랩에서는 C++ 프로그램의 기본적인 구조를 배우고, 기본적인 구문 요소를 탐구하며, 실행 과정을 이해하게 됩니다. 이 실습 경험은 초보자를 위해 설계되었으며, WebIDE 환경을 사용하여 C++ 코드를 작성하고 이해하는 데 필요한 탄탄한 기반을 제공할 것입니다.
첫 번째 C++ 프로그램 설정
간단한 C++ 프로그램을 생성하고 검토하여 시작해 보겠습니다. 이를 통해 C++ 프로그램의 기본 구조와 구성 요소를 이해할 수 있습니다.
- WebIDE 에서 왼쪽 측에 파일 탐색기가 표시됩니다. 파일 탐색기 영역을 마우스 오른쪽 버튼으로 클릭하고 "새 파일"을 선택합니다.
- 새 파일의 이름을
hello.cpp로 지정하고 Enter 키를 누릅니다. - 새 파일이 편집기에서 열립니다. 열리지 않으면 파일 탐색기에서
hello.cpp를 두 번 클릭하여 엽니다. - 편집기에서 다음 C++ 코드를 입력합니다.
#include <iostream>
using namespace std;
int main() {
cout << "Hello, C++!" << endl;
return 0;
}

이 코드를 분석해 보겠습니다.
#include <iostream>: 이것은 입/출력 스트림 라이브러리를 포함하는 전처리기 지시문입니다. C++ 에게 입출력 작업을 위한 도구를 사용하겠다는 의미입니다.using namespace std;: 이 줄은std::접두사 없이 표준 라이브러리의 요소를 사용할 수 있도록 합니다. "표준 도구 세트를 사용할 때마다 출처를 지정하지 않고 사용하겠다"는 의미입니다.int main() { ... }: 이것은 프로그램 실행이 시작되는 main 함수입니다. 모든 C++ 프로그램은main함수를 가져야 합니다.main앞의int는 이 함수가 정수 값을 반환한다는 것을 나타냅니다.cout << "Hello, C++!" << endl;: 이 줄은 텍스트 "Hello, C++"를 콘솔에 출력합니다.cout는 출력을 위해 사용되고,<<는 출력 연산자이며,endl은 텍스트 뒤에 새 줄을 추가합니다.return 0;: 이것은 프로그램이 성공적으로 실행되었음을 나타냅니다. 0 의 반환 값은 일반적으로 모든 것이 예상대로 진행되었음을 알리는 데 사용됩니다.
이제 프로그램을 컴파일하고 실행해 보겠습니다.
WebIDE 에서 터미널 또는 콘솔 패널을 찾습니다. 보이지 않으면 열어야 할 수 있습니다 (일반적으로 "터미널" 또는 "보기" 메뉴 아래에 "새 터미널"과 같은 옵션이 있습니다).
터미널에서 올바른 디렉토리에 있는지 확인합니다.
pwd명령을 사용하여 현재 디렉토리를 확인하고, 필요한 경우cd를 사용하여 탐색할 수 있습니다.프로그램을 컴파일하려면 터미널에 다음 명령을 입력합니다.
g++ -o hello hello.cpp컴파일된 프로그램을 실행하려면 다음을 입력합니다.
./hello
Hello, C++! 출력을 볼 수 있습니다.

오류가 발생하면 오타가 있는지 코드를 다시 확인하십시오. C++ 는 대소문자를 구분하므로 cout는 Cout 또는 COUT와 다릅니다.
변수 및 데이터 타입 이해
이 단계에서는 C++ 의 변수와 기본 데이터 유형을 살펴보겠습니다. 변수는 프로그램에서 데이터를 저장하는 데 사용되며, 다양한 데이터 유형을 이해하는 것은 효율적인 프로그래밍에 매우 중요합니다.
- WebIDE 에서
variables.cpp라는 새 파일을 만듭니다. 파일 탐색기에서 마우스 오른쪽 버튼을 클릭하고 "새 파일"을 선택하여 이 작업을 수행할 수 있습니다. - 편집기에서
variables.cpp를 열고 다음 코드를 입력합니다.
#include <iostream>
#include <string>
using namespace std;
int main() {
// Integer variable
int age = 25;
// Floating-point variable
float height = 1.75;
// Character variable
char grade = 'A';
// Boolean variable
bool isStudent = true;
// String variable (C++ string class)
string name = "Alice";
cout << "Name: " << name << endl;
cout << "Age: " << age << " years" << endl;
cout << "Height: " << height << " meters" << endl;
cout << "Grade: " << grade << endl;
cout << "Is a student: " << (isStudent ? "Yes" : "No") << endl;
return 0;
}
사용된 다양한 데이터 유형을 분석해 보겠습니다.
int: 정수에 사용됩니다. 예제에서age는 정수입니다.float: 소수점에 사용됩니다.height에 사용합니다. 더 많은 정밀도를 제공하지만 더 많은 메모리를 사용하는double도 있습니다.char: 단일 문자에 사용됩니다.grade변수는 char 입니다.bool: true/false 값에 사용됩니다.isStudent는 부울 변수입니다.string: 텍스트에 사용됩니다. 이 유형을 사용하기 위해 맨 위에<string>을 포함한다는 점에 유의하십시오.
이 프로그램은 다양한 유형의 변수를 선언하고 cout를 사용하여 출력하는 방법을 보여줍니다.
cout << "Is a student: " << (isStudent ? "Yes" : "No") << endl; 줄을 주목하십시오. 이 줄은 if-else 문에 대한 축약형인 삼항 연산자 ?:를 사용합니다. 이는 "isStudent 가 true 이면 'Yes'를 출력하고, 그렇지 않으면 'No'를 출력하라"는 의미입니다.
프로그램을 컴파일하고 실행하려면:
WebIDE 의 터미널 패널에서 올바른 디렉토리에 있는지 확인합니다.
다음 명령으로 프로그램을 컴파일합니다.
g++ -o variables variables.cpp다음 명령으로 프로그램을 실행합니다.
./variables
오류가 발생하면 오타를 확인하십시오. 흔한 실수로는 문장의 끝에 세미콜론을 잊거나 따옴표를 잘못 사용하는 경우가 있습니다.
제어 구조 - If 문 및 루프
제어 구조를 사용하면 프로그램의 흐름을 제어할 수 있습니다. 동적이고 반응적인 프로그램을 만드는 데 필수적인 if 문과 루프를 살펴보겠습니다.
- WebIDE 에서
control.cpp라는 새 파일을 만듭니다. - 편집기에서
control.cpp를 열고 다음 코드를 입력합니다.
#include <iostream>
using namespace std;
int main() {
int number;
cout << "Enter a number: ";
cin >> number;
// If statement
if (number > 0) {
cout << "The number is positive." << endl;
} else if (number < 0) {
cout << "The number is negative." << endl;
} else {
cout << "The number is zero." << endl;
}
// For loop
cout << "Counting from 1 to 5:" << endl;
for (int i = 1; i <= 5; i++) {
cout << i << " ";
}
cout << endl;
// While loop
int count = 5;
cout << "Countdown:" << endl;
while (count > 0) {
cout << count << " ";
count--;
}
cout << endl;
return 0;
}
사용된 제어 구조를 분석해 보겠습니다.
If-Else 문: 이것은 프로그램이 결정을 내릴 수 있도록 합니다. 구조는 다음과 같습니다.
if (condition) { // code to execute if condition is true } else if (another condition) { // code to execute if this condition is true } else { // code to execute if no conditions are true }For 루프: 코드 블록을 몇 번 반복할지 알고 있을 때 사용됩니다. 구조는 다음과 같습니다.
for (initialization; condition; update) { // code to repeat }예제에서
int i = 1은 루프 변수를 초기화하고,i <= 5는 루프를 계속하기 위한 조건이며,i++는 각 반복 후에 루프 변수를 업데이트합니다.While 루프: 조건이 true 인 동안 코드 블록을 반복하려는 경우 사용됩니다. 구조는 다음과 같습니다.
while (condition) { // code to repeat }예제에서 루프는
count > 0인 동안 계속됩니다.
프로그램을 컴파일하고 실행하려면:
WebIDE 의 터미널 패널에서 올바른 디렉토리에 있는지 확인합니다.
다음 명령으로 프로그램을 컴파일합니다.
g++ -o control control.cpp다음 명령으로 프로그램을 실행합니다.
./control
프로그램을 실행하면 숫자를 입력하라는 메시지가 표시됩니다. if 문이 어떻게 작동하는지 확인하려면 다른 숫자 (양수, 음수, 0) 를 입력해 보십시오. 그런 다음 프로그램은 입력에 관계없이 for 루프와 while 루프를 보여줍니다.
오류가 발생하면 세미콜론 누락, 괄호 불일치 또는 변수 이름의 오타와 같은 일반적인 문제를 확인하십시오.
C++ 의 함수
함수는 특정 작업을 수행하는 코드 블록입니다. 코드를 구성하고 재사용 가능하며 이해하기 쉽게 만드는 데 도움이 됩니다. 함수 사용법을 보여주는 프로그램을 만들어 보겠습니다.
- WebIDE 에서
functions.cpp라는 새 파일을 만듭니다. - 편집기에서
functions.cpp를 열고 다음 코드를 입력합니다.
#include <iostream>
using namespace std;
// Function to calculate the square of a number
int square(int num) {
return num * num;
}
// Function to check if a number is even
bool isEven(int num) {
return num % 2 == 0;
}
// Function with default parameter
void greet(string name = "Guest") {
cout << "Hello, " << name << "!" << endl;
}
int main() {
int number = 7;
cout << "Square of " << number << " is: " << square(number) << endl;
if (isEven(number)) {
cout << number << " is even." << endl;
} else {
cout << number << " is odd." << endl;
}
greet(); // Uses default parameter
greet("Alice"); // Provides a name
return 0;
}
이 프로그램의 구성 요소를 분석해 보겠습니다.
함수 정의: 함수는 반환 유형, 이름 및 매개변수 (있는 경우) 로 정의됩니다. 예를 들어:
int square(int num) { return num * num; }이 함수는 정수
num을 받아 제곱하고 결과를 반환합니다.부울 반환이 있는 함수:
bool isEven(int num) { return num % 2 == 0; }이 함수는 숫자가 짝수이면
true를 반환하고, 그렇지 않으면false를 반환합니다.%연산자는 나눗셈의 나머지를 제공합니다.기본 매개변수가 있는 함수:
void greet(string name = "Guest") { cout << "Hello, " << name << "!" << endl; }이 함수에는 기본 매개변수가 있습니다. 함수를 호출할 때 인수가 제공되지 않으면 "Guest"를 사용합니다.
함수 호출:
main()함수에서 이러한 함수를 호출하고 반환 값을 사용하는 방법을 보여줍니다.
프로그램을 컴파일하고 실행하려면:
WebIDE 의 터미널 패널에서 올바른 디렉토리에 있는지 확인합니다.
다음 명령으로 프로그램을 컴파일합니다.
g++ -o functions functions.cpp다음 명령으로 프로그램을 실행합니다.
./functions
이 프로그램은 함수를 사용하여 코드를 관리 가능하고 재사용 가능한 조각으로 구성하는 방법을 보여줍니다. 오류가 발생하면 오타, 세미콜론 누락 또는 괄호 불일치를 확인하십시오. 또한 함수를 호출할 때 올바른 함수 이름을 사용하고 있는지 확인하십시오.
기본적인 입출력 연산
이 마지막 단계에서는 C++ 에서 다양한 입력 및 출력 연산을 보여주는 프로그램을 만들 것입니다. 입력 및 출력을 통해 사용자와 상호 작용하는 방법을 이해하는 것은 대화형 프로그램을 만드는 데 매우 중요합니다.
- WebIDE 에서
io_operations.cpp라는 새 파일을 만듭니다. - 편집기에서
io_operations.cpp를 열고 다음 코드를 입력합니다.
#include <iostream>
#include <iomanip> // For setprecision
#include <string> // For string operations
using namespace std;
int main() {
string name;
int age;
double height;
// Input operations
cout << "Enter your name: ";
getline(cin, name); // Reads a full line, including spaces
cout << "Enter your age: ";
cin >> age;
cout << "Enter your height in meters: ";
cin >> height;
// Output operations
cout << "\n--- Your Information ---\n";
cout << "Name: " << name << endl;
cout << "Age: " << age << " years" << endl;
// Setting precision for floating-point output
cout << fixed << setprecision(2);
cout << "Height: " << height << " meters" << endl;
// Using width and fill for formatted output
cout << "\nFormatted Age Display:\n";
cout << setw(10) << setfill('.') << left << "Age" << setw(5) << right << age << endl;
return 0;
}
이 프로그램의 주요 구성 요소를 분석해 보겠습니다.
추가 헤더:
#include <iomanip>: 이 헤더는setprecision및setw와 같은 입/출력 조작자를 제공합니다.#include <string>: 이 헤더는 문자열 연산에 사용되지만,<iostream>과 함께 암시적으로 포함되는 경우가 많습니다.
입력 연산:
getline(cin, name): 공백을 포함하여 전체 입력 줄을 읽습니다. 이름이나 문장을 읽는 데 유용합니다.cin >> age:age변수에 단일 값을 읽습니다.>>연산자는 입력에 사용됩니다.
출력 연산:
cout << "Text" << variable << endl: 이것은 기본 출력 연산입니다.<<연산자는 출력에 사용됩니다.endl: 줄 바꿈을 추가하고 출력 버퍼를 플러시합니다.
출력 형식 지정:
cout << fixed << setprecision(2): 부동 소수점 숫자의 출력을 항상 소수점 2 자리까지 표시하도록 설정합니다.setw(10): 다음 출력 필드의 너비를 10 자로 설정합니다.setfill('.'): 필드의 빈 공간에 채우기 문자를 '.'로 설정합니다.left및right: 필드 내에서 출력의 정렬을 설정합니다.
프로그램을 컴파일하고 실행하려면:
WebIDE 의 터미널 패널에서 올바른 디렉토리에 있는지 확인합니다.
다음 명령으로 프로그램을 컴파일합니다.
g++ -o io_operations io_operations.cpp다음 명령으로 프로그램을 실행합니다.
./io_operations
프로그램을 실행하면 이름, 나이 및 키를 입력하라는 메시지가 표시됩니다. 이 정보를 입력하면 프로그램에서 형식이 지정된 방식으로 다시 표시합니다.
주의해야 할 일반적인 문제:
- 프로그램이 이름 입력을 건너뛰는 경우 입력 버퍼에 줄 바꿈 문자가 남아 있기 때문일 수 있습니다. 이를 수정하려면
getline(cin, name);앞에cin.ignore();를 추가할 수 있습니다. - 나이와 키에 유효한 숫자를 입력해야 합니다. 숫자가 아닌 값을 입력하면 예기치 않은 동작이 발생할 수 있습니다.
이 프로그램은 공백이 있는 문자열을 포함하여 다양한 유형의 입력을 처리하고 가독성을 높이기 위해 출력을 형식화하는 방법을 보여줍니다. 이러한 기술은 사용자 친화적이고 대화형 C++ 프로그램을 만드는 데 필수적입니다.
요약
이 랩에서는 WebIDE 환경을 사용하여 C++ 프로그래밍의 기본 개념에 대한 실질적인 경험을 얻었습니다. 다음을 배웠습니다.
- WebIDE 에서 기본 C++ 프로그램을 만들고, 컴파일하고, 실행하는 방법.
- C++ 에서 변수와 다양한 데이터 유형의 사용.
- if 문 및 루프와 같은 제어 구조를 구현하는 방법.
- 코드를 구성하고 재사용하기 위한 함수의 생성 및 사용.
- 출력 형식 지정을 포함한 기본 입력 및 출력 연산.
이러한 개념은 C++ 프로그래밍의 기초를 형성하며, 더 고급 주제로 나아갈 때 필수적입니다. 기억하세요, 프로그래밍에서는 연습이 중요합니다. 학습을 강화하기 위해 이러한 프로그램을 수정하거나 새로운 프로그램을 만들어 보세요. 실험하고 실수를 두려워하지 마세요. 디버깅은 개발해야 할 중요한 기술입니다.
C++ 여정을 계속 진행하면서 객체 지향 프로그래밍, 템플릿, 표준 라이브러리 사용과 같은 언어의 더 고급 기능을 발견하게 될 것입니다. 계속 탐구하고 즐거운 코딩 되세요!
C++ 개발에 WebIDE 를 사용하는 것은 특히 초보자에게 매우 편리할 수 있습니다. 일관된 환경을 제공하고 많은 설정 문제를 제거합니다. 그러나 진행하면서 더 고급 기능과 더 빠른 컴파일 시간을 위해 Visual Studio, CLion 또는 Code::Blocks 와 같은 로컬 개발 환경 및 IDE 를 탐색할 수 있습니다.



