책 내용 질문하기
3회 실전모의고사 16번 문제
도서
2023 시나공 정보처리산업기사 실기
페이지
103
조회수
329
작성일
2023-07-03
작성자
임*목
첨부파일

시나공 책을 통해 공부하고 있습니다

 

기출문제집 103쪽   3회 실전 모의고사 16번 문제에 보면

 

void initA 와

int funcA 함수에

 

for (int i = 0; i < 5 ; i ++)

 

포문이 둘다 포함 돼 있는데요

 

그럼 i 는  0 부터  4 까지 다섯번 돌아야 하는것 아닌가요?

정답에는 i 가 0 부터 5까지   여섯번   돌아서 문제를 풀고 있습니다.

 

그렇다면 답도 달라질 것 같구요

a[]  배열도 {1,2,3,4,5} 다섯개 인데      포문이  a[0] ,a[1] ,a[2] ,a[3] ,a[4]  로  다섯번이 맞지않나 싶어서 질문 드립니다.

 

애초에  i 가   5까지 돈다면  a[5] 라는 배열값이 없어 에러나지 않나요??

답변
2023-07-05 09:47:36

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

 

for문의 반복 변수 값의 변화와 내부 코드의 반복 횟수에 대해 혼동하신 듯 합니다.

 

for (int i = 0; i < 5 ; i ++) 와 같은 식이 있다면 i가 0부터 4인 동안 총 5회 내부 코드를 반복하고, 마지막에 i가 5가 되면서 i<5가 거짓이 되면서 for문을 벗어나게 됩니다.

 

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

  for(①; ②; ③) 

     ④;

 

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

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

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

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

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

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

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


마지막에 종료될 때 ③번을 수행하지만 조건이 거짓이 되기 때문에, 내부 코드(④)를 수행하지 않고 for문을 벗어납니다. 이로 인해 i가 5인 시점이 발생하는 것입니다.

행복한 하루되세요 :)
  • 관리자
    2023-07-05 09:47:36

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

     

    for문의 반복 변수 값의 변화와 내부 코드의 반복 횟수에 대해 혼동하신 듯 합니다.

     

    for (int i = 0; i < 5 ; i ++) 와 같은 식이 있다면 i가 0부터 4인 동안 총 5회 내부 코드를 반복하고, 마지막에 i가 5가 되면서 i<5가 거짓이 되면서 for문을 벗어나게 됩니다.

     

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

      for(①; ②; ③) 

         ④;

     

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

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

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

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

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

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

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


    마지막에 종료될 때 ③번을 수행하지만 조건이 거짓이 되기 때문에, 내부 코드(④)를 수행하지 않고 for문을 벗어납니다. 이로 인해 i가 5인 시점이 발생하는 것입니다.

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