오늘은 조건문에 관해서 쓰려고 한다
콘셉트는 귀찮아서 이제 버릴 거임
자 그럼 본격적으로..
- 조건문이란? -
조건문이란 말 그대로 조건이 만족될 때
문장의 실행 순서를 변경할 수 있는 문법이다
영어에서 자주 본 ~라면 ~다 와 같은 가졌다고 볼 수 있겠다
자 그럼 조건문을 어떻게 쓸 수 있는 걸까?
그 방법들을 그럼 지금부터 알아보자
1. if 문
가장 간단하게 if문 먼저 알아보자
일단 조건문의 목적은 내가 조건을 걸고 그 조건을 충족할 때
내가 원하는 답이 나와야 한다
내가 이제부터 할 코딩은 변수 a, b에 랜덤 한 값을 입력했을 때
a> b이면 a는 b보다 큽니다 라는 문장을 내보내는
코딩을 할 것이다
그럼 우린 가장 처음 조건을 설정할 줄 알아야 한다
그럼 내가 원하는 조건을 어디다 넣는가?
바로 if()에서 () 안에 조건을 넣는 거다
그리고 조건이 충족될 때 내가 원하는 답이 나오게 하려면
{} 안에 그 명령을 입력하면 된다
아래 이미지가 위 내용을 바탕으로 만든 프로그램이다
실행 후 내가 a를 b보다 더 크게 입력하면 printf에 저장된 문장을 출력해 준다
그러면 내가 b를 a보다 더 크게 입력하면 어떻게 될까?
아무것도 출력되지 않는다
그럼 이때 만약 내가 if() 안의 조건이 충족되지 않았을 때
다른 내용이 출력되길 원한다면 어떻게 해야 할까?
그때 우리는 else를 쓸 수 있다
2. if, else 문
그럼 이걸 어떻게 사용 가능한가?
아주 간단하다
그냥 새로 else를 적고 {} 안에 원하는 내용을 작성하면 된다
그러면 아래 이미지와 같다
이러면 내가 만약 if문의 조건을 만족하지 않는 값을 입력 시
프로그램은 else문의 내용을 출력해 준다
만약 내가 조건을 더 추가하고 싶다면 어떻게 해야 할까?
만약 내가 a> b이면서 a>100일 때 if문의 내용이 출력되길 바란다면
다음과 같이 하면 된다
&&는 and라는 의미를 가지기에
if의 조건을 만족하려면 a>100이면서 a> b여야 한다
그렇다면 또는은 어떻게 해야 할까?
&&대신 ||을 넣어주면 된다
그럼 조금 더 복잡하게 a>100 이면서 a는 짝수일 때 또는 a> b 일 때
라는 조건을 작성하려면 어떻게 해야 할까?
여기서 중요한 것은 ()를 어떻게 쓰느냐 이다
아래와 같이 소괄호가 조건이 뒤섞이지 않는 역할을 하기 때문에
조건을 여러 가지 작성할 때 내가 원하는 방향으로 되도록
()를 잘 분배해 가며 작성해야 한다
다시 if, else 문으로 돌아가서
우리가 주의해야 할 게 있다
else문은 가장 가까운 if문과 매치 된다
그러면 만약 연속적인 if문을 쓰기 위해선 어떻게 해야 할까?
바로 알아보자
3. else if
만약 내가 score에 입력한 수가 90 <=일 때는 a를 출력하고
80 <=일 때는 b를 출력하고 70 <=일 때는 c를 출력하고 싶다면?
그때 쓰는 게 else if다
어떻게 사용하는지는 아래를 보고 알아보자
위와 같이 작성하면 내가 입력한 값을 아래 방향 순서로 if문들을 통과하면서
조건을 충족할 때 명령을 출력한다
아주 간단하게 else if()를 새로 작성 후 if문 작성 하듯이 해주면 되는 거다
마지막 else는 없어도 되나 70보다 작은 수를 넣었을 때도 내용이 출력될 수 있게
추가한 것이다
그럼 이제 마지막으로 if문의 중첩을 알아보자
4. 중첩 if 문
아까 우리는 조건을 여러 가지 붙이는 방법을 배웠는데
거기서 소괄호가 중요하다는 것을 알았다
근데 조건을 여러 개 붙이다 보면
소괄호 때문에 보기 어렵고 복잡해질 수 있다
그렇기 때문에 if문을 중첩해서 그런 불편함을 없애 보자는 거다
그럼 그걸 어떻게 하냐 하면 if문을 쓰고 그 안에 또다시 if 문을 쓰는 거다
그럼 이 방법으로 a> b이면서 a는 3의 배수가 아닐 때
hi라는 말이 출력되는 프로그램을 작성해 보자
위와 같이 작성하면 되는데
아까 말했듯이 if문안에 if문이 중첩된 형태이다
만약 조건을 하나 더 원하면
같은 방법으로 다시 해주면 된다
자 그러면 이렇게 간단히 조건문에 알아봤다
다음엔 반복문으로 찾아오겠다
ㅂㅂ
''나'의 c언어 성장기' 카테고리의 다른 글
- 퀘스트 : C 프로그램의 기본 요소에 대해 알아보자 - (0) | 2025.03.16 |
---|---|
-나 '혼자만(?)' C언어 레벨업- (0) | 2025.03.16 |