조건문
조건문은 조건에 따라서 동작이 달라지는 문장으로, if-else문과 switch-case문이 있습니다. 상황에 따라서 두 조건문을 이용하면 여러가지를 구현할 수 있습니다.
- if-else문
if의 뜻은 만일에,만약에 라는 뜻이잖아요? 그 "만일,만약"이라는 조건에 맞으면 실행하는 조건문입니다. if문은 if절과 else절, else if절로 구성됩니다. else if절은 다른 조건의 if라고 보시면 됩니다. 그리고 if절만 사용할 수 있고, else절과 else if절은 무조건 사용해야만 하는건 아닙니다. if괄호안에 조건이 참일 때 if문을 수행하고, else 절은 조건이 거짓일때 수행합니다.
-------------------------------------------------------------------------------------------
else if(if와는 다른 조건){
-------------------------------------------------------------------------------------------
저번에 했던 알파벳 출력을 if-else문을 이용 해 구성해보았습니다. 아래코드는 if문은 대문자를 소문자로 변환, else if문은 소문자를 대문자로 변환, else는 영문이 아닌 문자를 입력했다고 출력해주는 코드입니다.
-------------------------------------------------------------------------------------------
#pragma warning(disable:4996) // viusal studio에서 scanf 함수를 사용하기위해 사용
int main()
{
char ch; //입력받을 변수선언
printf("영문 대문자는 소문자로, 소문자로는 대문자로 변환합니다.\n문자를 입력하세요 : ");
scanf("%c", &ch); // 입력받는 함수
if (ch >= 65 && ch <= 90) // 대문자를 입력했을 때
{
printf("소문자로 변환 : %c\n", ch + 32);
}
else if (ch >= 97 && ch <= 122) // 소문자를 입력했을 때
{
printf("대문자로 변환 : %c\n", ch - 32);
}
else{ // 대문자도 소문자도 아닌 문자를 입력했을 때
printf("영문이 아닌 기타 문자를 입력하셨습니다. \n");
}
}
-------------------------------------------------------------------------------------------
각각 문자를 입력했을 때, 출력되는 결과는 다음과 같습니다.
-------------------------------------------------------------------------------------------
break를 쓰지않으면 case를 여러개 묶어서 사용할 수 있습니다.
-------------------------------------------------------------------------------------------
#pragma warning(disable:4996) // viusal studio에서 scanf 함수를 사용하기위해 사용
int main()
{
int num; // switch문에 사용할 정수값 변수선언
double x, y; // 계산에 사용할 dobule형 변수선언
printf("1)'+' 2)'-' 3)'*' 4)'/' \n계산하고싶은 항목의 번호를 입력해주세요 : ");
scanf("%d", &num); // switch문에 사용할 정수값을 입력받음
switch (num)
{
case 1:
printf("계산할 x,y를 입력하세요 : ");
scanf("%lf %lf", &x, &y); //계산할 x,y를 입력받음
printf("%.2lf + %.2lf = %.2lf \n", x, y, x + y); // 입력받은 x,y와 계산된 결과값 출력
break;
case 2:
printf("계산할 x,y를 입력하세요 : ");
scanf("%lf %lf", &x, &y); //계산할 x,y를 입력받음
printf("%.2lf - %.2lf = %.2lf. \n", x, y, x - y); // 입력받은 x,y와 계산된 결과값 출력
break;
case 3:
printf("계산할 x,y를 입력하세요 : ");
scanf("%lf %lf", &x, &y); //계산할 x,y를 입력받음
printf("%.2lf * %.2lf = %.2lf. \n", x, y, x*y); // 입력받은 x,y와 계산된 결과값 출력
break;
case 4:
printf("계산할 x,y를 입력하세요 : ");
scanf("%lf %lf", &x, &y); //계산할 x,y를 입력받음
printf("%.2lf / %.2lf = %.2lf \n", x, y, x / y); // 입력받은 x,y와 계산된 결과값 출력
break;
default:
printf("잘못된 값을 입력하셨습니다. 1~4번 항목을 선택해주세요. \n");
return main(); // main 함수로 return
}
-------------------------------------------------------------------------------------------
아래 그림은 실행결과입니다 처음에 항목의 번호를 입력하면 switch문의 case 4가 실행이됩니다. x,y를 입력받고 계산을 마친뒤에 break에 의해 프로그램이 종료가 됩니다.
아래그림은 1~4가 아닌 다른값을 입력했을 때 default절이 실행이되고, 메인함수를 리턴해서 다시 처음부터 실행되는걸 확인할 수 있습니다.
* 출처 : 한국기술교육대학교 온라인평생교육원 C 프로그래밍_1
스타일 C프로그래밍 저.김종훈,김종진 출.WellBook
'언어 > C' 카테고리의 다른 글
[C] 기타 제어문 (0) | 2016.12.19 |
---|---|
[C] 반복문 (0) | 2016.12.18 |
[C] 연산자 (0) | 2016.12.16 |
[C] 입출력함수, 기본자료형, 형변환 (0) | 2016.12.15 |
[C] C 기본개념(2) 라이브러리와 변수 (0) | 2016.12.12 |