else문은 '그 밖의'라는 의미를 가지고 있다.
else문을 추가함으로써 이것만의 선택이 아니라 저것도 선택 가능하다.
if (수행조건) {
	수행 조건 만족 시 수행
}
else {
	수행 조건 불만족 시 수행
}
이것 아니면 저것의 양자 택일 형태이다.
#include<stdio.h>
int main(void) {
	int a = 0;
	printf("정수를 입력하세요: ");
	scanf_s("%d", &a);
	if (a > 5) {
		printf("입력값은 5보다 큽니다.\n");
	}
	else {
		printf("입력값은 5보다 크지 않습니다\n");
	}
    
   	return 0;
}
출력결과
(3 입력 시)
정수를 입력하세요: 3
입력값은 5보다 크지 않습니다.
(6 입력 시)
정수를 입력하세요: 6
입력값은 5보다 큽니다.
#include<stdio.h>
int main(void) {
	int a = 0;
	printf("정수를 입력하세요: ");
	scanf_s("%d", &a);
	if (a % 2 == 0) {
		printf("입력한 수는 짝수입니다.\n");
	}
	else {
		printf("입력한 수는 홀수입니다.\n");
	}
	return 0;
}
출력결과
(4 입력 시)
정수를 입력하세요: 4
입력한 수는 짝수입니다.
(3 입력 시)
정수를 입력하세요: 3
입력한 수는 홀수입니다.
#include<stdio.h>
int main(void) {
	int a = 0;
	int b = 0;
	printf("두 개의 정수를 입력하세요: ");
	scanf_s("%d%d", &a, &b);
	if (a > b) {
		printf("큰 수는 : %d\n", a);
	}
	else {
		printf("큰 수는 : %d\n", b);
	}
	return 0;
}
출력결과
(120, 60 입력 시)
두 개의 정수를 입력하세요: 120 60
큰 수는 : 120
#include<stdio.h>
int main(void) {
	int a = 0;
	int b = 0;
	int c = 0;
	printf("세 개의 정수를 입력하세요: ");
	scanf_s("%d%d%d", &a, &b, &c);
	if (a < b && a < c) {
		printf("최소값은 : %d\n", a);
	}
	if (b < a && b < c) {
		printf("최소값은 : %d\n", b);
	}
	if (c < a && c < b) {
		printf("최소값은 : %d\n", c);
	}
	return 0;
}
출력결과
(1, 2, 3 입력 시)
세 개의 정수를 입력하세요: 1 2 3
최소값은 : 1
인생을 살면서 선택에 있어 양자택일만 있는 것이 아니다.
else if문을 사용하면 조건 자체가 계속 늘어날 수 있다.
if (수행 조건 1) {
	수행 조건1 만족 시 수행
}
else if (수행 조건 2) {
	수행 조건2 만족 시 수행
}
else {
	수행 조건1, 수행조건2 불만족 시 수행
}
#include<stdio.h>
int main(void) {
	int a;
	printf("정수를 입력하세요: ");
	scanf_s("%d", &a);
	if (a > 5) {
		printf("입력 값은 5보다 큽니다.\n");
	}
	else if (a < 5) {
		printf("입력 값은 5보다 작습니다.\n");
	}
	else {
		printf("입력 값은 5와 같습니다.\n");
			}
	return 0;
}
출력결과
(5 입력 시)
정수를 입력하세요: 5
입력 값은 5와 같습니다.
#include<stdio.h>
int main(void) {
	int a = 0;
	printf("점수를 입력하세요: ");
	scanf_s("%d", &a);
	if (a >= 60) {
		printf("합격입니다.\n");
	}
	else {
		printf("불합격입니다.\n");
	}
	return 0;
}
출력결과
(60 입력 시)
점수를 입력하세요: 60
합격입니다.
#include<stdio.h>
int main(void) {
	int a = 0;
	printf("점수를 입력하세요: ");
	scanf_s("%d", &a);
	if (a >= 60 && a <= 100) {
		printf("합격입니다.\n");
		
		if (a >= 90) {
			printf("장학대상입니다.\n");
		}
	}
	else if (a < 60 && a >= 0) {
		printf("불합격입니다.\n");
	}
	else {
		printf("유효하지 않습니다.\n");
	}
	return 0;
}
출력결과
(90 입력 시)
점수를 입력하세요: 90
합격입니다.
장학대상입니다.
❗ 명확한 로직을 위해 점수의 범위 정해주기
#include<stdio.h>
int main(void) {
	int a = 0;
	printf("나이를 입력하세요: ");
	scanf_s("%d", &a);
	if (1 <= a && a < 13) {
		printf("어린이입니다.\n");
	}
	else if (a >= 13 && a < 19) {
		printf("청소년입니다.\n");
	}
	else if (a >= 19 && a <= 100) {
		printf("성인입니다.\n");
	}
	else {
		printf("유효하지 않습니다.");
	}
	return 0;
}
출력결과
(15 입력 시)
나이를 입력하세요: 15
청소년입니다.
#include<stdio.h>
int main(void) {
	char answer = 0;
	printf("정말로 이 드라이브를 포멧하시겠습니까? (y/n) ");
	scanf_s("%c", &answer);
	if (answer == 'y') {
		printf("네, 드라이브를 포멧하겠습니다.\n");
	}
	else if (answer == 'n') {
		printf("아니오, 드라이브를 포멧하겠습니다.\n");
	}
	else {
		printf("유효하지 않습니다.");
	}
	return 0;
}
출력결과
(y 입력 시)
정말로 이 드라이브를 포멧하시겠습니까? (y/n) y
네, 드라이브를 포멧하겠습니다.
#include<stdio.h>
int main(void) {
	int score = 0;
	printf("점수를 입력하시오 : ");
	scanf_s("%d", &score);
	if (score >= 91 && score <= 100) {
		printf("학점은 A 입니다.");
	}
	else if (score >= 81 && score <= 90) {
		printf("학점은 B 입니다.");
	}
	else if (score >= 71 && score <= 80) {
		printf("학점은 C 입니다.");
	}
	else if (score >= 61 && score <= 70) {
		printf("학점은 D 입니다.");
	}
	else if (score >= 0 && score <= 60) {
		printf("학점은 F 입니다.");
	}
	else {
		printf("유효하지 않습니다.");
	}
	return 0;
}
출력결과
(88 입력 시)
점수를 입력하시오 : 88
학점은 B 입니다.
if (조건 1) 수행 `;
else if (조건2) 수행2;
else if (조건3) 수행3;
....
else
	수행n;
조건이 많아질수록 가독성이 떨어짐 => 유지보수 하기 어렵다.
그래서 switch~case문을 사용한다.
switch (n) {
	case 1:
		수행1
    	break;
    case 2:
		수행2
    	break;
	case 3:
		수행3
    	break;
    default:
    	수행4
        break;
}
default (기본값)
if문에서 else에 해당된다.
#include<stdio.h>
int main(void) {
	int shortcut;
	printf("단축키를 입력하시오: ");
	scanf_s("%d", &shortcut);
	switch (shortcut)
	{
	case 1:
		printf("딸: 010-2389-XXXX\n");
		break;
	case 2:
		printf("아들: 010-5577-XXXX\n");
		break;
	case 3:
		printf("남편: 010-4561-XXXX\n");
		break;
	default:
		printf("해당 단축키가 없습니다.\n");
		break;
	}
	return 0;
}
#include<stdio.h>
int main(void) {
	int month;
	printf("1-12월 중에 월을 입력하세요. : ");
	scanf_s("%d", &month);
	switch (month)
	{
	case 1: case 2: case 12:
		printf("겨울");
		break;
	case 3: case 4: case 5:
		printf("봄");
		break;
	case 6: case 7: case 8:
		printf("여름");
		break;
	case 9: case 10: case 11:
		printf("가을");
		break;
	default:
		printf("해당하는 월이 없습니다.\n");
		break;
	}
	return 0;
}	
출력결과
(1 입력 시)
1-12월 중에 월을 입력하세요. : 1
겨울
#include<stdio.h>
int main(void) {
	int score = 0;
	printf("점수를 입력하세요 : ");
	scanf_s("%d", &score);
	int grade = (score-1) / 10;
	switch (grade)
	{
	case 9:
		printf("학점은 A 입니다.");
		break;
	case 8:
		printf("학점은 B 입니다.");
		break;
	case 7:
		printf("학점은 C 입니다.");
		break;
	case 6:
		printf("학점은 D 입니다.");
		break;
	case 5: case 4: case 3: case 2: case 1:
		printf("학점은 F 입니다.");
		break;
	default:
		printf("유효하지 않습니다.");
		break;
	}
	return 0;
}
0~9가 아닌 1~0의 범위이므로 입력받은 값에 1을 빼서 적용시킨다.
#include<stdio.h>
int main(void) {
	int num = 0;
	printf("한 개의 정수를 입력하세요 : ");
	scanf_s("%d", &num);
	num = num % 2;
	switch (num)
	{
	case 0:
		printf("짝수입니다.\n");
		break;
	case 1:
		printf("홀수입니다.\n");
		break;
	default:
		printf("유효하지 않는 수입니다.");
		break;
	}
	return 0;
}
while(반복 조건)
{
	반복 문장
}
반복 조건을 만족하는 동안 반복 문장을 수행한다.
반복 조건을 만족하지 않으면 while문을 빠져나간다.
#include<stdio.h>
void main() {
	
	int i = 0;
	while (i < 5) {
		printf("Programming\n");
		i++;
	}
	return;
}
출력결과
Programming
Programming
Programming
Programming
Programming
#include<stdio.h>
void main() {
	int i = 0;
	while (i < 10) {
		printf("*");
		i++;
	}
	return;
}
출력결과 **********
#include<stdio.h>
void main() {
	int i = 1;
	while (i < 13) {
		printf("%d월\n", i);
		i++;
	}
	return;
}
출력결과
1월
2월
3월
4월
5월
6월
7월
8월
9월
10월
11월
12월
#include<stdio.h>
void main() {
	int i = 1;
	while (i < 10) {
		printf("2 * %d = %d\n", i, 2 * i);
		i++;
	}
	return;
}
출력결과
2 * 1 = 2
2 * 2 = 4
2 * 3 = 6
2 * 4 = 8
2 * 5 = 10
2 * 6 = 12
2 * 7 = 14
2 * 8 = 16
2 * 9 = 18
디자인

블록

과제
말하는 고양이 음성기능 활용하여 구현해보기
- 디자인
 
