Chater4 조건문

Joosi_Cool·2022년 6월 25일
2

C++

목록 보기
3/20
post-thumbnail

🐣조건문

if문

if문은 조건문이 참일시 문장을 실행하는 구조를 가진다.

if문에서 else를 사용할 수 있다. 이를 해석해보면 조건_표현식이 참이면 문장 1을 실행하고, 거짓이면 문장 2를 실행한다.

//if문 예시 코드
#include<iostream>
using namespace std;
int main() {
	int score;
	cout << "당신의 점수를 입력하시오: ";
	cin >> score;
	if (score >= 70) {
		cout << "Pass입니다." << endl;
	}
	else {
		cout << "Fail입니다." << endl;
	}
	return 0;
}

if-else문

if문에서 else if를 사용할 수 있다. 이는 if문이 거짓일 경우 순서대로 참인지 확인하게 된다. 참일 시 그 문장을 시행하고 밖으로 가게 된다.

  // else-if문 예시코드
  #include<iostream>
using namespace std;
int main() {
	int score;
	char grade;
	cout << "당신의 점수를 입력하시오: ";
	cin >> score;
	if (score >= 90) {
		grade = 'A';
	}
	else if (score >= 80) {
		grade = 'B';
	}
	else if (score >= 70) {
		grade = 'C';
	}
	else if (score >= 60) {
		grade = 'D';
	}
	else {
		grade = 'F';
	}
	cout << "당신의 학점은 " << grade << "입니다." << endl;
	return 0;
}

논리표현식

논리 표현식에는 아래와 같이 총 3가지 있다.

  • NOT(!, 논리부정) => 참은 거짓으로, 거짓은 참으로 바꾼다.
  • AND(&&, 논리곱) => 그리고
  • OR(||, 논리합) => 또는

위의 표는 진리표로 참고하면 좋다.

  //논리 표현식 예시
  #include<iostream>
using namespace std;
int main() {
	int age;
	cout << "당신의 나이를 입력하시오: ";
	cin >> age;
	if ((age >= 25) && (age <= 100)) {
		cout << "당신은 차를 빌릴 수 있는 나이입니다." << endl;
	}
	else {
		cout << "당신은 차를 빌릴 수 있는 나이가 아닙니다." << endl;
	}
	return 0;
}

대표 코드(윤년 구하기)

  #include<iostream>
using namespace std;
int main() {
	int year;
	cout << "연도를 입력하십시오: ";
	cin >> year
	if ((year % 400 == 0) || ((year % 4 == 0) && !(year % 100==0))) {
		cout << "윤년입니다." << endl;
	}
	else {
		cout << "윤년이 아닙니다." << endl;
	}
	return 0;
}

switch 조건문

이 조건문은 특정한 값을 기반으로 조건을 분기할 때 사용한다. 구조는 아래와 같다. 표현식의 값을 확인한 후, 맞는 값부터 문장들을 실행한다.
* 여기서 주의해야 될 점은 그 case에 해당하는 문장만 실행하는 것이 아니라 그 case부터 뒤를 쭉 다 실행한다. 만약 그 case끝내고 싶다면 break구문을 활용해야한다.

default 분기

switch 구문의 모든 case 분기에도 진입하지 못한 경우 특정 문장을 실행하고 싶다면 default분기를 사용
이 구문은 마지막 부분에 한번만 사용할 수 있고, 입력이 잘못되었다는 것을 감지할 때 많이 활용된다.

  //switch문 예시 코드(학점 구하기)
  #include<iostream>
using namespace std;
int main() {
	int score;
	char grade;
	cout << "당신의 점수를 입력하시오: ";
	cin >> score;
	switch (score/10)
	{
	case 10:
		grade = 'A';
		break;
	case 9:
		grade = 'A';
		break;
	case 8:
		grade = 'B';
		break;
	case 6:
		grade = 'C';
		break;
	case 5:
		grade = 'D';
		break;
	default:
		grade = 'F';
		break;
	}
	cout << "당신의 학점은 " << grade << "입니다." << endl;
	return 0;
}

삼항 연산자

조건부 표현식(삼항연산자)은 다음과 같은 형태를 취한다.
이는 조건이 참이면 표현식1, 거짓이면 표현식2를 실행한다.

  #include<iostream>
using namespace std;
int main() {
	int num1, num2;
	int large;
	cout << "첫번째 수 입력: ";
	cin >> num1;
	cout << "두번째 수 입력: ";
	cin >> num2;
	large = num1 > num2 ? num1 : num2;
	cout << "둘 중에 큰 수는 " << large << "입니다" << endl;
	return 0;
}

profile
집돌이 FE개발자의 노트

0개의 댓글