책 내용 질문하기
for문에 대해 궁금합니다
도서
2022 시나공 정보처리산업기사 실기
페이지
43
조회수
338
작성일
2022-04-27
작성자
탈퇴*원
첨부파일

실전모의고사 43페이지 7번 문제와 같이 for문 안에 또 다른 for문이 있는 경우 2번째 포문의 끝 부분을 뭘 보고 판단해야 할지 모르겠습니다.

두 번째 for문을 a[sw] = temp; 까지로 보고 했는데 해설을 보니 sw = j; 까지더군요 그냥 두 번째 for문 시작지점부터 ;부분까지로 보고 판단하면 되나요?

답변
2022-04-27 13:56:38

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

 

가장 기본적인 분별 방법은 세미콜론(;)입니다.

 

for문이나 if문이 중괄호로 시작하지 않는 이상 다음의 '한 라인' 코드만이 반복이나 분기의 대상이 됩니다.

 

2번째 for문을 보시면 우측에 중괄호가 없으므로 다음 줄의 코드만이 반복 대상이 됨을 알 수 있습니다.

하지만 다음 줄의 if문은 자기도 하위 코드를 갖게 되므로 우측에 세미콜론이 있는지 체크해야 합니다.

세미콜론이 없으므로 다음 줄의 sw=j; 까지가 '한 라인'의 if문이 되고,

이 if문 만이 for문의 반복 대상이 됩니다.

 

두 번째 분별 방법은 왼쪽 여백입니다.

여백이 없는 최상위 코드인 public class Test {는 동일하게 여백이 없는 마지막 줄의 }와 쌍을 이루어 그 안의 모든 코드가 하위 코드가 됩니다.

1단 여백이 있는 static void arr()과 public static void main() 또한 각자의 }와 쌍을 이루어 하위 코드를 갖고 있죠.

이러한 것을 통해 바로 아래에 이어지는 높은 단의 여백의 코드들은 모두 위에 있는 낮은 단의 여백을 갖고 있는 코드들의 하위 코드라고 볼 수 있는 것이죠.

 

2번째 for문과 temp = a[i];는 같은 단의 여백을 갖고 있기에 서로 상위나 하위 코드가 되지 못합니다.

반면 for문 아래 있는 if~~ 와 sw=j; 는 여백으로 보아 for문의 하위 코드임을 알 수 있죠.

 

행복한 하루되세요 :)

  • 관리자
    2022-04-27 13:56:38

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

     

    가장 기본적인 분별 방법은 세미콜론(;)입니다.

     

    for문이나 if문이 중괄호로 시작하지 않는 이상 다음의 '한 라인' 코드만이 반복이나 분기의 대상이 됩니다.

     

    2번째 for문을 보시면 우측에 중괄호가 없으므로 다음 줄의 코드만이 반복 대상이 됨을 알 수 있습니다.

    하지만 다음 줄의 if문은 자기도 하위 코드를 갖게 되므로 우측에 세미콜론이 있는지 체크해야 합니다.

    세미콜론이 없으므로 다음 줄의 sw=j; 까지가 '한 라인'의 if문이 되고,

    이 if문 만이 for문의 반복 대상이 됩니다.

     

    두 번째 분별 방법은 왼쪽 여백입니다.

    여백이 없는 최상위 코드인 public class Test {는 동일하게 여백이 없는 마지막 줄의 }와 쌍을 이루어 그 안의 모든 코드가 하위 코드가 됩니다.

    1단 여백이 있는 static void arr()과 public static void main() 또한 각자의 }와 쌍을 이루어 하위 코드를 갖고 있죠.

    이러한 것을 통해 바로 아래에 이어지는 높은 단의 여백의 코드들은 모두 위에 있는 낮은 단의 여백을 갖고 있는 코드들의 하위 코드라고 볼 수 있는 것이죠.

     

    2번째 for문과 temp = a[i];는 같은 단의 여백을 갖고 있기에 서로 상위나 하위 코드가 되지 못합니다.

    반면 for문 아래 있는 if~~ 와 sw=j; 는 여백으로 보아 for문의 하위 코드임을 알 수 있죠.

     

    행복한 하루되세요 :)

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