책 내용 질문하기
기출문제 질문
도서
2024 시나공 정보처리기사 필기 기본서
페이지
0
조회수
50
작성일
2025-08-18
작성자
조*진
첨부파일

69,70 질문이요 프로그래밍언어 코딩문제는 많은학습이필요한거같아요 ㅠ어렵네요 설명부탁드려요

답변
2025-08-20 19:16:17

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

디버깅을 해야 풀수 있는 문제인데

디버깅을 글로 설명하기가 힘드네요

69번 문제의 경우

x가 7입니다.

while 에서 조건이 x-- > 0 이렇게 되어있으니

x가 7일때, 6일때, 5일때, 4일때, 3일때, 2일때, 1일때 반복문을 실행합니다

맨처음에 x가 7이라는 값을 가지고 7 > 0 을 비교하고

x-- 후치연산으로 되어있으니 if문으로 내려갈때 x는 6이 됩니다

x가 6을 가지고 있으니 if 조건식에서 x%3 == 0 을 비교하면 참이되고

조건이 참일때 continue를 만나 반복문 처음으로 이동합니다


x가 6이라는 값을 가지고 while 에서 조건이 x-- > 0 을 만나 6 > 0 을 비교하고

x-- 후치연산으로 되어있으니 if문으로 내려갈때 x는 5가 됩니다

x가 5을 가지고 있으니 if 조건식에서 x%3 == 0 을 비교하면 거짓이되고

조건이 거짓일때 y++를 만납니다.


x가 5라는 값을 가지고 while 에서 조건이 x-- > 0 을 만나 5 > 0 을 비교하고

x-- 후치연산으로 되어있으니 if문으로 내려갈때 x는 4가 됩니다

x가 4를 가지고 있으니 if 조건식에서 x%3 == 0 을 비교하면 거짓이되고

조건이 거짓일때 y++를 만납니다.


x가 4라는 값을 가지고 while 에서 조건이 x-- > 0 을 만나 4 > 0 을 비교하고

x-- 후치연산으로 되어있으니 if문으로 내려갈때 x는 3이 됩니다

x가 3을 가지고 있으니 if 조건식에서 x%3 == 0 을 비교하면 참이되고

조건이 참일때 continue를 만나 반복문 처음으로 이동합니다


x가 3이라는 값을 가지고 while 에서 조건이 x-- > 0 을 만나 3 > 0 을 비교하고

x-- 후치연산으로 되어있으니 if문으로 내려갈때 x는 2가 됩니다

x가 2를 가지고 있으니 if 조건식에서 x%3 == 0 을 비교하면 거짓이되고

조건이 거짓일때 y++를 만납니다.


x가 2라는 값을 가지고 while 에서 조건이 x-- > 0 을 만나 2 > 0 을 비교하고

x-- 후치연산으로 되어있으니 if문으로 내려갈때 x는 1이 됩니다

x가 1을 가지고 있으니 if 조건식에서 x%3 == 0 을 비교하면 거짓이되고

조건이 거짓일때 y++를 만납니다.


x가 1이라는 값을 가지고 while 에서 조건이 x-- > 0 을 만나 1 > 0 을 비교하고

x-- 후치연산으로 되어있으니 if문으로 내려갈때 x는 0이 됩니다

x가 0을 가지고 있으니 if 조건식에서 x%3 == 0 을 비교하면 참이되고

조건이 참일때 continue를 만나 반복문이 종료가 됩니다

이때 y++를 4번 실행이 되니 결과는 4가 출력될것입니다





70번 문제는 포인터 표기방법으로 문제가 출제된것입니다


반복문을 보시면 i는 5부터 1씩 감소하면서 i가 0보다 큰동안 반복실행되니

i는 5,4,3,2,1 의 값을 같습니다.

출력문에 보면 *(s+i) 라고 되어있으니

*(s+5), *(s+4),*(s+3),*(s+2),*(s+1) 위치의 값들이 출력되어

