책 내용 질문하기
1권 125p 문제34번
도서
2019 시나공 정보처리기사 실기(산업기사포함)
페이지
125
조회수
930
작성일
2019-03-16
작성자
탈퇴*원
첨부파일
for(i=1 ; i<=5 ; ++i, hap+=i) 이 포문에서 증가값 식 자리에 있는 ++i와 hap+=i를 순서대로 수행하라고 되어있는데 왜 초반디버깅에 i는 1일때 hap이 0 인지 모르겠습니다ㅜㅜ.. i가 1이 된후니까 hap도 1이 돼야하는거 아닌가요 ? 앞쪽 121p 문제 25번과 유사한거같은데 문제25번은 i에 0이라는 초기값을 또 주지않아서요 차이를 모르겠습니다...
답변
2019-03-18 13:33:22

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

 

먼저 for문의 순서를 정확히 알아두세요.

 

for(; ; ) {

;

}

 

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

1: , (조건 참),

2: , (조건 참),

3: , (조건 참),

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

입니다.

 

 

처음 초기값①이 주어질 때는 내부 코드④를 수행하고 난 뒤 증가값③을 수행하므로, 처음 반복문 회전 시 i는 1, hap은 0이 됩니다.

 

 

121p의 25번 문제는 전혀 다른 문제입니다.

for문의 내부 코드를 구분할 때 중괄호{}가 있다면 중괄호 내의 코드가 되겠지만,

중괄호{}가 존재하지 않는다면 세미콜론;이 기준이 됩니다.

 

25번의 for문은 내부코드가 존재 하지 않고 혼자 반복 후, 반복이 종료된 다음 출력문을 실행하는 형태이기 때문에 34번과 비교하기에는 문제가 있습니다.

 

행복한 하루되세요 :)

  • 관리자
    2019-03-18 13:33:22

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

     

    먼저 for문의 순서를 정확히 알아두세요.

     

    for(; ; ) {

    ;

    }

     

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

    1: , (조건 참),

    2: , (조건 참),

    3: , (조건 참),

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

    입니다.

     

     

    처음 초기값①이 주어질 때는 내부 코드④를 수행하고 난 뒤 증가값③을 수행하므로, 처음 반복문 회전 시 i는 1, hap은 0이 됩니다.

     

     

    121p의 25번 문제는 전혀 다른 문제입니다.

    for문의 내부 코드를 구분할 때 중괄호{}가 있다면 중괄호 내의 코드가 되겠지만,

    중괄호{}가 존재하지 않는다면 세미콜론;이 기준이 됩니다.

     

    25번의 for문은 내부코드가 존재 하지 않고 혼자 반복 후, 반복이 종료된 다음 출력문을 실행하는 형태이기 때문에 34번과 비교하기에는 문제가 있습니다.

     

    행복한 하루되세요 :)

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