책 내용 질문하기
p.351
도서
2025 시나공 퀵이지 정보처리기사 실기 단기완성
페이지
351
조회수
49
작성일
2024-10-07
작성자
유*찬
첨부파일

문제 36번에서 이중포문이 실행되어있잖아요

예를 들어서 밑에있는 포문 for ( i=4; i>j; --i) 이 부분에서

밑에있는 num [j] += num [i] ,


두번째 포문에 초기식 조건식 증감식이 있는데 --i 는 전치 연산자라 들어가면서 계산전에 i를 3으로 깎고 시작해야하는것 아니였나요 ? 토막강의를 보니 계산을 다 끝내고 와서 i를 감소 시키시더라구요 ㅜㅜ


계산을 끝내고 i를 감소시키던 그 두번쨰 포문을 빠져나갈때 후치로 나중에 3을 감소하던

전치 , 후치가 결과적으로는 첫번쨰 포문에 영향을 못미치는데, ( 두번째 포문에도 영향을 못미침) 제가 전치와 후치에대해 무언가 잘못 알고 있는건가요 ?


자세하게 다시 말씀드리자면

전치는 계산들어가기전 (4 / 조건식 / --i) 일 경우 3으로 깍고 시작하는줄 알았습니다.

후치가 계산을 4로 하고 돌아와서 for문을 빠져나가면서 3으로 감소시키는 것으로 알앗는데요 어디를 잘못알고 있는건가요 ?


답변
2024-10-08 20:05:19

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

i가 전치 연산자이므로 먼저 계산되어야 한다고 생각하시는 분들이 있으나,

전치/후치 연산이 먼저 또는 나중에 수행되는 것은 '식'을 기준으로 합니다.

식은 세미콜론; 또는 쉼표, 로 구분되며 for문은 일반적으로 3개의 식으로 구성됩니다.

for ( 식1; 식2; 식3 )


회원님께서 질문하신 for ( i=4; i>j; --i) 식에서 --i은 쉼표로 구분된 단일 식으로,

식 수행 전에 수행하든, 식 수행 후에 수행하든 단일식 이기 때문에 1이 그냥 감소되어 결과는 동일합니다.

즉, 이 --i은 i--로 교체되든, i=i-1 또는 i-=1로 교체되든 결과에 어떠한 영향도 주지 못한다는 것입니다.


또, for문의 경우 강의에서 설명을 드린것처럼

for( 초기값, 최종값, 증가값) 이 있을때

for문을 처음 만나면 초기값을 가지고 최종값을 비교한 후 반복하러 안쪽 코드로 들어가고

두번째 반복하러 올라가면 증가값만큼 값을 증감시킨후 최종값을 비교합니다


행복한 하루되세요 :)


  • 관리자
    2024-10-08 20:05:19

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

    i가 전치 연산자이므로 먼저 계산되어야 한다고 생각하시는 분들이 있으나,

    전치/후치 연산이 먼저 또는 나중에 수행되는 것은 '식'을 기준으로 합니다.

    식은 세미콜론; 또는 쉼표, 로 구분되며 for문은 일반적으로 3개의 식으로 구성됩니다.

    for ( 식1; 식2; 식3 )


    회원님께서 질문하신 for ( i=4; i>j; --i) 식에서 --i은 쉼표로 구분된 단일 식으로,

    식 수행 전에 수행하든, 식 수행 후에 수행하든 단일식 이기 때문에 1이 그냥 감소되어 결과는 동일합니다.

    즉, 이 --i은 i--로 교체되든, i=i-1 또는 i-=1로 교체되든 결과에 어떠한 영향도 주지 못한다는 것입니다.


    또, for문의 경우 강의에서 설명을 드린것처럼

    for( 초기값, 최종값, 증가값) 이 있을때

    for문을 처음 만나면 초기값을 가지고 최종값을 비교한 후 반복하러 안쪽 코드로 들어가고

    두번째 반복하러 올라가면 증가값만큼 값을 증감시킨후 최종값을 비교합니다


    행복한 하루되세요 :)


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