쭌's story입니다.
출력문과 입력문에 이어서 배워볼 C언어 기본 문법은 선택제어문입니다.
일상 생활을 둘러보면 만 20세 이상, 만 40세 이하처럼 특정 연령층에 해당되는 사람들을 물어보거나
성별에 따라서 나누어 주는 물건이 다른 경우들을 쉽게 찾아볼 수 있습니다.
2년 넘게 우리를 괴롭히고 있는 코로나19만 살펴보아도 만 65세 이상, 특이 질환자 등에게
코로나19 백신 우선 접종 혜택을 주고 있습니다.
이러한 것들을 코딩을 통하여 나타내고자 한다면 선택제어문을 반드시 사용해야 합니다.
선택제어문은 풀어볼 기본 문제가 많아서 총 3단계로 진행할 예정입니다.
선택제어문의 기본은 if문입니다.
if는 다들 알고 있는 것처럼 '만약에...'라는 뜻을 가지고 있습니다.
기본 사용법은 다음과 같습니다.
예를 들어 남자인 경우에 man을 출력하고 싶다면 이렇게 소스 코드를 완성할 수 있습니다.
if(남자){
printf("man");
}
if문을 활용한 첫 번째 문제를 풀어봅시다.
풀이 전략
1. 자연수 하나를 입력 받는다.
2. if문으로 입력 받은 자연수가 10미만인지 물어본다.
- 10미만이면 small을 출력한다.
Tip. if(조건)에 해당되는 경우에 실행할 명령이 하나 밖에 없다면 { } (중괄호)를 사용하지 않아도 된다.
#include <stdio.h>
int main()
{
int a;
scanf("%d",&a);
if(a<10) printf("small");
return 0;
}
두 번째로 if - else 문을 배워보겠습니다. else는 '그 밖에' 라는 뜻을 가지고 있습니다.
if의 조건에 해당되지 않는 모든 경우는 else에 해당이 됩니다.
if - else문과 관련된 문제를 풀어봅시다.
풀이 전략
1. 정수 하나를 입력 받는다.
2. if문으로 입력 받은 정수가 10미만이면 small을 출력한다.
3. if에 해당되지 않으면 big을 출력한다.
#include <stdio.h>
int main()
{
int a;
scanf("%d",&a);
if(a<10) printf("small");
else printf("big");
return 0;
}
세 번째로 if - else if - else 문을 배워보겠습니다.
if - else if - else 문에서는 가장 먼저 if 에 해당되는지 물어봅니다. 다음으로 if에 해당되지 않는 경우들에 대해서 else if에 해당되는지 물어봅니다. if와 else if에 해당되지 않는 경우들은 else로 가게 됩니다. 이 때의 if와 else if 들은 필터에 해당된다고 생각하면 이해가 쉽습니다. 확장해 나가면 else if 의 갯수들을 늘려서 여러 가지 경우들을 만들 수 있습니다.
관련된 문제를 풀어봅시다.
풀이 전략
1. 정수 a, b를 입력 받는다.
2. if(a > b) 이면 > 출력
3. if(a < b) 이면 < 출력
4. if(a == b) 이면 = 출력
if를 3개 사용한 방법도 ok!
if - else if - else 를 사용한 방법도 ok!
Tip1. a와 b가 같은지 물어보려면 조건에 == 을 사용해야 한다.
Tip2. if(a=b)의 뜻은 b의 값을 a에 대입하고, 그 때의 a값이 0이 아닌지 물어보는 if문이 된다.
#include <stdio.h>
int main()
{
int a,b;
scanf("%d%d",&a,&b);
if(a>b) printf(">");
else if(a<b) printf("<");
else printf("=");
return 0;
}
풀이 전략
1. 두 정수 a, b를 입력 받는다.
2. if(a > b) 이면 a - b를 출력한다.
3. else 이면 b - a를 출력한다.
#include <bits/stdc++.h>
using namespace std;
int main()
{
int a, b;
scanf("%d %d", &a, &b);
if(a > b)printf("%d", a - b);
else printf("%d", b - a);
return 0;
}
풀이 전략
1. 자연수 a를 입력 받는다.
2. a가 7의 배수인지 if 를 사용하여 물어본다.
★7의 배수 확인 방법★
☞ 나머지 연산자 %를 활용한다. 즉, "7의 배수 = 7로 나누었을 때 나머지가 0"
3. 7의 배수라면 multiple 출력
4. 아니라면 not multiple 출력
풀이 전략
1. 자연수 a를 입력 받는다.
2. 홀수이면 odd 출력
3. 짝수이면 even 출력
★ 홀수, 짝수 구별 방법 ★
☞ 나머지 연산자 %를 활용한다.
☞ "짝수 = 2로 나누었을 때 나머지가 0"
☞ "홀수 = 2로 나누었을 때 나머지가 1"
#include <stdio.h>
int main()
{
int a;
scanf("%d",&a);
if(a%2 == 1) printf("odd");
else printf("even");
return 0;
}
이상으로 선택제어문1을 배워보았습니다.
댓글