* if문
- 조건에 만족되는 경우에 한해서 실행
- 한 줄 명령문인 경우 중괄호 생략가능(actionscript도 동일)
if(조건식){
명령문
}
참고) else를 사용하여 if연산을 줄여준다.
* if ~ else , else
- 불필요한 연산을 줄여준다.
- if else if...등 분기가 많으면 switch로 구현하는 것이 가독성이 좋다.
예) 계산기
int opt;
float val1,val2,result;
printf("덧셈 1, 뺄셈 2, 곱셈3, 나눗셈4 \n");
printf("선택하세요 \n");
scanf( "%d" , &opt );
printf("두개의 실수 입력 \n");
scanf( "%f %f" , &val1 , &val2 );
if( opt == 1 )
result = val1 + val2;
else if( opt == 2 )
result = val1 - val2;
else if( opt == 3 )
result = val1 * val2;
else
result = val1 / val2;
printf(" 결과 : %f \n" , result );
* 조건연산자(삼항연산자)
- if ~ else문을 간결하게 표현
- 조건 ? A : B (조건을 만족하면 A 문장을 실행 및 반환 false이면 B를 실행 및 반환)
X = (y<0)? 10 : 20;
X = (y>0)? a*b : a/b;
예) int i=5;
X = ( i < 10 ) 10 : 20;
i는 10보다 작은 5이므로 조건식을 만족하여 X의 값은 10을 반환 받게 된다.
예) 부호표시
int x;
char ch;
printf("정수 입력 : ");
scanf("%d" , &x);
ch = (x<0) ? '-' : '+';
( ch == '+' ) ? printf("양수 \n") : printf("음수 \n");
printf("절대값 : %d \n" , (x<0) ? -1*x : x);
* switch문 : 명령문 선택 실행
- if문보다 간결하다.
- 비교연상이 올 수 없다. switch문의 한계
예)
switch( 인자 : int 또는 char ){
case 1:
인자가 1인 경우 실행
break;
case 2:
인자가 2인 경우 실행
break;
default :
해당되는 case가 없을시 실행
}
예) 입력된 문자로 단어출력
int n;
char sel;
printf("오전(M), 오후(A), 저녁(E) \n");
printf("확인(q to quit) : ");
scanf("%c",&sel);
switch(sel)
{
case 'M':
case 'm':
printf("Morning. \n");
break;
case 'A':
case 'a':
printf("Afternoon. \n");
break;
case 'E':
case 'e':
printf("Evening. \n");
break;
}
참고)
break문
- 반복문에서 빠져 나올때 사용
: 호출되면 반복문에서 탈출
continue문
- 다음 반복문으로 넘어 갈때 사용
: 반복문안에서 조건을 만족하면 아래에 있는 루프문을 실행하지 않고 반복문 처음으로 돌아가 실행
참고) 함수에서 탈출하기 위해서는 return을 사용