안녕하세요. 길벗 수험서 운영팀입니다.
1. 29번이 한 줄만 출력되는 이유
- for문의 가장 우측에 보시면 세미콜론(;)이 포함되었음을 보실 수 있습니다. 때문에 for문은 아래 하단의 출력문을 수행하지 않고, 자기 반복 및 연산만을 수행한 뒤 출력문으로 진행하게 됩니다. 만약 출력문이 반복되게 수행되려면 아래와 같이 수정하여야 합니다.
for(a = 0; a < 5; ++a, b -= a); System.out.printf("%d, %d\n", a ,b); |
↓ |
for(a = 0; a < 5; ++a, b -= a) System.out.printf("%d, %d\n", a ,b); |
2. 34번에서 “합은6 20입니다.”가 출력되지 않은 이유
for(초기값; 최종값; 증가값) 실행문장; |
- for문을 처음 수행할 때 초기값을 갖은 후 최종값과 비교한 후 실행문장을 수행합니다. 이 후 부터는 증가값을 적용한 후 최종값과 비교하여 조건이 맞는 경우까지 실행문장을 반복하여 수행합니다.
for(i = 1; i <= 5; ++i, hap += i) System.out.printf("합은%d %4d입니다.\n", i, hap); |
- 위의 for문에 적용해볼 경우 처음 초기값으로 “i = 1”을 갖고, 최종값인 “i <= 5”에 맞는지 확인한 후 아래 출력문을 수행합니다. 이후 증가값에 해당하는 “++i, hap += i”를 수행한 후 다시 최종값 “i <= 5”와 비교하여 아래 출력문의 수행을 반복하는 원리입니다.
- 증가값을 수행하여 i가 5, hap이 14일 때 최종값 “i <= 5”에 맞는지 확인 후 출력문을 수행하였습니다.
- 증가값을 수행하여 i가 6, hap이 20일 때 최종값 “i <= 5”에 맞는지 확인하였으나 최종값을 넘어 아래 출력문을 수행하지 못하고 다음 구문(종료)으로 넘어가게 됩니다.
** for문의 초기값, 최종값, 증가값의 수행 순서에 주의하세요.
행복한 하루되세요.^^
-
*2018-07-19 11:46:05
안녕하세요. 길벗 수험서 운영팀입니다.
1. 29번이 한 줄만 출력되는 이유
- for문의 가장 우측에 보시면 세미콜론(;)이 포함되었음을 보실 수 있습니다. 때문에 for문은 아래 하단의 출력문을 수행하지 않고, 자기 반복 및 연산만을 수행한 뒤 출력문으로 진행하게 됩니다. 만약 출력문이 반복되게 수행되려면 아래와 같이 수정하여야 합니다.
for(a = 0; a < 5; ++a, b -= a);
System.out.printf("%d, %d\n", a ,b);
↓
for(a = 0; a < 5; ++a, b -= a)
System.out.printf("%d, %d\n", a ,b);
2. 34번에서 “합은6 20입니다.”가 출력되지 않은 이유
for(초기값; 최종값; 증가값)
실행문장;
- for문을 처음 수행할 때 초기값을 갖은 후 최종값과 비교한 후 실행문장을 수행합니다. 이 후 부터는 증가값을 적용한 후 최종값과 비교하여 조건이 맞는 경우까지 실행문장을 반복하여 수행합니다.
for(i = 1; i <= 5; ++i, hap += i)
System.out.printf("합은%d %4d입니다.\n", i, hap);
- 위의 for문에 적용해볼 경우 처음 초기값으로 “i = 1”을 갖고, 최종값인 “i <= 5”에 맞는지 확인한 후 아래 출력문을 수행합니다. 이후 증가값에 해당하는 “++i, hap += i”를 수행한 후 다시 최종값 “i <= 5”와 비교하여 아래 출력문의 수행을 반복하는 원리입니다.
- 증가값을 수행하여 i가 5, hap이 14일 때 최종값 “i <= 5”에 맞는지 확인 후 출력문을 수행하였습니다.
- 증가값을 수행하여 i가 6, hap이 20일 때 최종값 “i <= 5”에 맞는지 확인하였으나 최종값을 넘어 아래 출력문을 수행하지 못하고 다음 구문(종료)으로 넘어가게 됩니다.
** for문의 초기값, 최종값, 증가값의 수행 순서에 주의하세요.
행복한 하루되세요.^^