책 내용 질문하기
1권 120쪽ㅊ문제 34
도서
2018 시나공 정보처리기사 실기(산업기사 포함)
페이지
120
조회수
97
작성일
2018-09-17
작성자
탈퇴*원
첨부파일

디버깅에서

i가 0 hap 0

i가 1 이면 hap은 1아닌가요 ? 왜 0이지요 ?

답변
2018-09-18 09:52:25

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

반복문 for문의 작업 순서를 알고 계셔야 이해할 수 있는 문제입니다.

for(①; ②; ③) {

④;

}

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

1회 : ①, ②(조건 참), ④, ③

2회 : ②(조건 참), ④, ③

3회 : ②(조건 참), ④, ③

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

이것을 34번 문제에 적용한다고 가정했을 때,

①은 i=1, ②는 i<=5 ③은 ++i와 hap+=i, ④는 System.out.printf("합은%d %4d입니다.\n", i, hap); 입니다.

1. i에 1을 저장합니다.(초기값 적용)

2. i<=5를 비교합니다.(종료값 비교 후 조건이 맞으므로)

3. i, hap을 출력합니다.(반복문 수행)

4. ++i, hap+=i를 수행합니다.(증가값 적용)

5. 2~4번 과정을 반복합니다.(종료값 비교 후 조건이 맞는 동안 반복문 수행)

위와 같이 for문이 수행되면, 처음 for문을 수행할 때 출력되는 값은

“합은1 0입니다.”가 됩니다.

행복한 하루되세요.^^

  • *
    2018-09-18 09:52:25

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

    반복문 for문의 작업 순서를 알고 계셔야 이해할 수 있는 문제입니다.

    for(①; ②; ③) {

    ④;

    }

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

    1회 : ①, ②(조건 참), ④, ③

    2회 : ②(조건 참), ④, ③

    3회 : ②(조건 참), ④, ③

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

    이것을 34번 문제에 적용한다고 가정했을 때,

    ①은 i=1, ②는 i<=5 ③은 ++i와 hap+=i, ④는 System.out.printf("합은%d %4d입니다.\n", i, hap); 입니다.

    1. i에 1을 저장합니다.(초기값 적용)

    2. i<=5를 비교합니다.(종료값 비교 후 조건이 맞으므로)

    3. i, hap을 출력합니다.(반복문 수행)

    4. ++i, hap+=i를 수행합니다.(증가값 적용)

    5. 2~4번 과정을 반복합니다.(종료값 비교 후 조건이 맞는 동안 반복문 수행)

    위와 같이 for문이 수행되면, 처음 for문을 수행할 때 출력되는 값은

    “합은1 0입니다.”가 됩니다.

    행복한 하루되세요.^^

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