책 내용 질문하기
2018정보처리기사실기 120페이지 문제34 질문
도서
2018 시나공 정보처리기사 실기(산업기사 포함)
페이지
647
조회수
1819
작성일
2019-03-08
작성자
탈퇴*원
첨부파일

public class Problem {

public static void main (String[] args) {

int i = 0, hap = 0;

for ( i =1; i <=5 ; ++i, hap += i)

System.out.printf("합은%d %4d입니다\n.", i, hap);

}

}

정답) 합은1  0입니다.

합은2  2입니다.

합은3  5입니다.

합은4  9입니다.

합은5  14입니다.

 

--------------------

 

출력을 반복하는 반복문 문제입니다. 반복문의 식3번이 콤마로 ++i, hap +=i 두개로 되어있고 순서대로 하는건 알겠는데

 

출력시에 첫번째로 합은2  2입니다. 가 아니라

합은1  0입니다. 가 왜 출력되는지 궁금합니다.

답변
2019-03-11 10:38:54

안녕하세요 길벗수험서 운영팀입니다.

 

for문의 작동 순서를 혼동하신 것 같습니다.

 

for(; ; ) {

;

}

 

위의 for문이 3회 반복한다고 가정했을 때, 순서는

1: , (조건 참),

2: , (조건 참),

3: , (조건 참),

4: , (조건 거짓) <탈출>

입니다.

 

이것의 위의 반복문에 적용한다고 가정하면,

 

1회 : i는 1이 되고, i<=5를 판별한 뒤(참), 출력을 수행합니다. "합은1  0입니다."

2회 : i는 2, 합은 2가 되고, i<=5를 판별한 뒤(참), 출력을 수행합니다. "합은2   2입니다."

 

for문의 작동순서를 다시 한 번 확인해보시고, 코드를 따라가 보세요.


행복한 하루되세요 :)

  • 관리자
    2019-03-11 10:38:54

    안녕하세요 길벗수험서 운영팀입니다.

     

    for문의 작동 순서를 혼동하신 것 같습니다.

     

    for(; ; ) {

    ;

    }

     

    위의 for문이 3회 반복한다고 가정했을 때, 순서는

    1: , (조건 참),

    2: , (조건 참),

    3: , (조건 참),

    4: , (조건 거짓) <탈출>

    입니다.

     

    이것의 위의 반복문에 적용한다고 가정하면,

     

    1회 : i는 1이 되고, i<=5를 판별한 뒤(참), 출력을 수행합니다. "합은1  0입니다."

    2회 : i는 2, 합은 2가 되고, i<=5를 판별한 뒤(참), 출력을 수행합니다. "합은2   2입니다."

     

    for문의 작동순서를 다시 한 번 확인해보시고, 코드를 따라가 보세요.


    행복한 하루되세요 :)

· 5MB 이하의 zip, 문서, 이미지 파일만 가능합니다.
· 폭언, 욕설, 비방 등은 관리자에 의해 경고없이 삭제됩니다.