(CS50)-프로그래밍 기초(반복문)

CS50 x edwith 강의를 들으며 정리한 공부 포스팅입니다.

핵심 개념

  • 반복문
  • for 반복
  • while 반복
  • 무한 반복
  • do-while 반복

반복문

  • 동일한 코드를 여러 번 반복
  • 반복되는 코드를 수정할 때, 단 한번만 수정하면 되기 때문에 코드의 가시성이 높아짐

for 문

for(int i = 0; i<10; i++)
{
    printf("hello!\n");
}

(코드 1)

  • 첫 부분은 초기식
    • ‘i’라는 변수를 만들어 0 값을 저장
  • 두 번째는 조건식
    • i < 10의 조건이 참이면, 중괄호 안의 코드는 계속 반복.
    • 조건이 거짓이 되는 순간, 반복문 종료
  • 세 번째는 증감식
    • i의 값을 1만큼 증가시킴.
    • 이 코드는 반복문 중괄호 내부의 코드가 실행된 이후에 실행.
for (int j=0; j<10; j++)
{
    printf("%d\n", j);
}

(코드 2)

  • 증감식을 이용하여 중괄호 안의 코드들이 반복될 때마다 매번 조금 다른 일을 하도록 할수 있음.
    • 코드 2에서 처음에는 j에 0이 저장되어 0이 출력됨.
    • 그 뒤 j가 1만큼 증가하여 1이 출력됨
    • 이렇게 j가 10보다 작다는 조건이 만족하는 동안 계속 됨.
    • 최종적으로 코드 2의 결과로 0부터 9까지의 각 숫자가 한 줄씩 출력됨.

while 문

  • 특정한 조건을 만족하는 동안 실행되는 반복문
int k = 0;
while(k<10)
{
    printf("%d\n",k);
    k++;
}

(코드 3)

  • 이 과정은 조건이 거짓이 될 때까지 반복.
  • 코드 3은 0부터 9까지의 숫자를 출력하며 코드 2와 동일한 결과를 출력.

무한반복

  • 만약 while문의 조건이 항상 참이면 무한반복이 되는데 코드 4는 그 예이다.
while(1)
{
    printf("hello!\n");
}

(코드 4)

do-while 문

  • while문과 비슷하나 조건에 상관없이 항상 최소 한 번은 실행한 후 조건을 확인한다.
int j;
printf("Positive Number: ");
do
{
    scanf("%d", &j);
}
while(j<=0);

(코드 5)

  • 조건과 상관없이 5행의 코드를 실행 후, 7행에 와서 조건을 확인

  • 조건이 만족되면 다시 반복, 만족되지 않으면 반복문을 실행하지 않는다.

  • do-while문은 사용자의 입력값을 필요로 할 때 유용.

  • 코드 5는 사용자가 정수를 입력할 수 있는데, 사용자가 양수를 입력할 때 까지

    입력창이 계속 뜨는 프로그램

Comments