책 내용 질문하기
18년도 1회차 기사 기출 문제5번
도서
2018 시나공 정보처리기사 실기(산업기사 포함)
페이지
조회수
92
작성일
2018-10-04
작성자
탈퇴*원
첨부파일

파생문제 4번 답이 top-이던데 -top는 왜 안되죠

해당 실행문에서는 전치 후치의 개념이 적용이 안된다고 봤는데

구분을 하는건가요??

답변
2018-10-05 09:54:20

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

변수의 앞이나 뒤에서 수식하는 선치수식, 후치수식은 '한 수식 내에서' 사용하는 경우 어디에 있어도 동일한 결과를 출력합니다.

예를 들어,

1. for (int i=0; i<10; i++)

2. i++

위의 두 경우는 후치수식으로 사용되었으나 전치수식인 ++i를 써도 결과가 달라지지 않습니다. ++이나 -- 만으로 수식이 종료되기 때문입니다.

1번의 for문의 경우 'for 반복문'이라는 하나의 수식이지만 정확히는 초기값(int i=0), 조건문(i<10), 증가값(i++)으로 나누어져 '증가값'이 하나의 단일 수식으로 취급되기 때문에, 전치 후치 수식 중 어떤 것이 들어가도 같은 결과가 나옵니다.

이에 반해

1. a = 3 + b--

2. function(a++)

3. return(--b)

위의 세 경우는 전치, 후치수식의 영향을 받는 구문입니다.

1번의 경우 b의 후치수식으로 종료되는 수식이 아닌 이후 연산이 있습니다. 3에 b값을 더한 후 b를 1을 빼야 하죠.

2번의 경우 또한 a를 1 더하는 것에서 끝나는 것이 아닌 사용자정의함수 function을 호출해야 합니다. function(a)를 호출 한 후 a에 1을 더해야 하죠.

3번의 경우 b에서 1을 빼는 것에서 끝나는 것이 아닌 상위 프로세스로 반환해야 합니다. b에서 1을 뺀 후에 return으로 반환해야 하죠.

행복한 하루되세요.^^

  • *
    2018-10-05 09:54:20

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

    변수의 앞이나 뒤에서 수식하는 선치수식, 후치수식은 '한 수식 내에서' 사용하는 경우 어디에 있어도 동일한 결과를 출력합니다.

    예를 들어,

    1. for (int i=0; i<10; i++)

    2. i++

    위의 두 경우는 후치수식으로 사용되었으나 전치수식인 ++i를 써도 결과가 달라지지 않습니다. ++이나 -- 만으로 수식이 종료되기 때문입니다.

    1번의 for문의 경우 'for 반복문'이라는 하나의 수식이지만 정확히는 초기값(int i=0), 조건문(i<10), 증가값(i++)으로 나누어져 '증가값'이 하나의 단일 수식으로 취급되기 때문에, 전치 후치 수식 중 어떤 것이 들어가도 같은 결과가 나옵니다.

    이에 반해

    1. a = 3 + b--

    2. function(a++)

    3. return(--b)

    위의 세 경우는 전치, 후치수식의 영향을 받는 구문입니다.

    1번의 경우 b의 후치수식으로 종료되는 수식이 아닌 이후 연산이 있습니다. 3에 b값을 더한 후 b를 1을 빼야 하죠.

    2번의 경우 또한 a를 1 더하는 것에서 끝나는 것이 아닌 사용자정의함수 function을 호출해야 합니다. function(a)를 호출 한 후 a에 1을 더해야 하죠.

    3번의 경우 b에서 1을 빼는 것에서 끝나는 것이 아닌 상위 프로세스로 반환해야 합니다. b에서 1을 뺀 후에 return으로 반환해야 하죠.

    행복한 하루되세요.^^

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