if
문에 대한 설명 및 코드 정리if
문은 조건에 따라 코드를 실행하거나 건너뛰게 하는 제어 구조입니다. 조건이 참(true
)이면 특정 코드 블록이 실행되고, 거짓(false
)이면 다른 코드 블록이 실행됩니다.
if
문int num = 0;
if (num == 0)
cout << "Executed 0" << endl;
if (num != 0)
cout << "Executed 1" << endl;
if (num == 0)
: 조건이 참이므로 "Executed 0"이 출력됩니다.if (num != 0)
: 조건이 거짓이므로 아무 것도 출력되지 않습니다.if
문과 세미콜론int num = 0;
if (num != 0);
cout << "wow" << endl;
if (num != 0);
뒤에 세미콜론이 있어서 조건이 거짓이어도 다음 코드가 항상 실행됩니다.int num = 0;
// num = 0 표현식의 결과는 0이므로 조건은 항상 거짓
if (num = 0)
cout << "wow" << endl;
// 방지 방법
if (0 == num)
cout << "wow" << endl;
if
문은 num = 0
이므로 항상 거짓이 됩니다.if
문은 0 == num
으로 작성되어 대입 연산을 방지합니다.int num = 0;
if (num != 0)
{
cout << "wow" << endl;
cout << "wow1" << endl;
}
{}
는 여러 개의 문장을 하나로 묶는 역할을 합니다.{}
내부의 모든 문장이 실행됩니다.if
문int num0 = 0;
int num1 = 1;
if (num0 == 0)
if (num1 == 1)
cout << "wow" << endl;
if (num0 == 0)
{
if (num1 == 1)
{
cout << "wow" << endl;
}
}
if (num0 == 0 && num1 == 1)
cout << "wow" << endl;
if
문입니다.if
문을 중괄호로 묶은 것입니다.&&
를 사용하여 단일 if
문으로 작성된 것입니다.int num0 = 0;
if (num0++ == 0 && num0++ == 1)
{
cout << num0 << endl; // 출력: 2
}
num0 = 0;
if (num0++ + num0++ == 1)
{
cout << num0 << endl; // 정의되지 않은 행동
}
num0++ == 0 && num0++ == 1
는 &&
가 시퀀스 포인트이기 때문에 올바르게 평가됩니다.num0++ + num0++ == 1
는 평가 순서가 정의되지 않아 정의되지 않은 행동입니다.if - else
문int num0 = 0;
if (num0 == 0)
cout << "num0 == 0" << endl;
else
cout << "!(num0 == 0)" << endl;
cout << (num0 == 0 ? "num0 == 0" : "!(num0 == 0)") << endl;
if (num0 == 0)
, 조건이 참이면 "num0 == 0" 출력, 거짓이면 "!(num0 == 0)" 출력.?
를 사용한 동일한 표현.if - else if - else
문int num0 = 1;
if (num0 == 0)
{
cout << "num0 == 0" << endl;
}
else if (num0 == 1)
{
cout << "num0 == 1" << endl;
}
int score;
cin >> score;
char grade;
if (score == 100)
grade = 'A';
else if (90 <= score && score < 100)
grade = 'B';
else if (80 <= score && score < 90)
grade = 'C';
else
grade = 'D';
cout << grade << endl;
else if
는 여러 조건을 순차적으로 체크할 때 사용됩니다.int score0 = 90;
int score1 = 80;
if (score0 >= 90 && score1 >= 90)
;
else
cout << "fail0" << endl;
if (!(score0 >= 90 && score1 >= 90))
cout << "fail1" << endl;
if (!(score0 >= 90) || !(score1 >= 90))
cout << "fail2" << endl;
if (score0 < 90 || score1 < 90)
cout << "fail3" << endl;
!(A && B) == !A || !B
, !(A || B) == !A && !B
.if
문 안에서 변수 선언int num0, num1;
if (int count = scanf("%d %d", &num0, &num1))
printf("count : %d\n", count);
else
printf("fail count : %d\n", count);
// C++17 이상에서 가능
if (int num0, num1; int count = scanf("%d %d", &num0, &num1))
printf("count : %d\n", count);
else
printf("fail count : %d\n", count);
if
문 안에서 변수 선언 및 초기화.count
변수는 if
문 블록 내에서만 유효.if
문은 조건에 따라 프로그램의 흐름을 제어하는 중요한 제어 구조입니다. 이를 사용하여 다양한 조건을 체크하고, 조건에 따라 다른 작업을 수행할 수 있습니다. 위의 예제와 설명을 통해 if
문과 관련된 다양한 사용법을 이해할 수 있습니다.