'나'의 c언어 성장기

-조건문이란?-

kdh-embeded-study 2025. 3. 27. 23:16

 

 

오늘은 조건문에 관해서 쓰려고 한다

콘셉트는 귀찮아서 이제 버릴 거임

 

자 그럼 본격적으로..

 

- 조건문이란? -

 

조건문이란 말 그대로 조건이 만족될 때

문장의 실행 순서를 변경할 수 있는 문법이다

영어에서 자주 본 ~라면 ~다 와 같은 가졌다고 볼 수 있겠다

 

자 그럼 조건문을 어떻게 쓸 수 있는 걸까?

 

그 방법들을 그럼 지금부터 알아보자

 

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 일 때 

라는 조건을 작성하려면 어떻게 해야 할까?

여기서 중요한 것은 ()를 어떻게 쓰느냐 이다

a%2의 나머지가 0 이길 원하므로 == 을 사용, 원치 않는다면 !=을 사용하면 된다

 

아래와 같이 소괄호가 조건이 뒤섞이지 않는 역할을 하기 때문에

조건을 여러 가지 작성할 때 내가 원하는 방향으로 되도록

()를 잘 분배해 가며 작성해야 한다

 

다시 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문이 중첩된 형태이다

만약 조건을 하나 더 원하면

같은 방법으로 다시 해주면 된다

 

자 그러면 이렇게 간단히 조건문에 알아봤다

다음엔 반복문으로 찾아오겠다

 

ㅂㅂ