책 내용 질문하기
[2021 정보처리기사 실기] 2권 211p 문제 14번 질문
도서
2021 시나공 정보처리기사 실기
페이지
211
조회수
381
작성일
2021-04-03
작성자
탈퇴*원
첨부파일

안녕하세요.

 

문제 14번 for문에 대한 질문인데요

 

첫번째 for문에 (int k = n; k >=0 ; k--) 라고 되어있는데요

 

1. 모든 for 문은 초기값을 먼저 집어넣고 증가값을 계산한다음 조건값을 비교하는 것 맞나요?

 

2. k--가 아니라 --k 로 바뀐다면 연산이 달라지나요?

 

 

2-1. 만약 달라진다면 어떻게 달라지나요?

예를들어 n값이 10이라면 

교재에 있는 대로  k--라고 한다면  k가 10부터 시작해서

 

초기값 10으로 먼저 들어간다면 10인 값을 계산하는데

--k의 경우라면 9로 들어가게 되는지 궁금합니다.

답변
2021-04-05 17:18:01

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

 

[1]

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

  for(①; ②; ③) 

     ④;

 

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

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

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

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

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

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

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

 

모든 for문은 초기값을 먼저 적용하고, 조건을 체크한 후, 실행코드를 수행합니다.

다음 회차부터는 증가값을 적용하고, 조건을 체크한 후, 실행코드를 수행하게 되죠.

 

 

[2]

전혀 달라지지 않습니다.

전치/후치 증감 연산자가 식에 영향을 주는 것은 '하나의 식' 안에서 뿐입니다. 즉, sum = sum + i++; 과 같이 세미콜론(;) 또는 쉼표(,)로 구분되는 각 식 내에서만 전/후가 의미가 있을 뿐, k--, --k와 같이 개별로 사용될 때는 그저 1을 감소시키는 역할 외에 다른 역할을 수행하지 못합니다. 

(k=k-1; 과 동일)

 

행복한 하루되세요 :)

  • 관리자
    2021-04-05 17:18:01

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

     

    [1]

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

      for(①; ②; ③) 

         ④;

     

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

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

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

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

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

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

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

     

    모든 for문은 초기값을 먼저 적용하고, 조건을 체크한 후, 실행코드를 수행합니다.

    다음 회차부터는 증가값을 적용하고, 조건을 체크한 후, 실행코드를 수행하게 되죠.

     

     

    [2]

    전혀 달라지지 않습니다.

    전치/후치 증감 연산자가 식에 영향을 주는 것은 '하나의 식' 안에서 뿐입니다. 즉, sum = sum + i++; 과 같이 세미콜론(;) 또는 쉼표(,)로 구분되는 각 식 내에서만 전/후가 의미가 있을 뿐, k--, --k와 같이 개별로 사용될 때는 그저 1을 감소시키는 역할 외에 다른 역할을 수행하지 못합니다. 

    (k=k-1; 과 동일)

     

    행복한 하루되세요 :)

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