3. 연산자
1. 사칙연산
1) 간단한 사칙연산
- 덧셈(+), 뺄셈(-), 곱셈(*)
- 나눗셈 몫 연산(/), 나머지 연산(%)
#include <iostream>
using namespace std;
int main() {
int a = 9, b = 4;
cout << a + b << ' ' << a * b << ' ' << a - b << ' ';
cout << a / b << ' ' << a % b << ' ' << (double)a / b;
return 0;
}
- 실수 결과를 얻고 싶다면 type을 double형으로 변경해줘야 함.
- 두 type 중 하나만 실수형이면 됨.
#include <iostream>
using namespace std;
int main() {
int a = 9, b = 4;
cout << (double)a / b << endl;
cout << (double)(a / b);
return 0;
}
- 사칙연산 계산 시 type은 더 큰 범위의 type으로 결정
#include <iostream>
using namespace std;
int main() {
double a = 3.5;
int b = 4;
cout << a + b;
return 0;
}
// 정수 + 실수 계산 시, 계산 결과는 실수
#include <iostream>
using namespace std;
int main() {
int a, b;
cin >> a >> b;
cout << a + b << endl;
cout << a - b << endl;
cout << a / b << endl;
cout << a % b << endl;
return 0;
}
2) 길이 변형 후 사각형 넓이 구하기
#include <iostream>
using namespace std;
int main() {
int width, height;
cin >> width >> height;
width += 8;
height *= 3;
cout << width << endl;
cout << height << endl;
cout << width * height << endl;
return 0;
}
3) 두수의 곱과 몫
#include <iostream>
using namespace std;
int main() {
int a, b;
cin >> a >> b;
cout << a << " * " << b << " = " << a * b << endl;
cout << a << " / " << b << " = " << a / b << endl;
return 0;
}
4) 몫과 나머지
#include <iostream>
using namespace std;
int main() {
int a, b;
cin >> a >> b;
cout << a / b << "..." << a % b;
return 0;
}
5) 입력받아 연산하기
#include <iostream>
using namespace std;
int main() {
int a, b;
cin >> a >> b;
a += 87;
b %= 10;
cout << a << endl << b;
return 0;
}
6) 2개의 정수를 서로 더하기
#include <iostream>
using namespace std;
int main() {
int a, b;
cin >> a >> b;
a += b;
b += a;
cout << a << ' ' << b;
return 0;
}
7) 출력결과 24
8) 출력결과 25
9) 출력결과 62
10) 합과 차의 나눗셈
#include <iostream>
using namespace std;
int main() {
int a, b;
double res;
cin >> a >> b;
res = (double)(a + b) / (double)(a - b);
cout.precision(2);
cout << fixed << res;
return 0;
}
2. 합과 평균
#include <iostream>
using namespace std;
int main() {
int a = 9, b = 4;
cout << a + b << ' ' << (double)(a + b) / 2;
return 0;
}
결과: 13 6.5
int a = 9, b = 4;
cout << (double)(a + b / 2);
결과: 11
1) 합과 평균
#include <iostream>
using namespace std;
int main() {
int a, b;
cin >> a >> b;
cout.precision(1);
cout << fixed << a + b << ' ' << (double)(a + b) / 2;
return 0;
}
2) 세 수의 합과 평균 구하기
#include <iostream>
using namespace std;
int main() {
int a, b, c;
cin >> a >> b >> c;
cout << fixed << a + b + c << endl << (a + b + c) / 3;
return 0;
}
3) 합과 평균의 차
#include <iostream>
using namespace std;
int main() {
int a, b, c;
cin >> a >> b >> c;
cout << fixed << a + b + c << endl << (a + b + c) / 3 << endl << (a + b + c) - (a + b + c) / 3;
return 0;
}
4. 조건문
if (조건) {
여기에 조건이 참일 경우에만 수행되는 코드 작성
}
1. if 조건문
1) 음수 구별하기
#include <iostream>
using namespace std;
int main() {
int n;
cin >> n;
cout << n << endl;
if (n < 0)
cout << "minus";
return 0;
}
2) 큰 수에서 빼기
#include <iostream>
using namespace std;
int main() {
int a, b;
cin >> a >> b;
if (a > b)
cout << a - b;
if (b > a)
cout << b - a;
if (b == a)
cout << 0;
return 0;
}
3) 체질량지수
#include <iostream>
using namespace std;
int main() {
int h, w;
int b;
cin >> h >> w;
b = (10000 * w)/(h * h);
cout << b;
if (b >= 25)
cout << endl << "Obesity";
return 0;
}
4) 정사각형의 넓이
#include <iostream>
using namespace std;
int main() {
int n;
int area;
cin >> n;
area = n * n;
cout << area;
if (n < 5)
cout << endl << "tiny";
return 0;
}
2. if else 조건문
if (조건) {
여기에 조건이 참일 경우에만 수행되는 코드 작성
}
else {
여기에 조건이 거짓일 경우에만 수행되는 코드 작성
}
이 위치에 있는 코드는 조건과 무관하게 항상 수행됩니다.
1) 시험 통과 여부 확인하기
#include <iostream>
using namespace std;
int main() {
int n;
cin >> n;
if (n >= 80)
cout << "pass";
else
cout << (80 - n) << " more score";
return 0;
}
2) 숫자의 조건 여부
#include <iostream>
using namespace std;
int main() {
int a;
cin >> a;
if (a >= 113)
cout << 1;
else
cout << 0;
return 0;
}
3) 비교에 따른 연산
#include <iostream>
using namespace std;
int main() {
int a, b;
cin >> a >> b;
if (a > b)
cout << a * b;
else
cout << b / a;
return 0;
}
3. 삼항 연산자
if (조건) {
a = v1;
}
else {
a = v2;
}
a = 조건 ? v1 : v2;
1) 2개 중 최대
#include <iostream>
using namespace std;
int main() {
int a, b;
int max;
cin >> a >> b;
max = a > b ? a : b;
cout << max;
return 0;
}
2) 삼항연산자
#include <iostream>
#include <string>
using namespace std;
int main() {
int score;
string str;
cin >> score;
str = score == 100 ? "pass" : "failure";
cout << str;
return 0;
}
3) 삼항연산자 2
#include <iostream>
using namespace std;
int main() {
int a;
char t_or_f;
cin >> a;
t_or_f = a == 1 ? 't' : 'f';
cout << t_or_f;
return 0;
}
4. if elif else 조건문
- if / else if / else
if (조건1) {
코드1
}
else if (조건2) {
코드2
}
else {
코드3
}
코드4
- if / else if
if (조건1) {
코드1
}
else if (조건2) {
코드2
}
코드4
1) 물의 상태
#include <iostream>
using namespace std;
int main() {
int temp;
cin >> temp;
if (temp < 0)
cout << "ice";
else if (temp >= 100)
cout << "vapor";
else
cout << "water";
return 0;
}
2) 시력 검사 2
#include <iostream>
using namespace std;
int main() {
double sight;
cin >> sight;
if (sight >= 1.0)
cout << "High";
else if (sight >= 0.5)
cout << "Middle";
else
cout << "Low";
return 0;
}
3) 살 수 있는 물건
#include <iostream>
using namespace std;
int main() {
int money;
cin >> money;
if (money >= 3000)
cout << "book";
else if (money >= 1000)
cout << "mask";
else
cout << "no";
return 0;
}
5. if elif elif else 조건문
1) 출석 부르기
#include <iostream>
using namespace std;
int main() {
int num;
cin >> num;
if (num == 1)
cout << "John";
else if (num == 2)
cout << "Tom";
else if (num == 3)
cout << "Paul";
else
cout << "Vacancy";
return 0;
}
2) 등급 매기기
#include <iostream>
using namespace std;
int main() {
int score;
cin >> score;
if (score >= 90)
cout << 'A';
else if (score >= 80)
cout << 'B';
else if (score >= 70)
cout << 'C';
else if (score >= 60)
cout << 'D';
else if (score < 60)
cout << 'F';
return 0;
}
3) 알파벳에 따른 평가
#include <iostream>
using namespace std;
int main() {
char upper;
cin >> upper;
if (upper == 'S')
cout << "Superior";
else if (upper == 'A')
cout << "Excellent";
else if (upper == 'B')
cout << "Good";
else if (upper == 'C')
cout << "Usually";
else if (upper == 'D')
cout << "Effort";
else
cout << "Failure";
return 0;
}
4) 살 수 있는 물건 2
#include <iostream>
using namespace std;
int main() {
int n;
cin >> n;
if (n >= 3000)
cout << "book";
else if (n >= 1000)
cout << "mask";
else if (n >= 500)
cout << "pen";
else
cout << "no";
return 0;
}
6. if if 조건문
1) 최대 2번의 연산
#include <iostream>
using namespace std;
int main() {
int a;
cin >> a;
// 만약 a가 짝수라면
if (!(a % 2))
a /= 2;
if (a % 2)
a = (a + 1) / 2;
cout << a;
return 0;
}
2) 숫자의 조건 여부 2
#include <iostream>
using namespace std;
int main() {
int a;
cin >> a;
if (a == 5)
cout << 'A';
if (!(a % 2))
cout << 'B';
return 0;
}
3) 두 번의 연산
#include <iostream>
using namespace std;
int main() {
int a;
cin >> a;
if (a % 2)
a += 3;
if (!(a % 3))
a /= 3;
cout << a;
return 0;
}
7. if else if else 조건문
1) 두 숫자의 짝홀 여부
#include <iostream>
using namespace std;
int main() {
int a, b;
cin >> a >> b;
if (a % 2)
cout << "odd" << endl;
else
cout << "even" << endl;
if (b % 2)
cout << "odd" << endl;
else
cout << "even" << endl;
return 0;
}
2) 특정 조건 두 정수 비교
#include <iostream>
using namespace std;
int main() {
int a, b;
cin >> a >> b;
if (a < b)
cout << 1 << " ";
else
cout << 0 << " ";
if (a == b)
cout << 1;
else
cout << 0;
return 0;
}
3) 3 또는 5의 배수
#include <iostream>
using namespace std;
int main() {
int a;
cin >> a;
if (a % 3 == 0)
cout << "YES" << endl;
else
cout << "NO" << endl;
if (a % 5 == 0)
cout << "YES";
else
cout << "NO";
return 0;
}
8. 비교 연산자와 조건문
1) 비교 연산
2) 4가지 관계연산자
3) 4번의 크기 비교
9. and 기호
1) 점수 비교
2) 범위 안의 수
3) 시력 검사
4) 특정 조건 세 정수 비교
5) 세 정수의 최솟값
6) 세 수의 중간값
10. or 기호
1) 범위 밖의 수
2) 숫자의 조건 여부 3
3) 둘 중 하나의 배수
11. and, or 혼합
1) 굉장한 숫자
2) 숫자의 계절은
3) 장학금
4) 좀 더 어려운 수학 점수
5) 두 사람
12. 중첩 조건문
1) 남녀노소 구분짓기
2) 윤년인가
3) 출력결과 61
4) 일 수 구하기
5) 최댓값 구하기
6) 코로나 메뉴얼
7) 중앙값 구하기
'코드트리' 카테고리의 다른 글
[코드트리 조별과제] C++ 기초 : 단순 반복문 (2) (0) | 2024.08.19 |
---|---|
[코드트리 조별과제] C++ 기초 : 단순 반복문 (1) (0) | 2024.08.14 |
[코드트리 조별과제] C++ 기초 : 조건문 (0) | 2024.08.06 |
[코드트리 조별과제] C++ 기초 : 입출력 (0) | 2024.07.22 |
[코드트리 조별과제] C++ 기초 : 출력 (0) | 2024.07.15 |