여러분이 어떤 프로그램 언어를 배웠다면 if문은 그리 어렵게 생각하지 않을 것이다. 프로그램을 짜기 위해선 무조건 조건문이 들어가야 우리가 원하는 프로그램을 만들 수 있으니깐 말이다. 그래도 짚고 넘어갈려고 한다.
#include<iostream>
int main()
{
using namespace std;
int x;
cin >> x;
if (x > 10)
cout << x <<" is greater than 10" << endl;
else
cout << x << " isn't greater than 10" << endl;
return 0;
}
아주 기본적인 조건문 프로그램이다. if를 사용했으면 거의 대부분 else가 따라온다. 실제로 프로그램을 돌려보면 이해가 갈테니 패스~. 그리고 하나의 프로그램에 여러 개를 실행하고 싶으면 무조건 중괄호를 써서 묶어줘야 한다.
if문
if()
의()
안에는 boolean type이 들어간다. 0이 아니면 true, 0이면 false이다.
#include<iostream>
int main()
{
using namespace std;
int x;
cin >> x;
if (x > 10)
cout << x << " is greater than 10" << endl;
else if (x < 10)
cout << x << " isn't greater than 10" << endl;
else
cout << "x is exactly 10" << endl;
return 0;
}
else if
를 사용하여 프로그래밍하는 방법도 있다.
#include<iostream>
int main()
{
using namespace std;
int x;
cin >> x;
if (x > 10)
cout << x << " is greater than 10" << endl;
else
{
if (x < 10)
cout << x << " isn't greater than 10" << endl;
else
cout << "x is exactly 10" << endl;
}
return 0;
}
간혹 가다 이런 식으로 프로그래밍하는 방법도 있는데, 개발자들 사이에서 종종 위와 같은 프로그래밍을 사용하기도 한다. 조건문안에 또 조건문이 있고 그 안에 또 조건문이 있는 꼬리를 물고 꼬리를 무는 구조는 별로 좋지 않다. 하지만 주석이 있고 그 구조를 빨리 알아낼 수 있게 만들면 논리상으론 아무런 문제가 없다.
#include<iostream>
int main()
{
using namespace std;
int x, y;
cin >> x >> y;
if (x > 0 && y > 0)
cout << "both numbers are positive" << endl;
else if (x > 0 || y > 0)
cout << "one of the numbers is positive" << endl;
else
cout << "Neither number is positive" << endl;
return 0;
}
논리 연산자를 사용하여 프로그램을 만들기도 한다. 정말 자주 사용된다.
#include<iostream>
int main()
{
using namespace std;
int x;
cin >> x;
if (x > 10);
{
x = 1;
}
cout << x << endl;
return 0;
}
이 경우는 null statment인데, 좀 알아봐야할 필요가 있다. 자세히 보면 if
문에 ;
이 붙어있다. 우리가 아는 if
문은 ;
이 없는데 말이다. 이럴 경우 어떻게 작동할까? 실제로 코드를 복사하여 실행하면 if
문 안의 x
는 1이라는 것을 출력한다. 입력값 x
가 어떤 값이든 간에 1
을 출력하는 것을 볼 수 있다. 보통은 잘 사용하지 않는 편인데, 때론 사용하기도 한다. 그땐 주석을 달아서 다른 사람이 알 수 있도록 하는 것 이 좋다.