기출문제/정보처리기사

2022년 2회 정보처리기사 기출문제 74번

엉클지니 2025. 2. 26. 23:33

4. 다음 C언어 프로그램이 실행되었을 때, 실행 결과는?

 0      1

 2     3

 

<해설>

코드 분석 및 실행 결과 도출

다음은 주어진 C 코드입니다.

#include <stdio.h>
int main(int arge, char *argv[]) {
    int n1 = 1, n2 = 2, n3 = 3;
    int r1, r2, r3;

    r1 = (n2 <= 2) || (n3 > 3);
    r2 = !n3;
    r3 = (n1 > 1) && (n2 < 3);

    printf("%d", r3 - r2 + r1);
    return 0;
}

1️⃣ 변수 값 정리

초기 변수 값:

  • n1 = 1, n2 = 2, n3 = 3

2️⃣ 논리 연산 결과 계산

① r1 = (n2 <= 2) || (n3 > 3);

  • n2 <= 2 → 2 <= 2 → true (1)
  • n3 > 3 → 3 > 3 → false (0)
  • 논리합(|| 연산): 1 || 0 → 1
  • 따라서 r1 = 1

② r2 = !n3;

  • n3 = 3이므로, !3 → false (0)
  • 따라서 r2 = 0

③ r3 = (n1 > 1) && (n2 < 3);

  • n1 > 1 → 1 > 1 → false (0)
  • n2 < 3 → 2 < 3 → true (1)
  • 논리곱(&& 연산): 0 && 1 → 0
  • 따라서 r3 = 0

3️⃣ 최종 계산

printf("%d", r3 - r2 + r1);

값 대입:

0 - 0 + 1 = 1

4️⃣ 실행 결과

출력값: 1

정답: ❷ 1

반응형