책 내용 질문하기
반복문 질문 ^^
도서
2018 시나공 정보처리기사 실기(산업기사 포함)
페이지
201
조회수
30
작성일
2018-09-17
작성자
탈퇴*원
첨부파일

200쪽 문제에서 순서도에서의 반복문은 이해가 되는데 C언어 코드에서 나오는 반복문 코드는 이해가

잘 안됩니다.

특히 C언어 코드의 반복문에서 증가 값 있잖아요 i++ 여기서 ++이것이 위치가

상황에 따라서 71쪽에서는 for문 예제에서는 ++i 으로 쓰이다가

또 여기서는 i++ 가 쓰이는데 이 ++ 위치에 관해서 설명해 주실 수 있나요?

답변
2018-09-17 20:02:10

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

선치 후치 수식에서 활용되는 ++의 경우 한 수식 내에서만 그 역할을 다 합니다.

for 반복문의 경우 3개의 수식으로 이루어져 있습니다.

for (①; ②; ③) 이렇게요.

즉, ③에서 단일로 이루어지는 ++의 경우 단순히 i = i + 1의 역할만을 수행합니다.

이것이 한 수식에서 활용되어 값이 달라지는 경우는 108쪽의 문제 2번이 대표적인 문제입니다.

int a = 12, b = 8, c = 2, d = 3;
a /= b++ - c * d;

위와 같은 수식을 수행할 때, 두 번째 줄을 풀이해보면,

a = a / (b++ - c * d);

a = 12 / (8++ - 2 * 3);

이 되죠.

저기서 b(8)뒤에 붙어서 후치수식을 하고 있는 ++의 경우 해당 수식의 연산이 모두 종료된 뒤에 b의 값을 하나 더하게 됩니다.

즉, 12 / (8 - 2 * 3); 을 계산하여 6을 a에 저장하고, 그 이후에 b에 1을 더하여 b는 9가 되는 원리입니다.

for문과 같이 단일로 ++ 또는 --가 쓰는 경우는 단순히 해당 변수에 1을 더하거나, 빼는 연산일 뿐입니다.

행복한 하루되세요.^^

  • *
    2018-09-17 20:02:10

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

    선치 후치 수식에서 활용되는 ++의 경우 한 수식 내에서만 그 역할을 다 합니다.

    for 반복문의 경우 3개의 수식으로 이루어져 있습니다.

    for (①; ②; ③) 이렇게요.

    즉, ③에서 단일로 이루어지는 ++의 경우 단순히 i = i + 1의 역할만을 수행합니다.

    이것이 한 수식에서 활용되어 값이 달라지는 경우는 108쪽의 문제 2번이 대표적인 문제입니다.

    int a = 12, b = 8, c = 2, d = 3;
    a /= b++ - c * d;

    위와 같은 수식을 수행할 때, 두 번째 줄을 풀이해보면,

    a = a / (b++ - c * d);

    a = 12 / (8++ - 2 * 3);

    이 되죠.

    저기서 b(8)뒤에 붙어서 후치수식을 하고 있는 ++의 경우 해당 수식의 연산이 모두 종료된 뒤에 b의 값을 하나 더하게 됩니다.

    즉, 12 / (8 - 2 * 3); 을 계산하여 6을 a에 저장하고, 그 이후에 b에 1을 더하여 b는 9가 되는 원리입니다.

    for문과 같이 단일로 ++ 또는 --가 쓰는 경우는 단순히 해당 변수에 1을 더하거나, 빼는 연산일 뿐입니다.

    행복한 하루되세요.^^

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