책 내용 질문하기
272쪽, 29번 문제
도서
2021 시나공 정보처리기사 실기
페이지
272
조회수
262
작성일
2021-08-28
작성자
탈퇴*원
첨부파일
p=1 for (int i = 0; i < 5; i++, p *= i); 여기서 초기에 왜 0은 식을 실행 안하는지 모르겠습니다 p = 1*0 부터 실행해야하지 않나요??
답변
2021-08-30 11:15:00

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

 

for문의 수행 순서를 알아두실 필요가 있습니다.

for문을 간략화 시키면 다음과 같습니다.

  for(①; ②; ③) 

     ④;

 

for문이 5회 반복한다고 가정할 때 다음과 같이 각 부분이 수행됩니다.

1회 : ①, ②(조건 참), ④

2회 : ③, ②(조건 참), ④

3회 : ③, ②(조건 참), ④

4회 : ③, ②(조건 참), ④

5회 : ③, ②(조건 참), ④

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

 

이걸 실행코드(④)가 없고, 증가식(③)이 2개인 272쪽의 for문에 적용하게 되면,

 

1회 : ①, ②(조건 참)

2회 : ③-1 ③-2, ②(조건 참)

3회 : ③-1 ③-2, ②(조건 참)

4회 : ③-1 ③-2, ②(조건 참)

5회 : ③-1 ③-2, ②(조건 참)

종료 : ③-1 ③-2, ②(조건 거짓) <탈출>

 

쉼표로 구분된 두 식은 연산자 우선순위 및 결합규칙에 따라 왼쪽 식부터 먼저 수행되므로, p에 0이 곱해지는 경우는 발생하지 않습니다.

 

행복한 하루되세요 :)

  • 관리자
    2021-08-30 11:15:00

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

     

    for문의 수행 순서를 알아두실 필요가 있습니다.

    for문을 간략화 시키면 다음과 같습니다.

      for(①; ②; ③) 

         ④;

     

    for문이 5회 반복한다고 가정할 때 다음과 같이 각 부분이 수행됩니다.

    1회 : ①, ②(조건 참), ④

    2회 : ③, ②(조건 참), ④

    3회 : ③, ②(조건 참), ④

    4회 : ③, ②(조건 참), ④

    5회 : ③, ②(조건 참), ④

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

     

    이걸 실행코드(④)가 없고, 증가식(③)이 2개인 272쪽의 for문에 적용하게 되면,

     

    1회 : ①, ②(조건 참)

    2회 : ③-1 ③-2, ②(조건 참)

    3회 : ③-1 ③-2, ②(조건 참)

    4회 : ③-1 ③-2, ②(조건 참)

    5회 : ③-1 ③-2, ②(조건 참)

    종료 : ③-1 ③-2, ②(조건 거짓) <탈출>

     

    쉼표로 구분된 두 식은 연산자 우선순위 및 결합규칙에 따라 왼쪽 식부터 먼저 수행되므로, p에 0이 곱해지는 경우는 발생하지 않습니다.

     

    행복한 하루되세요 :)

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