[열혈C프로그래밍] chapter 8. 조건에 따른 흐름의 분기
chapter 8
조건에 따른 흐름의 분기
08-1 조건적 실행과 흐름의 분기
(1)if문
## include <stdio.h>
int main(void){
int num;
printf("정수 입력: ");
scanf("%d", &num);
if(num<0) // num이 0보다 작다면 실행
printf("num이 0보다 작다.\n");
if(num>0) // num이 0보다 크다면 실행
printf("num이 0보다 크다.\n");
if(num==0) //num이 0이라면 실행
printf("num이 0이다.\n");
return 0;
}
(2)if~else문
=> if~else문은 조건을 만족하는 구문이 있다면 나머지 뒤의 구문들은 모두 건너띈다.
#include <stdio.h>
int main(void){
int opt;
double num1=3.0, num2=3.0;
double result;
printf("opt 입력(1,2,3,4)\n");
scanf("%d" , &opt);
if(opt ==1)
result = num1 + num2;
else if(opt==2)
result = num1 - num2;
else if(opt==3)
result = num1 * num2;
else
result = num1 / num2;
printf("result=%f \n", result);
return 0;
}
(3)조건 연산자
(num1>num2) ? (num1) : (num2)
=> 조건을 만족하면 왼쪽 괄호의 변수 num1을 반환, 만족하지 못하면 오른쪽 괄호의 변수 num2을 반환.
#include <stdio.h>
int main(void){
int num,abs;
printf("정수 입력: ");
scanf("%d",&num);
abs = num>0 ? num : num*(-1);
printf("절대값 : %d \n", abs);
return 0;
}
- 08-2 반복문의 생략과 탈출: continue & break
- (1)break문
- 반복문을 빠져나가고 싶을때 사용한다.
(2)continue문 - 뒤의 반복내용은 생략하고 반복문의 조건검사 위치로 이동한다.
이후 반복조건이 여전히 부합하다면 반복문을 계속 수행한다.
08-3 switch문 case n: n의 값에 따라 if문 처럼 해당 case의 코드를 수행한다.
break: 해당 case를 수행하고 break를 해야만 switch문에 나올 수 있다.
break를 사용하지 않으면 뒤의 case들을 수행하게 된다.
default 구문은 모든 case 의 값 중에 없는 값일 경우 default 구문을 수행한다.
#include <stdio.h>
int main(void){
int num;
printf("1,2 중 입력하세요\n");
scanf("%d",&num);
switch(num)
{
case 1:
printf("1은 one. \n");
break;
case 2:
printf("2는 two. \n");
break;
default:
printf("I don't know\n");
}
return 0;