ogani 의 값이 출력됩니다


행복한 하루되세요 :)

  • 관리자
    2025-08-20 19:16:17

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

    디버깅을 해야 풀수 있는 문제인데

    디버깅을 글로 설명하기가 힘드네요

    69번 문제의 경우

    x가 7입니다.

    while 에서 조건이 x-- > 0 이렇게 되어있으니

    x가 7일때, 6일때, 5일때, 4일때, 3일때, 2일때, 1일때 반복문을 실행합니다

    맨처음에 x가 7이라는 값을 가지고 7 > 0 을 비교하고

    x-- 후치연산으로 되어있으니 if문으로 내려갈때 x는 6이 됩니다

    x가 6을 가지고 있으니 if 조건식에서 x%3 == 0 을 비교하면 참이되고

    조건이 참일때 continue를 만나 반복문 처음으로 이동합니다


    x가 6이라는 값을 가지고 while 에서 조건이 x-- > 0 을 만나 6 > 0 을 비교하고

    x-- 후치연산으로 되어있으니 if문으로 내려갈때 x는 5가 됩니다

    x가 5을 가지고 있으니 if 조건식에서 x%3 == 0 을 비교하면 거짓이되고

    조건이 거짓일때 y++를 만납니다.


    x가 5라는 값을 가지고 while 에서 조건이 x-- > 0 을 만나 5 > 0 을 비교하고

    x-- 후치연산으로 되어있으니 if문으로 내려갈때 x는 4가 됩니다

    x가 4를 가지고 있으니 if 조건식에서 x%3 == 0 을 비교하면 거짓이되고

    조건이 거짓일때 y++를 만납니다.


    x가 4라는 값을 가지고 while 에서 조건이 x-- > 0 을 만나 4 > 0 을 비교하고

    x-- 후치연산으로 되어있으니 if문으로 내려갈때 x는 3이 됩니다

    x가 3을 가지고 있으니 if 조건식에서 x%3 == 0 을 비교하면 참이되고

    조건이 참일때 continue를 만나 반복문 처음으로 이동합니다


    x가 3이라는 값을 가지고 while 에서 조건이 x-- > 0 을 만나 3 > 0 을 비교하고

    x-- 후치연산으로 되어있으니 if문으로 내려갈때 x는 2가 됩니다

    x가 2를 가지고 있으니 if 조건식에서 x%3 == 0 을 비교하면 거짓이되고

    조건이 거짓일때 y++를 만납니다.


    x가 2라는 값을 가지고 while 에서 조건이 x-- > 0 을 만나 2 > 0 을 비교하고

    x-- 후치연산으로 되어있으니 if문으로 내려갈때 x는 1이 됩니다

    x가 1을 가지고 있으니 if 조건식에서 x%3 == 0 을 비교하면 거짓이되고

    조건이 거짓일때 y++를 만납니다.


    x가 1이라는 값을 가지고 while 에서 조건이 x-- > 0 을 만나 1 > 0 을 비교하고

    x-- 후치연산으로 되어있으니 if문으로 내려갈때 x는 0이 됩니다

    x가 0을 가지고 있으니 if 조건식에서 x%3 == 0 을 비교하면 참이되고

    조건이 참일때 continue를 만나 반복문이 종료가 됩니다

    이때 y++를 4번 실행이 되니 결과는 4가 출력될것입니다





    70번 문제는 포인터 표기방법으로 문제가 출제된것입니다


    반복문을 보시면 i는 5부터 1씩 감소하면서 i가 0보다 큰동안 반복실행되니

    i는 5,4,3,2,1 의 값을 같습니다.

    출력문에 보면 *(s+i) 라고 되어있으니

    *(s+5), *(s+4),*(s+3),*(s+2),*(s+1) 위치의 값들이 출력되어

    ogani 의 값이 출력됩니다


    행복한 하루되세요 :)

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