기출문제/정보처리기사

2020년 3회 정보처리기사 기출문제 61번

엉클지니 2025. 4. 9. 17:39

61. 다음 자바 프로그램 조건문에 대해 삼항 조건 연산자를 사용하여 옳게 나타낸 것은?

 ❶ int i = 7, j = 9;
    int k;
    k = (ij)?(i j):(i + j);

int i = 7, j = 9;
     int k;
     k = (ij)?(i j):(i + j);

int i = 7, j = 9;
    int k;
    k = (ij)?(i + j):(i - j);

int i = 7, j = 9;
    int k;
    k = (ij)?(i + j):(i - j);

 

 

 

 

 

이 문제는 삼항 조건 연산자를 사용하여 주어진 조건문을 올바르게 나타내는 것에 관한 문제입니다.

삼항 조건 연산자 기본 구조

삼항 조건 연산자의 형식은 다음과 같습니다:

조건 ? 조건이 참일 때 실행할 식 : 조건이 거짓일 때 실행할 식;

즉, 조건이 참이면 첫 번째 식을 실행하고, 조건이 거짓이면 두 번째 식을 실행합니다.

주어진 코드 분석 🧐

주어진 코드:

int i = 7, j = 9;
int k;
k = (i > j) ? (i - j) : (i + j);

여기서 k = (i > j) ? (i - j) : (i + j);는 i가 j보다 크면 (i - j)를 k에 대입하고, i가 j보다 작거나 같으면 (i + j)를 k에 대입하는 구조입니다.

  • i = 7, j = 9이므로 i > j 조건은 거짓입니다.
  • 그래서 (i + j)가 선택되고, 결과적으로 k는 7 + 9 = 16이 됩니다.

각 보기 분석

  1. k = (i>j)?(i – j):(i + j);
    • 이 보기는 i > j일 때 (i - j)를 실행하고, 아니면 (i + j)를 실행하는 구조입니다.
    • i = 7이고 j = 9이므로 i > j는 거짓이므로 k는 i + j = 7 + 9 = 16이 됩니다.
    • 올바른 코드입니다.
  2. k = (i<j)?(i – j):(i + j);
    • 이 보기는 i < j일 때 (i - j)를 실행하고, 아니면 (i + j)를 실행하는 구조입니다.
    • i = 7이고 j = 9이므로 i < j는 이므로 k는 i - j = 7 - 9 = -2가 됩니다.
    • 이는 원래 코드와 다르므로 틀린 코드입니다.
  3. k = (i>j)?(i + j):(i - j);
    • 이 보기는 i > j일 때 (i + j)를 실행하고, 아니면 (i - j)를 실행하는 구조입니다.
    • i = 7이고 j = 9이므로 i > j는 거짓이므로 k는 i - j = 7 - 9 = -2가 됩니다.
    • 이는 원래 코드와 다르므로 틀린 코드입니다.
  4. k = (i<j)?(i + j):(i - j);
    • 이 보기는 i < j일 때 (i + j)를 실행하고, 아니면 (i - j)를 실행하는 구조입니다.
    • i = 7이고 j = 9이므로 i < j는 이므로 k는 i + j = 7 + 9 = 16이 됩니다.
    • 틀린 코드입니다. 이 보기는 원래 코드의 결과와 다릅니다.

결론 🏁

따라서 주어진 코드와 동일한 결과를 만드는 것은 번입니다.


정답: