C++

C++ 점프문 총정리

김구티2 2024. 3. 14. 18:49

1. 점프문의 개념

점프문은 일부 조건이 충족되면, 프로그램의 흐름을 조작하는 데 사용된다. 프로그램 내부의 루프를 종료하거나, 혹은 계속하거나 함수의 실행을 중지하는 데 사용된다.

C++에서 점프문의 종류로는 ① break ② continue ③ goto ④ return 이 있다.

2. Continue문

C++에서 continue 문은 루프를 종료하는 대신, 조건 내부에 선언된 일부 부분을 건너뛰면서 루프의 다른 부분을 실행하는 데 사용된다. 이 문은 루프 내부에 있어야 하는 의사 결정 문과 함께 사용된다. 루프, while 루프, do while 루프 안에서 사용될 수 있다.

구문:
continue;

예시:
// C++ program to demonstrate the
// continue statement
#include <iostream>
using namespace std;

// Driver code
int main()
{
     for (int i = 1; i < 10; i++) {

          if (i == 5)
               continue;
          cout << i << " ";
     }
     return 0;
}

출력:

1 2 3 4 6 7 8 9


5를 제외한 1에서 10 사이의 모든 수가 포함된 시나리오를 구현한 것이다. 이 경우, i의 값이 5인 후에 continue 문을 사용한 것이다.

3. Break문

C++ break 문은 조건이 충족되면 전체 루프를 종료하는 데 사용된다. 조건이 충족된 후, continue 문과 달리 루프를 끊고 루프의 나머지 부분은 실행하지 않는다. break 문은 루프, while 루프 또는 do while 루프 내부에 있는 if, if-else 또는 switch 문과 같은 의사 결정 문과 함께 사용된다. 이 문은 루프가 추가 반복의 실행을 중지하도록 강제한다.

 

구문:

break;

 

예시:

// C++ program to demonstrate the
// break statement
#include <iostream>
using namespace std;

// Driver Code
int main()
{
     for (int i = 1; i < 10; i++) {

          // Breaking Condition
          if (i == 5)
               break;
          cout << i << " ";
     }
     return 0;
}

 

출력:

1 2 3 4

 

어떤 수열을 프린트하되, 어떤 값 K 이후에는 프린트하지 않는 시나리오를 구현한 것이다. 따라서 이 경우에는 i의 값이 K인 후에 break문을 사용하는 것이 좋다.

4. Return문

return 문은 함수 자체에서 컨트롤을 빼낸다. 브레이크보다 더 강하다고 할 수 있다. 함수를 실행한 후 또는 어떤 조건 후에 전체 함수를 종료하는 데 사용된다. 모든 함수에는 void() 함수를 제외한 일부 반환 값이 있는 return문이 있다. void() 함수에도 return문이 있어 함수의 실행을 종료할 수 있다.

 

구문:

return expression;

 

예시1:

// C++ program to demonstrate the
// return statement
#include <iostream>
using namespace std;

// Driver code
int main()
{
     cout << "Begin ";

     for (int i = 0; i < 10; i++) {

          // Termination condition
          if (i == 5)
               return 0;
          cout << i << " ";
     }
     cout << "end";

     return 0;
}

 

출력:

Begin 0 1 2 3 4

 

위의 프로그램은 Begin을 프린트하여 실행을 시작한 다음, for 루프에서 값을 프린트하기 시작한다. i의 값은 0에서 4까지 프린트되며, 5가 되자마자 전체 기능을 종료한다. 즉, 프로그램의 end문을 프린트하지 않는 것이다.

 

참고로, void() 함수에서 return은 반환 유형 없이 사용할 수 있다는 것을 알아야 한다.

 

예시2:

// C++ program to demonstrate the return
// statement in void return type function
#include <iostream>
using namespace std;

// Function to find the greater element
// among x and y
void findGreater(int x, int y)
{
     if (x > y) {
          cout << x << " "
                  << "is greater"
                  << "\n";
          return;
     }
     else {
          cout << y << " "
                  << "is greater"
                  << "\n";
     return;
     }
}

// Driver Code
int main()
{
     // Function Call
     findGreater(10, 20);

     return 0;
}

 

출력:

20 is greater

5. Goto문

C++ goto 문은 프로그램이 호출되는 부분으로 바로 이동하는 데 사용된다. 모든 goto 문은 프로그램이 호출되는 부분으로 이동하는 레이블과 연결된다. 레이블 문은 goto문 이전 또는 이후에 사용할 필요가 없는 프로그램의 어느 곳에서나 작성할 수 있다. 그런데 goto문은 프로그램의 흐름을 이해하는 데 어렵게 만들기도 하므로, 가급적 사용을 지양하는 것이 나을 수도 있다.

 

구문:

goto label_name;
.
.
.
label_name:

 

예시:

// C++ program to demonstrate the
// goto statement
#include <iostream>
using namespace std;

// Driver Code
int main()
{
     int n = 4;

     if (n % 2 == 0)
          goto label1;
     else
          goto label2;

label1:
     cout << "Even" << endl;
     return 0;

label2:
     cout << "Odd" << endl;
}

 

출력:

Even

 

위의 프로그램은 사용자가 누른 숫자가 4라고 하면, 숫자가 짝수인지 홀수인지 확인하는 데 사용되는 프로그램이다. 만약 사용자가 누른 숫자가 label1로 이동하고, label1이 숫자가 짝수임을 출력하면 조건이 충족된다. 여기서 goto문 이후에 label statement를 작성할 필요가 없으며, goto문 전에 작성할 수도 있다.

 

728x90

'C++' 카테고리의 다른 글

C++ 범위 기반 for문 총정리  (0) 2024.03.14
C++ for, while, do while 루프(Loop) 총정리  (1) 2024.03.14
C++ 스위치 문 총정리  (1) 2024.03.12
C++ Nested if문(중첩 if문) 총정리  (0) 2024.03.10
C++ if else if 총정리  (0) 2024.03.10