Review

KOSTA 교육 3일차(while, do~while, for, break, continue)

Tigger 2020. 6. 20. 20:43

18.10.31(수)

 

배운 내용

 

  1. while
  2. do ~ while
  3. for
  4. break
  5. continue

1. while

반복문의 한 종류로서 보통 조건에 따라 반복할 때 사용한다.

  • 조건이 true일 경우에 계속 반복
  • 여기서 false가 출력되면 정지하게 된다.
  • 초기식 -> 조건식 -> 명령문 -> 증감식 순이고 수직으로 나타낸다.

  • 1을 변수 값으로 실행하고 while문을 이용하여 11보다 작다고 하였을 때
  • num을 출력하고 true일시 1을 추가해준다.
  • num이 11이 되면 거짓이 되므로 정지하게 되어 while문 밖으로 나가 Done을 출력하게 된다.

 

  • num이 10보다 작거나 같을 때 만족한다면 sum += num과 이후 num에 1을 추가한다.
  • 반복하여 11이 되었을 경우 false로서 밖으로 나와 합 55가 나온다.

 

  • while(true)는 특정 조건을 만족할 때까지 계속 반복한다.
  • a, b 값을 입력한 후 b가 a보다 컸을 때 break를 통해 벗어나게 된다.
  • 그에 맞는 값이 출력된다.

2. do ~ while

while과 마찬가지로 반복문의 한 종류로서 보통 조건에 따라 반복할 때 사용한다.

  • 조건이 true일 경우에 계속 반복
  • 여기서 false가 출력되면 정지하게 된다.
  • 무조건 한 번은 실행하는 특징이 있다.(명령문을 실행 후 조건을 비교하기 때문)

  • do 명령문에서 true가 나오면 다시 돌아가고 false가 나오면 돌아가는데 n은 양수가 되어야 false가 되기 때문에 10으로 실행했다 가정하자
  • 각 변수를 실행 후 while문 i가 10보다 작아야 반복을 하기 때문에 10까지 반복을 하게 된다.
  • 이 때 반복은 while문 내의 sum += i와 i++에 적용되어 11이 되는 순간 false가 되어 밖으로 나와 값은 “10까지 합 : 55” 가 된다.

3. for

while과 마찬가지로 반복문의 한 종류로서 보통 조건에 따라 반복할 때 사용한다.

  • 초기식 -> 조건식 -> 명령문 -> 증감식 순이며 수평으로 나타낸다.
  • 중복되는 코드를 많이 생략할 수 있다.

  • for(초기값; 종료여부; 증감값) 으로 작성한다.
  • 1부터 10까지 합을 구하기 위해 sum 변수 실행과 i 변수를 설정한다.
  • i는 1이고 10보다 같거나 작으며 sum += i;가 true일 시 i++를 반복한다.
  • 반복 중 10보다 커지면 반복을 종료하고 10까지의 합을 출력한다.
    값은 55이다.

 

  • i가 2부터 시작해 true이므로 i를 출력하고 내부 for문으로 이동하여
    j를 반복한다.
  • j가 9가 되고 false가 된 후 다시 외부 for문 i++로 반복하여 3으로 다시 반복을 시작한다.
  • 결국 외부 for문이 10이 되면 거짓이 되므로 반복은 끝이난다.
    값은 2~9 * 1~9 = i*j가 된다.

 

  • for문 대표 예시로서 별을 수직으로 1개씩 증가하며 총 5회 실행시킨다.
  • i가 1이 참이므로 내부 for로 반복하여 j가 i보다 작거나 같을때 까지 반복한다. 그 이유는 *을 출력하기 위해선 true가 되어야 반복하기 때문이다.
  • 여기선 i와 j가 1이고 1회 반복한 후 j가 더 커지기 때문에 외부 for문으로 다시 반복한다.
  • i가 2도 참이므로 내부 for문에서 2번 반복을 하기 때문에 *이 2번 출력된다.
  • 외부 for문이 총 5회 반복되고 내부 포문은 반복 될 수록 값이 커져 5회까지 반복하기 때문에 위의 주석과 같은 값이 출력된다.

4. break

반복문을 벗어나는데 사용한다.

 

  • switch문에서 case 1~3에 위치한 break는
    while문에서 1~3을 입력했을 때 반복되어 switch문으로 이동한다.
  • 이동 후 case 1~3에서 break되어서 다시 while문으로 돌아간다.

5. continue

반복 continue 부터 문장을 생략하고 다시 반복을 한다.

  • 특정 조건을 만족하면 다시 반복문을 실행한다.

  • i가 1로 실행, 10보다 같거나 작아야한다.
  • if문에서 i를 2로 나눴을 때 나머지가 0이면 continue이후는 무시하고 다시 반복문을 수행한다.
  • 그래서 나머지 0인 값들을 무시하고 홀수만 남게 되어 i가 출력 시
    홀수만 남게 된다.

오늘 교육 간 느낀점

난이도가 가면 갈수록 올라간다. 개념도 개념대로 어렵지만 수학적인 능력을 더해서 변수와 조건문을 만드는게 사실 현재의 나로서는 너무 고통스럽고 힘들다. 무엇이든 처음배우면 어렵다. 하지만 끝까지 노력해서 결국은 동일선상 더 나아가 앞서나가는 사람이 되도록 노력해야겠다. 내일도 화이팅!