c++(9)
-
재귀(Recursion)
4.3 재귀(Recursion)함수가 자기 자신을 호출하는 기법입니다:4.3.1 재귀의 기본 개념#include // 재귀적으로 팩토리얼 계산int factorial(int n) { // 기저 조건(base case): 재귀를 종료하는 조건 if (n 재귀의 주요 요소:기저 조건(Base Case): 재귀를 종료하는 조건재귀 호출(Recursive Call): 자기 자신을 호출하되, 더 작은 문제로 분할재귀 과정(Recursive Process): 나중에 호출된 함수가 먼저 완료되어 역순으로 결과 계산재귀의 작동 원리 시각화 (factorial(5) 호출):factorial(5)= 5 * factorial(4)= 5 * (4 * factorial(3))= 5 * (4 * (3 * factori..
2025.03.27 -
함수 포인터와 함수 객체
4.2 함수 포인터와 함수 객체4.2.1 함수 포인터(Function Pointers)함수의 주소를 저장하고 호출하는 방법입니다:#include // 함수 정의int add(int a, int b) { return a + b;}int subtract(int a, int b) { return a - b;}int main() { // 함수 포인터 선언 int (*operation)(int, int); // 함수 포인터에 함수 할당 operation = add; std::cout typedef와 using을 활용한 가독성 향상:#include // 함수 포인터 타입 정의typedef int (*Operation)(int, int);// 또는 C++11 이후: usi..
2025.03.27 -
함수와 재귀
함수와 재귀함수는 C++ 프로그래밍의 핵심 요소로, 코드의 모듈화, 재사용성, 가독성을 향상시킵니다. 이 챕터에서는 함수의 기본 개념부터 고급 기능까지 심층적으로 살펴보겠습니다.4.1 함수의 기본4.1.1 함수의 구조C++에서 함수는 다음과 같은 구조로 이루어져 있습니다:반환_타입 함수_이름(매개변수_목록) { // 함수 본문 return 반환_값; // 있는 경우}예제: 간단한 함수#include // 두 정수의 합을 반환하는 함수int add(int a, int b) { int sum = a + b; return sum;}int main() { int result = add(5, 3); std::cout 함수의 주요 구성 요소:반환 타입(Return Type): 함수..
2025.03.27 -
챕터3. 실습문제
3.5 실습 문제문제 1: 구구단 출력사용자로부터 단수를 입력받아 해당 구구단을 출력하는 프로그램을 작성하세요.#include int main() { int dan; std::cout > dan; if (dan 9) { std::cout 문제 2: 소수 판별사용자로부터 양의 정수를 입력받아 소수(Prime Number)인지 판별하는 프로그램을 작성하세요.#include #include int main() { int number; bool isPrime = true; std::cout > number; if (number (std::sqrt(number)); for (int i = 3; i 문제 3: 간단한 계산기..
2025.03.27 -
조건부 컴파일
3.4 조건부 컴파일3.4.1 #if, #ifdef, #ifndef 지시자컴파일 시간에 조건에 따라 코드를 포함하거나 제외합니다.예제:#include // 디버그 모드 정의#define DEBUG 1int main() { int x = 10; #if DEBUG std::cout 3.4.2 #elif, #else 지시자여러 조건에 따른 컴파일을 제어합니다.예제:#include #define PLATFORM 2 // 1: Windows, 2: Linux, 3: macOSint main() {#if PLATFORM == 1 std::cout
2025.03.27 -
제어 흐름 변경
3.3 제어 흐름 변경3.3.1 break 문반복문이나 switch 문을 즉시 종료합니다.예제 (반복문에서 break):#include int main() { // 5를 만나면 반복 종료 for (int i = 1; i 예제 (중첩 반복문에서 break):#include int main() { for (int i = 1; i 출력:바깥 루프 1: 1 2 3바깥 루프 2: 1 2 3바깥 루프 3: 1 2 33.3.2 continue 문현재 반복을 건너뛰고 다음 반복으로 넘어갑니다.예제:#include int main() { // 짝수만 출력 for (int i = 1; i 3.3.3 goto 문지정된 레이블로 프로그램 실행을 무조건 이동합니다. (권장하지 않음)예제:#includ..
2025.03.27