첫 번째 블록
{
}
for
문은 다음과 같은 구조로 이루어집니다:
- 초기화: 반복을 시작하기 전에 변수를 초기화합니다.
- 조건: 각 반복 전에 조건을 평가하여 true이면 반복을 계속하고 false이면 종료합니다.
- 갱신: 각 반복이 끝날 때 변수의 값을 갱신합니다.
- 반복할 구문: 조건이 true일 때 실행할 코드 블록입니다.
두 번째 블록
{
int i;
for (i = 0; i < 10; ++i)
cout << i << endl;
}
i
변수를 선언합니다.
for
문은 i
를 0으로 초기화하고, i
가 10보다 작을 때까지 반복합니다.
i
를 출력하고, i
를 1씩 증가시킵니다.
- 결과적으로 0부터 9까지의 숫자가 출력됩니다.
세 번째 블록
{
int i;
for (i = 0; i; ++i)
cout << i << endl;
}
i
변수를 선언합니다.
for
문의 초기 조건에서 i
가 0이므로 조건이 처음부터 false가 되어 반복이 실행되지 않습니다.
- 따라서 이 블록에서는 아무 것도 출력되지 않습니다.
네 번째 블록
{
int i;
for (i = 10; i; --i)
cout << i << endl;
}
i
변수를 선언합니다.
for
문은 i
를 10으로 초기화하고, i
가 0보다 클 때까지 반복합니다.
i
를 출력하고, i
를 1씩 감소시킵니다.
- 결과적으로 10부터 1까지의 숫자가 출력됩니다.
다섯 번째 블록
{
}
for
문의 조건 부분을 생략하여 무한 루프를 만듭니다.
- 주석을 해제하면
i
가 계속 증가하면서 무한히 출력됩니다.
여섯 번째 블록
{
for (int i = 0; i < 10; i += 2)
cout << i << endl;
}
for
문 안에서 i
변수를 선언합니다.
i
를 0으로 초기화하고, i
가 10보다 작을 때까지 반복합니다.
i
를 출력하고, i
를 2씩 증가시킵니다.
- 결과적으로 0, 2, 4, 6, 8이 출력됩니다.
일곱 번째 블록
{
for (int i = 0, j = 0; i < 10 && j < 10; i += 1, j += 2)
{
cout << i << endl;
cout << j << endl;
}
}
for
문 안에서 i
와 j
두 변수를 동시에 선언하고 초기화합니다.
i
와 j
가 모두 10보다 작을 때까지 반복합니다.
i
를 1씩 증가시키고, j
를 2씩 증가시킵니다.
i
와 j
를 각각 출력합니다.
- 결과적으로
i
와 j
의 값이 번갈아 출력됩니다.
여덟 번째 블록
{
for (int i = 0; i < 10; ++i)
{
if (i % 3 == 0)
break;
if (i % 5 == 0)
break;
cout << i << endl;
}
}
for
문은 i
를 0으로 초기화하고, i
가 10보다 작을 때까지 반복합니다.
i
가 3의 배수이거나 5의 배수이면 break
문으로 반복을 종료합니다.
- 조건에 맞지 않으면
i
를 출력합니다.
i
가 0이므로 첫 번째 if
조건에서 break
가 실행되어 아무 것도 출력되지 않습니다.
아홉 번째 블록
{
for (int i = 0; i < 10; ++i)
{
if (i % 3 == 0)
continue;
cout << i << endl;
}
}
for
문은 i
를 0으로 초기화하고, i
가 10보다 작을 때까지 반복합니다.
i
가 3의 배수이면 continue
문으로 현재 반복을 건너뛰고 다음 반복을 시작합니다.
- 조건에 맞지 않으면
i
를 출력합니다.
- 결과적으로 3의 배수인 0, 3, 6, 9를 제외한 숫자가 출력됩니다.
열 번째 블록
{
int i;
for (i = 0; i < 10; ++i)
{
cout << i << endl;
if (i == 9)
break;
}
cout << " " << i << endl;
for (i = 0; i < 10; ++i)
{
cout << i << endl;
}
cout << " " << i << endl;
}
- 첫 번째
for
문은 i
를 0으로 초기화하고, i
가 10보다 작을 때까지 반복합니다.
i
를 출력하고, i
가 9이면 break
문으로 반복을 종료합니다.
- 첫 번째
for
문이 종료된 후 i
의 값은 9입니다.
- 두 번째
for
문은 i
를 0으로 초기화하고, i
가 10보다 작을 때까지 반복합니다.
i
를 출력하고, 두 번째 for
문이 종료된 후 i
의 값은 10입니다.
열한 번째 블록
{
for (;;)
{
cout << "Food" << endl;
cout << "1) Kimch" << endl;
cout << "2) BBQ" << endl;
cout << "3) Chicken" << endl;
int num;
cin >> num;
bool needToBreak = false;
switch (num)
{
case 1:
cout << "Kimch" << endl;
needToBreak = true;
break;
case 2:
cout << "BBQ" << endl;
needToBreak = true;
break;
case 3:
cout << "Chicken" << endl;
needToBreak = true;
break;
}
if (needToBreak)
break;
}
}
- 무한 루프를 실행합니다.
- 음식 메뉴를 출력하고, 사용자로부터 입력을 받습니다.
switch
문을 사용하여 입력된 num
에 따라 다른 메시지를 출력하고, needToBreak
를 true로 설정합니다.
needToBreak
가 true이면 for
문을 종료합니다.
switch
안의 break
는 for
문을 종료하지 않기 때문에 needToBreak
변수를 사용하여 for
문을 종료합니다.
열두 번째 블록
{
for (;;)
{
cout << "Food" << endl;
cout << "1) Kimch" << endl;
cout << "2) BBQ" << endl;
cout << "3) Chicken" << endl;
int num;
cin >> num;
switch (num)
{
case
1:
cout << "Kimch" << endl;
break;
case 2:
cout << "BBQ" << endl;
break;
case 3:
cout << "Chicken" << endl;
break;
default:
continue;
}
break;
}
}
- 무한 루프를 실행합니다.
- 음식 메뉴를 출력하고, 사용자로부터 입력을 받습니다.
switch
문을 사용하여 입력된 num
에 따라 다른 메시지를 출력합니다.
default
조건에서 continue
문을 사용하여 현재 반복을 건너뛰고 다음 반복을 시작합니다.
- 유효한 입력이 들어오면
break
문으로 for
문을 종료합니다.
열세 번째 블록
{
int num;
cin >> num;
int total = 1;
for (; num; num--)
{
total *= num;
}
cout << total << endl;
}
- 사용자로부터 정수
num
을 입력받습니다.
total
변수를 1로 초기화합니다.
for
문을 사용하여 num
이 0이 될 때까지 반복합니다.
- 각 반복에서
total
에 num
을 곱하고 num
을 1씩 감소시킵니다.
- 최종적으로
total
에는 num
의 팩토리얼 값이 저장되어 출력됩니다.
열네 번째 블록
{
for (char ch = 'a'; ch <= 'z'; ++ch)
{
cout << ch << endl;
}
}
for
문 안에서 ch
변수를 선언하고 'a'로 초기화합니다.
ch
가 'z'보다 작거나 같을 때까지 반복합니다.
- 각 반복에서
ch
를 출력하고, ch
를 1씩 증가시킵니다.
- 결과적으로 'a'부터 'z'까지의 모든 소문자 알파벳이 출력됩니다.
열다섯 번째 블록
{
int num;
cin >> num;
if (num < 2)
{
cout << num << endl;
}
else
{
int prevValue = 0;
int currValue = 1;
for (int i = 0; i < num - 1; ++i)
{
int nextValue = prevValue + currValue;
prevValue = currValue;
currValue = nextValue;
}
cout << currValue << endl;
}
}
- 사용자로부터 정수
num
을 입력받습니다.
num
이 2보다 작으면 num
을 출력합니다.
- 그렇지 않으면 피보나치 수열을 계산합니다.
prevValue
를 0으로, currValue
를 1로 초기화합니다.
for
문을 사용하여 num - 1
번 반복합니다.
- 각 반복에서 다음 피보나치 수를 계산하고,
prevValue
와 currValue
를 갱신합니다.
- 최종적으로
currValue
에는 num
번째 피보나치 수가 저장되어 출력됩니다.