1. 조건문
특정 조건에 해당하는 경우에만 코드를 수행하고 싶은 경우
C++의 조건문 기본 포맷
if (조건) {
조건이 참일 경우에만 수행
}
if 내부라는 범위를 명확히 정의하기 위해 C++에서는 중괄호 { }를 사용해서 지정
if가 지정하는 조건을 만족하면, 해당 블록 내부에 있는 코드만을 실행
#include <iostream>
using namespace std;
int main() {
int a;
cin >> a;
if (a > 10) {
a += 5;
cout << a << endl;
a -= 6;
}
cout << a;
return 0;
}
55
60
54
자바랑 마찬가지로 { }블록을 쓰지 않는다면, if조건 다음에 나오는 오직 한 줄의 코드만, if 조건에 의해 실행된다.
다음 a > 10이면, a += 5가 실행되고, a -= 6도 실행된다.
반대로 a <= 10이면, a+=5는 실행되지 않고, a-=6만 실행된다.
a -=6은 if 조건문과 관계없이 항상 실행된다.
if (a > 10)
a += 5;
a -= 6;
생략할수 있다고 하지만.. 현업 개발자 피셜로 중괄호는 반드시 사용하는것을 권장함
2. 비교 연산자
if문의 조건문을 위해 비교연산자 사용
a > b, a >= b, a < b, a <= b, a == b, a != b
여기서 ==은 값 뿐만 아니라, type도 일치해야한다.
즉, 1 == '1'은 false이다.
3. 배수 판별
%연산을 이용하면 a가 n의 배수인지를 판별할 수 있다.
a가 n의 배수라는 것은 a를 n으로 나눈 나머지가 0이라는 뜻이다.
a가 짝수라면, a를 2로 나눈 나머지가 0이고 홀수라면 2로 나눈 나머지가 1인지로 판
int a;
cin >> a;
if (a % 5 == 0) {
cout << "multiple of 5";
}
4. 연습문제
오직 if문으로만 n이 음수인지 판단하기.
n을 첫번째 줄에 출력하고, n이 음수라면, 두번째 줄에 "minus"도 출력..
생각보다 어려울걸?
#include <iostream>
using namespace std;
int main() {
int n;
cin >> n;
cout << n;
if (n < 0){
cout << endl << "minus";
}
return 0;
}
5. if - else 조건문
else라는 구문을 이용해서, if 조건에 해당하지 않는 경우에만 특정 코드를 수행하게 만들 수 있다.
if (조건) {
여기에 조건이 참일 경우에만 수행되는 코드 작성(A)
}
else {
여기에 조건이 거짓일 경우에만 수행되는 코드 작성(B)
}
이 위치에 있는 코드는 조건과 무관하게 항상 수행됩니다.(C)
중요한 점은 조건이 참이면, A,C가 수행되고 거짓이면 B,C가 수행된다.
else를 쓰지 않고 다음과 같이 쓴다면?
if (조건1) {
여기에 조건이 참일 경우에만 수행되는 코드 작성(A)
}
if (조건2) {
여기에 조건이 거짓일 경우에만 수행되는 코드 작성(B)
}
이 위치에 있는 코드는 조건과 무관하게 항상 수행됩니다.(C)
프로그램은 조건 1을 검사해서, 참이면 A를 수행하고 조건 2를 또 검사해서 참이면 B도 수행하게 된다.
if else와 if if의 차이는 if else는 조건을 검사하면 나머지는 수행 안하고..
if if는 모든 조건을 검사하게된다는 점
다시 강조해도 중요한 부분
다음은 입력받은 n이 80이상이면 "pass" 그렇지 않다면 몇점이 더 필요한지 출력하는 코드
#include <iostream>
using namespace std;
int main() {
int n;
cin >> n;
if (n >= 80){
cout << "pass";
} else {
cout << 80 - n << " more score";
}
return 0;
}
'알고리즘 > C++ 기초' 카테고리의 다른 글
C++ 알고리즘 기초12 -비교연산 배우기, and와 or 배우기- (0) | 2023.05.17 |
---|---|
C++ 알고리즘 기초11 -조건문 배우기2(삼항연산, if-else if-else) (0) | 2023.05.16 |
C++ 알고리즘 기초9 -사칙연산 배우기- (0) | 2023.05.14 |
C++ 알고리즘 기초8 -빠른 입출력을 위한 cin,cout과 scanf & printf 배우기- (0) | 2023.05.13 |
C++ 알고리즘 기초7 -문자,문자열 입력받기- (0) | 2023.05.13 |