2023 c++
23년 C++ chap4 조건문 -> 관계,일치표현식 / if조건문 / if-else조건문
gy8879
2023. 7. 18. 00:34
01 조건문의 개요
1 관계 표현식과 일치 표현식
그룹 | 연산자 | 우선순위(숫자 클수록 우선) | 결합방향 |
관계표현식 | < <= > >= |
11 | → |
일치표현식 | == != |
12 | → |
-관계표현식: 두 값의 크기 비교(4가지)
일치표현식: 두 값이 동일한지 판별(2가지)
-두 표현식의 자료형이 다르면 자료형 변환이 일어난다
ex) 3 > false // false가 0으로 변환된 뒤 연산, 결과는 true
3 != false // 마찬가지로 결과는 true
-우선순위와 결합순서
ㄴ관계표현식이
1 == 3 < 4 // 1 == (3 < 4) -> 1 == true -> 1 == 1이므로 true
*자주 쓰는 표현식 우선순위*
곱셈나눗셈(*, /, %) > 덧셈뺄셈(+,-) > 관계연산(>, >=, <, <=) > 일치연산(==, !=)
-부동소수점 값에는 일치연산자를 사용하지 않는 것이 안전
2 if 조건문(단방향 조건 분기) 주의사항
-일치연산자가 아닌 할당연산자 사용
if(x=0){ // 조건표현식이 무조건 false
문장; // 절대 실행되지 않음
}
-괄호 생략
if(x==0)
문장1; // x==0이라면 문장1 실행
문장2; // 문장2는 항상 실행
-불필요한 세미콜론
if(x==0);{ // 세미콜론으로 인해 if 조건문의 본문이 널 문장으로 인식됨
문장1; // 따라서 문장1은 항상 실행
문장2; // 문장2도 항상 실행
}
3 if-else 조건문(양방향 조건 분기)
-중첩 if-else 조건문 -> 복합 구문을 사용해 명확하게 짝을 맞춰야 함
-잘못된 코드 예시
if(표현식1)
if(표현식2)
문장1
else
문장2
-> 흐름도의 의도와 다른 코드가 됨
-else if로 들여쓰기 없이 간단한 형태를 만들 수 있다