[CS_study] 조건문

나라리야·2021년 4월 23일
0

CS_study

목록 보기
5/18
post-thumbnail

조건문

IF문

1) IF문 내부의 조건을 검사해 프로그램의 진행 경로를 결정합니다.
2) IF문은 조건의 개수가 많지 않을 때 사용하는 것이 유리합니다.

if (조건 1) {
// 조건 1에 부합할 때
}
else if (조건2) {
 } // 조건 1에 부합하지 않지만 조건 2에 부합할 때 , 100개이상 쓸수도있지만 최대한 적게 쓰는게좋음
else {
} // 위 조건들에 모두 부합하지 않을 때

예제 1)

#define _CRT_SECURE_NO_WARNINGS //사용자로부터 입력을 받겠다 할때 꼭 적어줘야함
#include <stdio.h>

int main(void) {
printf("손님이 몇 명 왔나요? "); 
int a;
scanf("%d", &a);
if (a == 1 || a == 2) {
printf(2인석으로 안내합니다.\n”); 
}
else if (a == 3 || a == 4) { 
printf(4인석으로 안내합니다.\n”);
}
else {
printf("대형석으로 안내합니다.\n"); }
system("pause");
}

//3을 입력하면 4인석으로 안내합니다가 출력됨 

예제 2)

#define _CRT_SECURE_NO_WARNINGS //사용자로부터 수를 입력받겠다.
#include <stdio.h>

int main(void) {
int size;
printf("메인 메모리 크기를 입력하세요. (GB) "); 
scanf("%d", &size);
if (size >= 16) {
printf("메인 메모리 크기가 충분합니다.\n"); 
}
else {
printf("메인 메모리를 증설하세요.\n");
}
system("pause");
}

// else 말고 if문을 하나 더 입력할 수 있는데 기존 if문과는 별개로 구분되는 소스코드를 적어야한다. 
// 논리적으로 오류가 없는지 꼭 확인해야한다. 

Switch문

1) 다양한 조건이 존재할 때 사용하면 소스코드를 짧게 유지할 수 있습니다.

switch (확인 대상) { 
case1:
        // 값 1에 부합할 때
case2:
       // 값 2에 부합할 때
Default:
      // 모든 경우
}

예제 1)

#define _CRT_SECURE_NO_WARNINGS 
#include <stdio.h>

int main(void) {
printf("학점을 입력하세요. "); 
char a;
scanf("%c", &a);
switch (a) {
case 'A:
	printf("A 학점입니다.\n"); 
case 'B:
	printf("B 학점입니다.\n"); 
case 'C:
	printf("C 학점입니다.\n"); 
default:
	printf("학점을 바르게 입력하세요.\n"); }
system("pause");
}

이 코드에는 문제가 있는데 만약 B를 입력할경우
B학점입니다. C학점입니다. 학점을 바르게 입력하세요 이 3가지의 모든 경우가 출력됨
한가지 조건이 만족할경우 그 이후의 모든 케이스의 출력값이 한꺼번에 출력된다는 점을 명심해야함

swtich문의 특징!

1) swtich문은 조건에 부합하는 경우 아래쪽의 case도 모두 만족시킵니다.
2) 따라서 일반적인 경우 case문의 마지막에 break을 넣어 특정 부분만 실행하도록 컨트롤합니다.

예제1)을 올바르게 고치려면 아래 소스코드 처럼 입력해야함 !

#define _CRT_SECURE_NO_WARNINGS 
#include <stdio.h>

int main(void) {
printf("학점을 입력하세요. "); 
char a;
scanf("%c", &a);
switch (a) {
case 'A:
	printf("A 학점입니다.\n"); break; 
case 'B:
	printf("B 학점입니다.\n"); break; 
case 'C:
	printf("C 학점입니다.\n"); break; 
default:
	printf("학점을 바르게 입력하세요.\n"); }
system("pause");
}

//이제 B를 입력하면 "B 학점입니다."만 출력됨 

추가! switch문에는 char, int, long, double 등의 자료형을 사용할 수 있다.

예제2)

#define _CRT_SECURE_NO_WARNINGS 
#include <stdio.h>

int main(void) {
printf("월을 입력하세요. "); 
int a; //정수형 값을 입력 
scanf("%d", &a);
switch (a) {
case 1: 
case 2:
case 3: 
    printf("봄\n"); break;
case 4: 
case 5: 
case 6: 
    printf("여름\n"); break;
case 7: 
case 8: 
case 9: 
    printf("가을\n"); break; 
case 10: 
case 11: 
case 12: 
    printf("겨울\n"); break;
}
  system("pause");
}

// 6을 입력하면 "여름"이 출력된다. 

1) 조건문의 종류로는 IF문과 SWITCH문이 있다.
2) 일반적으로 조건의 개수가 적을 때 IF문을, 많을 때는 SWITCH문을 사용한다.

profile
Code의 美를 추구하는 개발자 🪞

0개의 댓글