상세 컨텐츠

본문 제목

Loop -1

개발생활/C C++

by 한국인맛집 2021. 3. 21. 22:37

본문

반응형

 

 

 

반복문


 

 

특정한 문장블록을 반복하고자할때 반복문을 사용할수있다.

반복문의 경우 프로그래머가 횟수를 정하여 컨트롤 할수있다.

 

 

 

반복문은 대표적으로 3개의 함수가 존재한다.

 

1. for loop

2. while loop

3. do-while loop

 

 

 

for 문


 

for 함수의 구성은 다음과 같다.

 

for( initialization;  condition;  increase) statements;

 

- initialization : 초기화 해주는 지점이다, 시작점

- condition : 조건이다. 반복횟수

- increase: 증감이다.  증가, 감소 되는 횟수를 지정해주는곳.

 

// C 스타일

#include<stdio.h>

void main(){

   for(int i = 0; i < 10; i++){
     printf("hello world\n");
   }
   fgetc(stdin);
}
#include<iostream>

using namespace std;

void main(){

   for(int i = 0; i < 10; i++){
      cout<<"hello World"<<endl;
   }

}

 

 

 

첫번째 초기화 부에선 : int i  정수형 변수 i 를 생성하였고, 값을 0으로 초기화 해주었다.

두번째 조건부 :  변수 i 가 10보다 작을경우 반복문을 계속 실행한다는 뜻이다. 만약 i값이 10을 넘을경우

반복문은 종료된다.

세번째 반복문은 i값이 1씩 증가한다.

 

 

만약 i 값이 2씩 증가하려면 어떻게 해줘야할까?

 

i 라는 변수값에 어떠한 값을 넣어야 2씩 증가할지 생각해보자.

 

 

더보기

연산자 부분을 보고 생각해보면 쉽다.

 

증감부에 i는 독립적이지않고, for 문 안에 존재하는 변수라 생각하면 쉽습니다.

 

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

 

 

 

다중 루프

 

2중으로 for 문을 사용할수 있습니다.

 

#include<stdio.h>

void main(){

  for(int i = 0 ; i< 5; i++){
     for(int k = 0; k < 2; k++){
        printf("This is k loop \n");
     }
     printf("This is i loop \n");
  }

  fgetc(stdin);
}
#include<iostream>

using namespace std;

void main(){

  for(int i = 0 ; i< 3; i++){
     for(int j = 0; j < 5; j++){
       cout<<"This is j loop"<<endl;
     }
     cout<<"This is i loop"<<endl;
  }
}

 

 

* 특별한 상황을 제외하곤, 반복문은 2중 이상 사용하는것을 자제해야한다.

반복문을 2중 이상으로 사용할경우, 성능 문제, 버그 발생의 원인이 된다.

 

 

다음과 같이 무한 루프를 할수있습니다.

 

 

#include<stdio.h>

void main(){

   for(;;){
   
   }
}

하지만 다음과 같은 무한루프는 프로그램에 큰 문제를 만들여지가 존재하므로 프로그램은 중단해줘야합니다.

 

루프를 중단하기위해  ' break ', 'return' 키워드를 사용할수 있습니다.

 

break 키워드를 이용해 루프를 중단 할수있습니다.

단, break는 switch,  for, while, do-while 에서 만 사용할수 있습니다.

 

 

return 의 경우 해당 블록단을 반환하고 종료하기때문에 서브 함수에서 반환을 해야할경우 사용됩니다.

 

#inlcude<stdio.h>

void main(){


  for(int i = 0; i < 5; i++){
     printf("%d",i);
     break;
  }
  
}

 

#include<iostream>

using namespace std;

void main(){


  for(int i = 0; i < 5; i++){
     cout<<i<<endl;
     return;
  }
  
}

 

아직 함수와 조건문의 개념을 배우지않았으니.간단히 넘어가시면 됩니다.

 

 

 

 

 

 

혼자 해보기 문제

 

1. 50보다 작은 5의 배수를 출력하세요.

 

 

 

더보기

 

시작을 변수 5로부터 시작하고 i 루프 조건문을 50보다 같거나 작게 해주고 증감부분에 5씩 증가해주면 된다.

 

 

#include<iostream>

using namespace std;

void main(){

   for(int i = 5; i<= 50; i+=5){
      cout<<i<<endl;
   }
}

 

2. 1단 ~ 9단 까지 구구단을 출력하세요

 

 

 

 

 

 

for loop를 이용하여 아래 와같이 별을 출력하세요.

 

3-1

 

더보기

2중 루프를 사용해야한다.

 

#include<stdio.h>

void main(){

    for(int i = 0 ; i < 5; i++){
       for(int k = 0 ; k <= i; k++){
          printf("*");
       }
       printf("\n");
    }
    fgetc(stdin);
}

 

 

 

3-2

 

 

3-3

 

 

 

 

 

특별문제

 

 

 

 

 

반응형

'개발생활 > C C++' 카테고리의 다른 글

Flow control [Conditional Statements]  (0) 2021.04.04
Loop- 2  (0) 2021.04.04
c/c++ Gitignore file  (0) 2021.03.30
Basic Input & output  (0) 2021.03.14
C/C++ Constant  (0) 2021.03.14
C/C++ Operators  (0) 2021.03.13

관련글 더보기