책 내용 질문하기
정보처리기사 실기 125페이지 25번 질문 드립니다.
도서
2019 시나공 정보처리기사 실기(산업기사포함)
페이지
125
조회수
411
작성일
2019-03-25
작성자
탈퇴*원
첨부파일

프로그램을 실행시키면 for문에서 i=1가 초기값이어서 hap+=i 이 실행되어서 처음 i와 hap값이 i=1 hap=1이 아니고 왜 hap이 0인지 궁금합니다.

 

또 가운데 식2인 i++, ++i 두 가지 조건 경우에 따라서 때에 따라 어떻게 구해야하는지도 궁금합니다. 

답변
2019-03-25 14:17:54

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

 

..125페이지의 34번과

121페이지의 25번 중 어떤 것을 물어보시는지 정확히 알 수 없습니다.

 

질문의 의도로 보아 34번 문제를 물어보시는 것 같아 이에 답변드리겠습니다.

 

for(; ; ) { 

   ④;

}

 

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

1: , (조건 참),

2: , (조건 참),

3: , (조건 참),

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

입니다.

 

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

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


위 코드에서 처음 출력되는 i, hap은 증가식인 ++i, hap += i가 수행되지 않고 출력되므로 초기값인 0이 찍히게 되는 것입니다.

 

 

또한 단일 식으로 쓰이는 ++i와 i++은 단순히 i = i + 1과 동일합니다.

++i와 i++가 구분되어 적용되는 경우는 교재 117쪽의 문제 13번과 같이 복합식 내에서 적용되는 경우입니다. 

 

행복한 하루되세요 :)

  • 관리자
    2019-03-25 14:17:54

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

     

    ..125페이지의 34번과

    121페이지의 25번 중 어떤 것을 물어보시는지 정확히 알 수 없습니다.

     

    질문의 의도로 보아 34번 문제를 물어보시는 것 같아 이에 답변드리겠습니다.

     

    for(; ; ) { 

       ④;

    }

     

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

    1: , (조건 참),

    2: , (조건 참),

    3: , (조건 참),

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

    입니다.

     

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

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


    위 코드에서 처음 출력되는 i, hap은 증가식인 ++i, hap += i가 수행되지 않고 출력되므로 초기값인 0이 찍히게 되는 것입니다.

     

     

    또한 단일 식으로 쓰이는 ++i와 i++은 단순히 i = i + 1과 동일합니다.

    ++i와 i++가 구분되어 적용되는 경우는 교재 117쪽의 문제 13번과 같이 복합식 내에서 적용되는 경우입니다. 

     

    행복한 하루되세요 :)

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