책 내용 질문하기
어떻게 푸는지 알려주세요
도서
2023 시나공 정보처리산업기사 필기
페이지
279
조회수
143
작성일
2023-02-04
작성자
전*
첨부파일

279페이지 기출문제 따라잡기 4번 문제입니다.

풀이를 봐도 이해가 안 돼서 어떻게 풀어야 하는지 설명 부탁드립니다.

 

Q. 다음 C 코드 결과로 나타날 수 있는 값은?

 

void main( )

{

int k;

k = 1;

while(k < 60)

{

if(k % 4 == 0)

printf("%d\n", k-2);

k++;

}

}

 

(1번) 0 (2번) 8 (3번) 24 (4번) 30

답변
2023-02-06 10:46:05

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

 

해당문제는 60미만의 4의 배수에서 2를 뺀값을 출력하는 문제입니다.

 

while(k<60) 에서 60 미만임을

if(k%4==0)이 참일 때 출력하는 것으로 보아 4의 배수를 출력하는 것임을 알 수 있습니다.

다만 출력시 k-2의 값을 출력하므로 (4의 배수 - 2) 임을 알 수 있죠.

 

즉, 0, 4, 8, 12, 16, ... 56 까지의 수에서 -2를 하면

-2, 2, 6, 10, 14, ... 54의 값이 출력된다는 것을 예상할 수 있습니다.

(0은 초기값, 4로 나누었을 때 나머지가 0이므로 예외적으로 포함)

 

이러한 전제 하에서 보기 중 출력될 수 있는 값은 '4의 배수-2'에 해당하는 4번 보기가 정답이 됩니다.

 

행복한 하루되세요 :)

  • 관리자
    2023-02-06 10:46:05

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

     

    해당문제는 60미만의 4의 배수에서 2를 뺀값을 출력하는 문제입니다.

     

    while(k<60) 에서 60 미만임을

    if(k%4==0)이 참일 때 출력하는 것으로 보아 4의 배수를 출력하는 것임을 알 수 있습니다.

    다만 출력시 k-2의 값을 출력하므로 (4의 배수 - 2) 임을 알 수 있죠.

     

    즉, 0, 4, 8, 12, 16, ... 56 까지의 수에서 -2를 하면

    -2, 2, 6, 10, 14, ... 54의 값이 출력된다는 것을 예상할 수 있습니다.

    (0은 초기값, 4로 나누었을 때 나머지가 0이므로 예외적으로 포함)

     

    이러한 전제 하에서 보기 중 출력될 수 있는 값은 '4의 배수-2'에 해당하는 4번 보기가 정답이 됩니다.

     

    행복한 하루되세요 :)

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