책 내용 질문하기
125페이지 34번 질문이요
도서
2019 시나공 정보처리기사 실기(산업기사포함)
페이지
125
조회수
127
작성일
2019-09-14
작성자
탈퇴*원
첨부파일

 

 

for(식1;식2;식3;) 이렇게 있으면 식3에 ,가 두개가 붙어있으면 식3을 먼저 수행하고 식2를 수행하는거자나요.

 

즉,  ++i , hap += i 인데요.

 

i를 1증가 시키고 hap에다가 hap = hap + i 를 하는데 왜 첫번째 디버깅을 할때 hap이 1이아닌 0이 나오는거죠??

 

 

 

번외로, 식1에잇는 i = 1 같은경우는 어떨때 쓰나요?

답변
2019-09-16 10:55:47

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

 

일반적으로 디버깅표를 작성하는 것은 단순한 변수값 변화의 나열에 지나지 않습니다.

 

다만 순서도마다 조금 달라질 수 있는 것은 이해를 돕기 위해 순서도나 코드 내의 반복문이 있다면 해당 반복문의 회전수에 맞춰서 열을 맞춰준다거나 하는 것이 있겠죠.

또한 변수에 값을 치환하는 프로세스가 존재하는 경우 이를 적는 경우도 적지 않게 있을 수 있습니다.

 

이를 고려해서 디버깅표를 대조해보세요.

 

초기값으로 i, hap은 0을 갖습니다.

 

for문으로 진입시 식1, 식2만을 탐색합니다.

즉, i에 1이 저장되고, i<=5 조건이 참인 것 만을 확인한 후 출력문을 수행하므로

i=1, hap=0이 출력됩니다.

 

이 다음부터 for문에서는 식3, 식2를 탐색합니다.

i는 2가 되고, hap은 이 때 처음 i를 더해 2가 됩니다.

 

for문의 작동 순서를 정확히 파악해두세요.

 

for(; ; ) {

   ④;

}

 

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

1: , (조건 참),

2: , (조건 참),

3: , (조건 참),

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

입니다.

 

행복한 하루되세요 :)

  • 관리자
    2019-09-16 10:55:47

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

     

    일반적으로 디버깅표를 작성하는 것은 단순한 변수값 변화의 나열에 지나지 않습니다.

     

    다만 순서도마다 조금 달라질 수 있는 것은 이해를 돕기 위해 순서도나 코드 내의 반복문이 있다면 해당 반복문의 회전수에 맞춰서 열을 맞춰준다거나 하는 것이 있겠죠.

    또한 변수에 값을 치환하는 프로세스가 존재하는 경우 이를 적는 경우도 적지 않게 있을 수 있습니다.

     

    이를 고려해서 디버깅표를 대조해보세요.

     

    초기값으로 i, hap은 0을 갖습니다.

     

    for문으로 진입시 식1, 식2만을 탐색합니다.

    즉, i에 1이 저장되고, i<=5 조건이 참인 것 만을 확인한 후 출력문을 수행하므로

    i=1, hap=0이 출력됩니다.

     

    이 다음부터 for문에서는 식3, 식2를 탐색합니다.

    i는 2가 되고, hap은 이 때 처음 i를 더해 2가 됩니다.

     

    for문의 작동 순서를 정확히 파악해두세요.

     

    for(; ; ) {

       ④;

    }

     

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

    1: , (조건 참),

    2: , (조건 참),

    3: , (조건 참),

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

    입니다.

     

    행복한 하루되세요 :)

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