정보처리기사 실기 시험 기출 문제 - 복합 논리 연산
추천 자료: ASP.NET Core 인증 및 권한 부여
문제
다음 C 프로그램이 실행되었을 때의 동작을 설명하고, 출력 결과를 예측하시오.
소스 코드 파일명: complex_logical_operation.c
#include <stdio.h>
main()
{
int a = 5, b = 10, c = 15, d = 30, result;
result = a * 3 + b > d || c - b / a <= d && 1;
printf("%d\n", result);
}
입력 예시
이 프로그램은 사용자로부터 입력을 받지 않습니다.
출력 예시
1
해설
이 프로그램은 복합 논리 연산을 수행하여 결과를 result
변수에 할당하고, 그 결과를 출력합니다.
int a = 5, b = 10, c = 15, d = 30, result;
는 변수a
,b
,c
,d
를 초기화하고, 결과를 저장할 변수result
를 선언합니다.result = a * 3 + b > d || c - b / a <= d && 1;
연산은 다음과 같이 수행됩니다:a * 3 + b
는 5 * 3 + 10 = 25이며, 이는d
(30)보다 작습니다.c - b / a
는 15 - (10 / 5) = 15 - 2 = 13이며, 이는d
(30)보다 작거나 같으므로 참입니다.c - b / a <= d && 1
에서&& 1
은 논리적 AND 연산의 뒤쪽에 위치하며, 항상 참입니다.- 최종적으로
a * 3 + b > d || c - b / a <= d && 1;
는 참이 됩니다.
- 따라서,
result
에는 1이 할당되고, 이는 참을 나타냅니다. printf("%d\n", result);
는result
의 값을 출력합니다. 결과적으로 1이 출력됩니다.
이 프로그램은 복잡한 논리 연산을 사용하여 조건을 평가하고 결과를 도출하는 방법을 보여줍니다.
추천 자료: .NET Blazor에 대해 알아보시겠어요? .NET Blazor 알아보기를 확인해보세요!