일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 | 31 |
Tags
- 분류
- 지도학습
- Classification
- LLM
- Machine Learning
- AI
- 티스토리챌린지
- regression
- 오블완
- deep learning
- GPT-4
- 해커톤
- gpt
- 회귀
- 딥러닝
- PCA
- LG
- LG Aimers
- OpenAI
- supervised learning
- LG Aimers 4th
- ChatGPT
- 머신러닝
Archives
- Today
- Total
SYDev
[객체지향프로그래밍] 4주차 정리 본문
경희대학교 컴퓨터공학부 이대호 교수님의 객체지향프로그래밍 수업 자료를 참고한 정리본
Type bool
Boolean value
- true, false
- 1, 0
- 0이 아닌 정수는 모두 true
Relational operators
- Result: Boolean value
Boolean Expressions
우선순위
- ()
- 단항
- *, /, %
- +, -
- <, <=, >, >=
- ==, !=
- =
#include <iostream>
using namespace std;
int main(void) {
if(!10) {
cout << "HELLO" << endl;
}
else {
cout << "HELL" << endl;
}
return 0;
}
HELL
-> 0 제외 모두 true이므로, true인 10에 not 연산자(!)를 적용하면 false
#include <iostream>
using namespace std;
int main(void) {
if(false)
cout << "HELLO" << endl;
cout << "HELL" << endl;
return 0;
}
HELL
-> 블럭으로 감싸지 않았으므로, 아래 문장은 if문과 별개
The if/else Statement
#include <iostream>
#include <iomanip>
using namespace std;
int main(void) {
double d1 = 1.11 - 1.10, d2 = 2.11 - 2.10;
cout << "d1 = " << d1 << endl;
cout << "d2 = " << d2 << endl;
if(d1 == d2) {
cout << "Same" << endl;
}
else {
cout << "Diferent" << endl;
}
cout << "d1 = " << setprecision(20) << d1 << endl;
cout << "d2 = " << setprecision(20) << d2 << endl;
return 0;
}
d1 = 0.01
d2 = 0.01
Diferent
d1 = 0.010000000000000008882
d2 = 0.0099999999999997868372
Program ended with exit code: 0
-> 이진수에서 십진수로 변경하는 과정에서 발생하는 차이
#include <iostream>
#include <iomanip>
using namespace std;
int main(void) {
double d1 = 1.11 - 1.10, d2 = 2.11 - 2.10;
cout << "d1 = " << d1 << endl;
cout << "d2 = " << d2 << endl;
if(d1 - d2 < 1E-6 && d1 - d2 > -1E-6) {
cout << "Same" << endl;
}
else {
cout << "Diferent" << endl;
}
cout << "d1 = " << setprecision(20) << d1 << endl;
cout << "d2 = " << setprecision(20) << d2 << endl;
return 0;
}
d1 = 0.01
d2 = 0.01
Same
d1 = 0.010000000000000008882
d2 = 0.0099999999999997868372
Program ended with exit code: 0
우선순위: ! > && > ||
(x != y)
!(x == y)
(x < y || y > x)
-> 3개의 산술식 모두 같은 의미
x = 0;
(x != 0) && (z / x > 1);
-> &&, || 연산자는 앞의 boolean value에 따라 뒤 boolean value를 확인하지 않고 결과를 내기 때문에, 오류가 나지 않는다.
Dangle else
#include <iostream>
#include <iomanip>
using namespace std;
int main(void) {
int input;
cin >> input;
if(input >= 0)
if(input < 2)
cout << "zero, one" << endl;
else //첫 번째 if문과 짝처럼 보이지만, 가장 가까운 두 번째 if문과 짝을 이룸
cout << "negative" << endl;
return 0;
}
3
negative
Program ended with exit code: 0
Switch
#include <iostream>
#include <iomanip>
using namespace std;
int main(void) {
int x;
cin >> x;
switch(x) {
case 1:
cout << x * 1 << endl;
break;
case 2:
cout << x * 2 << endl;
break;
default:
cout << x * 3 << endl;
}
return 0;
}
-> break하지 않는 경우 모든 case를 순회
The Conditional Operator
(condition) ? expression_1 : expression_2
-> condition이 true이면 expression_1, false이면 expression_2 반환
#include <iostream>
#include <iomanip>
using namespace std;
int main(void) {
int x;
cin >> x;
x = (x >= 0) ? 1 : -1;
cout << x << endl;
return 0;
}
-> x가 0보다 크거나 같으면 1, 0보다 작으면 -1로 초기화됨
'3학년 1학기 전공 > 객체지향 프로그래밍' 카테고리의 다른 글
[객체지향프로그래밍] 8주차 정리 (0) | 2024.04.30 |
---|---|
[객체지향프로그래밍] 5주차 정리 (0) | 2024.04.01 |
[객체지향프로그래밍] 3주차 정리 (0) | 2024.03.19 |
[객체지향프로그래밍] 2주차 정리 (1) | 2024.03.12 |
[객체지향프로그래밍] 1주차 정리 (0) | 2024.03.06 |