책 내용 질문하기
JABA언어-For문
도서
2017 시나공 정보처리기사 실기(산업기사 포함) 특별개정판
페이지
109
조회수
120
작성일
2017-09-06
작성자
탈퇴*원

1) int a, hap=0;

for(a=0; a<10; ++a, hap+=a)

2) int i, hap=0;

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

풀이과정 한번 봐주세요. 저의 생각이랑 답지랑 너무 다르네요!

답변
2017-09-07 09:29:58

안녕하세요.

int a, hap=0;

for(a=0; a<10; ++a, hap+=a);

for(a=0; a<10; ++a, hap+=a);

----- ------- -----------------

초기값 종료값 증가값

a는 초기값 0을 가지고 반복문을 진입합니다.

처리할 문장이 없으므로 증가값을 적용합니다.

증가값은 콤마(,) 연산자를 2개의 식이 나열되었으므로 순차적으로 2개의 식을 수행합니다.

먼저 ++a에 의해 a는 1이 되고, 이어서 hap += a에 의해 hap은 1이 됩니다.

종료값을 비교합니다. a가 아직 10보다 작으므로 반복문을 반복합니다.

처리할 문장이 없으므로 증가값을 적용합니다.

증가값 ++a에 의해 a는 2가 되고, 이어서 hap += a에 의해 hap은 3이 됩니다.

종료값을 비교합니다. a가 아직 10보다 작으므로 반복문을 반복합니다.

처리할 문장이 없으므로 증가값을 적용합니다.

증가값 ++a에 의해 a는 3이 되고, 이어서 hap += a에 의해 hap은 6이 됩니다.

종료값을 비교합니다. a가 아직 10보다 작으므로 반복문을 반복합니다.

처리할 문장이 없으므로 증가값을 적용합니다.

증가값 ++a에 의해 a는 4가 되고, 이어서 hap += a에 의해 hap은 10이 됩니다.

종료값을 비교합니다. a가 아직 10보다 작으므로 반복문을 반복합니다.

처리할 문장이 없으므로 증가값을 적용합니다.

증가값 ++a에 의해 a는 5가 되고, 이어서 hap += a에 의해 hap은 15가 됩니다.

종료값을 비교합니다. a가 아직 10보다 작으므로 반복문을 반복합니다.

처리할 문장이 없으므로 증가값을 적용합니다.

증가값 ++a에 의해 a는 6이 되고, 이어서 hap += a에 의해 hap은 21이 됩니다.

종료값을 비교합니다. a가 아직 10보다 작으므로 반복문을 반복합니다.

처리할 문장이 없으므로 증가값을 적용합니다.

증가값 ++a에 의해 a는 7이 되고, 이어서 hap += a에 의해 hap은 28이 됩니다.

종료값을 비교합니다. a가 아직 10보다 작으므로 반복문을 반복합니다.

처리할 문장이 없으므로 증가값을 적용합니다.

증가값 ++a에 의해 a는 8이 되고, 이어서 hap += a에 의해 hap은 36이 됩니다.

종료값을 비교합니다. a가 아직 10보다 작으므로 반복문을 반복합니다.

처리할 문장이 없으므로 증가값을 적용합니다.

증가값 ++a에 의해 a는 9가 되고, 이어서 hap += a에 의해 hap은 45가 됩니다.

종료값을 비교합니다. a가 아직 10보다 작으므로 반복문을 반복합니다.

처리할 문장이 없으므로 증가값을 적용합니다.

증가값 ++a에 의해 a는 10이 되고, 이어서 hap += a에 의해 hap은 55가 됩니다.

종료값을 비교합니다. a가 10과 같으므로, 즉 작지 않으므로 이제 반복문을 빠져나옵니다.

2번째 질문 내용도 위의 내용과 같이 증가값과 종료값의 관계를 살피면서 수행해 보세요.

오늘도 즐거운 하루 되세요.

  • *
    2017-09-07 09:29:58

    안녕하세요.

    int a, hap=0;

    for(a=0; a<10; ++a, hap+=a);

    for(a=0; a<10; ++a, hap+=a);

    ----- ------- -----------------

    초기값 종료값 증가값

    a는 초기값 0을 가지고 반복문을 진입합니다.

    처리할 문장이 없으므로 증가값을 적용합니다.

    증가값은 콤마(,) 연산자를 2개의 식이 나열되었으므로 순차적으로 2개의 식을 수행합니다.

    먼저 ++a에 의해 a는 1이 되고, 이어서 hap += a에 의해 hap은 1이 됩니다.

    종료값을 비교합니다. a가 아직 10보다 작으므로 반복문을 반복합니다.

    처리할 문장이 없으므로 증가값을 적용합니다.

    증가값 ++a에 의해 a는 2가 되고, 이어서 hap += a에 의해 hap은 3이 됩니다.

    종료값을 비교합니다. a가 아직 10보다 작으므로 반복문을 반복합니다.

    처리할 문장이 없으므로 증가값을 적용합니다.

    증가값 ++a에 의해 a는 3이 되고, 이어서 hap += a에 의해 hap은 6이 됩니다.

    종료값을 비교합니다. a가 아직 10보다 작으므로 반복문을 반복합니다.

    처리할 문장이 없으므로 증가값을 적용합니다.

    증가값 ++a에 의해 a는 4가 되고, 이어서 hap += a에 의해 hap은 10이 됩니다.

    종료값을 비교합니다. a가 아직 10보다 작으므로 반복문을 반복합니다.

    처리할 문장이 없으므로 증가값을 적용합니다.

    증가값 ++a에 의해 a는 5가 되고, 이어서 hap += a에 의해 hap은 15가 됩니다.

    종료값을 비교합니다. a가 아직 10보다 작으므로 반복문을 반복합니다.

    처리할 문장이 없으므로 증가값을 적용합니다.

    증가값 ++a에 의해 a는 6이 되고, 이어서 hap += a에 의해 hap은 21이 됩니다.

    종료값을 비교합니다. a가 아직 10보다 작으므로 반복문을 반복합니다.

    처리할 문장이 없으므로 증가값을 적용합니다.

    증가값 ++a에 의해 a는 7이 되고, 이어서 hap += a에 의해 hap은 28이 됩니다.

    종료값을 비교합니다. a가 아직 10보다 작으므로 반복문을 반복합니다.

    처리할 문장이 없으므로 증가값을 적용합니다.

    증가값 ++a에 의해 a는 8이 되고, 이어서 hap += a에 의해 hap은 36이 됩니다.

    종료값을 비교합니다. a가 아직 10보다 작으므로 반복문을 반복합니다.

    처리할 문장이 없으므로 증가값을 적용합니다.

    증가값 ++a에 의해 a는 9가 되고, 이어서 hap += a에 의해 hap은 45가 됩니다.

    종료값을 비교합니다. a가 아직 10보다 작으므로 반복문을 반복합니다.

    처리할 문장이 없으므로 증가값을 적용합니다.

    증가값 ++a에 의해 a는 10이 되고, 이어서 hap += a에 의해 hap은 55가 됩니다.

    종료값을 비교합니다. a가 10과 같으므로, 즉 작지 않으므로 이제 반복문을 빠져나옵니다.

    2번째 질문 내용도 위의 내용과 같이 증가값과 종료값의 관계를 살피면서 수행해 보세요.

    오늘도 즐거운 하루 되세요.

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