논리 연산자 파트 3
Coddy C 여정의 기초 섹션에 포함된 레슨. 63개 중 23번째.
여러 조건을 확인할 때 프로그램은 최종 답을 알게 되는 즉시 확인을 중단합니다. 이를 단락 평가라고 합니다.
예를 들어:
int x = 0;
int y = 5;
int result = (x != 0) && (y / x > 2);여기서 x는 0과 같으므로 y / x > 2를 평가하지 않습니다. 순서를 뒤집으면 다음과 같습니다:
int result = (y / x > 2) && (x != 0);y가 0으로 나뉘게 되며 C에서는 이것이 정의되지 않았기 때문에 오류가 발생합니다. 따라서 연산을 충분히 생각해 보는 것이 좋은 습관이며, 이를 통해 정확하고 효율적이면서 오류가 없는 코드를 작성할 수 있습니다.
이 기법은 논리 표현식의 평가를 최적화하는 데 사용됩니다. 예를 들면 다음과 같습니다.
int a = 0;
int b = 2;
int c = 3;
int d = 5;
int result = (a > 0 && b < 2) || (c < -5 && d < 10);이 예제에서는 b < 2와 d < 10이 평가되지 않습니다. a > 0과 c < -5가 모두 거짓이기 때문입니다.
챌린지
쉬움Create 프로그램을 작성하여 태양광 패널 에너지 생산에 적합한 날인지 판단하세요.
다음 variables를 Initialize하세요:
isSunny값 1 (true)windSpeed값 5.4temperature값 23solarPanelOutput값 9isCloudy값 0 (false)
다음 ALL 조건을 확인하는 하나의 logical expression을 Create하세요:
- 맑음
- wind speed가 10보다 작음
- solar panel output이 15보다 작음
- temperature가 20보다 높음 OR 구름이 없음
모든 조건이 충족되면 "Good day for solar energy"를 출력하고, 그렇지 않으면 "Not ideal for solar energy"를 출력하세요.
직접 해보기
#include <stdio.h>
int main() {
// 변수 초기화
int isSunny = 1;
float windSpeed = 5.4;
int temperature = 23;
int solarPanelOutput = 9;
int isCloudy = 0;
// 논리 표현식 만들기
int isGoodDay =
// 아래를 변경하지 마세요
if (isGoodDay) {
printf("Good day for solar energy\n");
} else {
printf("Not ideal for solar energy\n");
}
return 0;
}이 레슨에는 짧은 퀴즈가 포함되어 있습니다. 레슨을 시작해 문제를 풀고 진행 상황을 기록하세요.
기초의 모든 레슨
직접 연습해 보세요: 온라인 C 컴파일러