'2010/03'에 해당되는 글 1건
- 2010/03/24 if문ㅋ
if문 그냥 아예 처음 배운다고 생각하고 쓸께
일단 if문은 제어문의 한 종류니깐 제어문이 뭔지 간단하게 알아보고 들어가자.
봐도 모르겠으면 폰으로 ㄱㄱ
▣ 제어문
제어문은 말 그대로 프로그램의 흐름을 제어하는 문장 정도로 알고 있으면 돼.
우리가 막
cout나 cin 이런 말들을 C++ 소스에 써서 실행시키면 위에서부터 차례대로 그 문장이 화면에 쫙쫙 뜨지?
근데 제어문을 쓰면 꼭 차레대로 가지 않고 여러가지 조건에 따라서 다시 위로 갔다가 옆으로 갔다가 쭈욱 아래로 내려갈 수 있어.
말 그대로 프로그램의 흐름을 이리갔다 저리가도록 만들어주는게 제어문임.
if문은 이런 제어문들 중 하나야.
제어문은 if문 외에도 while, for, switch 등이 있는데 책에도 나와있고 아니면 나중에 수업시간에도 알려줄꺼야 아마.
▣ 영어에서의 if
if를 영어로 하면 보통 "만약에"라는 뜻으로 해석되지?
일단 예시로 우리가 알고 있는 영어라는 언어에서 쓰이는 if문을 살펴보자.
If you go, I also go
(너가 가면 나도 간다.)
위 문장을 보면 If가 들어간 절이 조건절이고 쉼표 다음에 오는 절이 주절이지?
정리하면
조건
= 너가 가면
그러면
= 나도 간다
이렇게 되겠지.
장난을 좀 더해서 이걸 프로그래밍에서 쓰이는 if문으로 바꾸면 다음과 같아.
if (너 == 간다) {
나 = 간다;
}
▣ if문의 기본
이제 프로그래밍에서 쓰이는 if문을 보자
if문의 일반적인 구조는 다음과 같아.
if 다음에 소괄호 안에 "조건식"이라고 들어가 있는거 보이지?
말 그대로 어떤 조건이 들어가는거야.
고등학교나 중학교 컴퓨터 시간에 엑셀 한 번쯤은 만져봤지?
그때 아마 IF(A>B, ~~~) 이런거 쳤던거 기억날꺼야.
그 기억 떠올리면 이해하기 더 수월해. 왜냐면 여기서도 같은 의미거든.
코드를 다음과 같이 쳤다고 해보자.
a를 10이라고 해줬고 b를 5라고 해줬지?
그리고 if문에 a > b 라는 조건을 넣어준게 보이지?
그럼 이제 조건식에 써있는대로 a가 b보다 크면 저 if문 다음에 중괄호{ } 안에 있는 cout << "a가 b보다 큼"; 이라는 게 실행되게 돼.
이제 초등학교 때 배웠던 초과, 이상, 미만, 이하, 같음, 다름 같은 개념만 알고 있으면 if문의 기본은 끝나.
이 개념들을 조건식으로 표현하면 다음과 같아.
| a가 b 초과(보다 큼) | a > b |
| a가 b 이상(보다 크거나 같음) | a >= b |
| a가 b 미만(보다 작음) | a < b |
| a가 b 이하(보다 작거나 같음) | a <= b |
| a와 b가 같음 | a == b |
| a와 b가 다름 | a != b |
이것들이 참이면 중괄호{} 안에 있는 문장들이 실행되는거지.
여기까지 어때?
▣ 조건식을 만족하지 않으면?
if문에 쓴 조건식이 만족하지 않을 때에도 분명 어떤 처리를 해줘야 좋을거야. 그치?
예제를 보면서 하는게 더 쉬우니깐 예제를 보자.
아까 위에 있던 예제에 코드를 조금 추가시켰어.
else if 라는 건데 이건 if문하고 항상 붙어다니는거야.
그래서 따로 else if 문이라고 부르지 않아. if문에 이어져서 쓰이는 부속품 같은거야.
정확히 else if 의 기능이 뭐냐면
if 옆에 쓴 조건식이 만족하지 않을 경우 else if 에 있는 조건으로 넘어가서 그게 맞으면 그것에 해당하는 코드를 실행해주는 게 기능의 전부야.
위의 예제에서보면 일단 if문에서 a가 b보다 크면 cout << "a가 b보다 큼"; 을 실행하라고 if문에 써있지?
근데 a는 10이고 b는 15니깐 틀렸잖아.
이때 그 밑에 있는 else if 로 내려와서 또 검사를 해주게 돼.
else if 에는 a < b 이렇게 써있어서 a가 b보다 작으면 cout << "b가 a보다 큼"; 을 실행하라고 써있지?
이건 만족하니깐 결국 cout << "b가 a보다 큼"; 이 실행되는거야.
다음 예제를 보자.
예제를 보니깐 else if문이 하나 더 생겼지?
이렇게하면 먼저 첫 번째 조건 a > b가 맞나 보고 이게 틀리면
그 다음 else if에 있는 조건 a < b가 맞나 보고
이거도 아니면 마지막 else if에 있는 a == b가 맞나 확인한 다음 그 중괄호 안에 있는 문장들을 실행하게 되지.
또 예제 하나만 더 보자.
이번엔 else라는 걸 썼어.
else라는 건 뭐냐면 영어 뜻 그대로야.
위에 모든 조건을 만족하지 않을 경우 다 씹고 실행할 문장들을 else 중괄호 안에 넣어주면 되는거야.
위 예제에서 a = 10, b = 10인데 첫 번째 조건인 a > b도 안 맞고 그 다음 조건인 a < b 하고도 안 맞으니깐 마지막으로 else에 있는 몰라몰라가 출력되겠지.
▣ if문 안에 if문을 쓰자
자 이제 기다리고 기다리던 3주차 과제와 밀접한 부분에 대해 알아보자.
말 그대로 if문 안에다가 if문을 또 쓰는거야.
말이 이상하다고?
어떻게 if문이 있는데 그 안에 if문을 또 쓰냐고?
예제를 우선 보자
(일단 난 티아라 팬까진 아니야 하다보니깐 이렇게됨 ㅋ)
홀 나 지금 나가야된다 ㅠㅠㅠㅠㅠㅠㅠㅠㅠㅠㅠ
빨리 쓸께!!! 이게 마지막이야
일단 Tara가 Kara보다 큰 지 비교했지?
그런데 Tara가 100이고 Kara가 50이니깐 조건이 맞어
이제 조건이 맞으니깐 그 중괄호 안으로 들어가겠지?
근데 중괄호 안에 if문이 있네?
그리고 그 If문에는 Tara가 GirlsGeneration보다 큰 지 비교하는 게 있지?
역시 그게 맞으니깐 그 안에 중괄호로 들어가서 티아라 최고가 출력돼
나 나감 빠이 ㅠㅠ





Recent comment