C언어

4) 조건문

SleeveStar 2021. 1. 13. 12:10
반응형

제어문

순차적인 실행 흐름을 조건에 따라 통제하는 명령으로 사용자의 요구에 따라 프로그램이 동작한다.

 

*제어문의 종류로는 조건문과 반복문이 있다.

 

if 조건문

if(조건 수식) 명령문;  *조건이 만족되면 실행

()괄호 안에 있는 조건 수식의 결과 값이 참일 경우 그 뒤에 명시한 명령문 1개를 수행하는 문법으로

참은 0이 아닌 모든 값을 의미한다.

 

* if 조건문을 사용할때 연산자를 혼동하거나 세미콜론으로 인한 오류에 주의할 것

 

if ~ else ~ 조건문

'예를 들어 비가 오면 우산을 들고 가고 그렇지 않으면 운동화를 신고 나간다.' 라는 표현을 사용하여 조건과

반대 조건을 한 번에 사용하는 것이 더 편할 수 있다.

 

예시

if(비가 온다) 우산을 들고 간다;

if(비가 오지 않는다) 운동화를 신고 나간다;

 

if(data == 10) data = 0; /*10이 참이면 data에 0을 저장함*/

if data != 10) data++; /*10이 참이 아니면 data값을 1 증가시킴*/

 

if ~ else ~ 조건 수식 연산자

조건 수식 연산자는 if ~ else ~ 조건문과 비슷한 형태를 가지는 연산 수식이다.

 

결과 값 = (조선 수식)? 수식1 : 수식2; 

수식1 : 참일 때 실행해 결과 값을 저장 수식2 : 거짓일 때 실행해 결과 값에 저장

 

/*반환된 연산 결과 값을 point에 저장함*/

point = (value >= 10000) ? value * 0.1 : value * 0.05;

 

if(data > 5) return 1; /*data가 5보다 크면 1을 반환함*/

else return 0; /*data가 5보다 작거나 같으면 0을 반환함*/

 

중첩된 if 조건문

달력을 예를 들면 2020년 12월 31일에서 1일을 증가시키면 연도와 월, 날짜가 조건에 따라 함께 변경되는 예제입니다.

 

중첩된 if ~ else ~ 문

 

굉장히 복잡해보이는 코딩
위와 같이 최소화 하여 소스 코드를 구성할 수 있습니다.

switch 조건문

정해진 상수들과 직접적인 비교를 할 수 있는 문법구조로 if ~ else if ~ else 조건문보다 효율적이다.

if문의 경우에는 조건식의 결과가 참, 거짓으로만 되어있기 때문에 경우가 많아질수록 else if 를 추가해야하며 소스코드가 비효율적으로 복잡해진다. 반면에 switch 조건문의 경우에는 하나의 조건식으로 많은 경우의 수를 처리할 수 있다.

 

*case문에는 break문을 포함합니다.

 

조건 수식과 일치하는 case 상수가 없으면 default문을 수행한다.

 

예시

 

 

반응형

'C언어' 카테고리의 다른 글

7) 지역 변수와 전역 변수  (0) 2021.01.22
5)반복문  (0) 2021.01.14
3) 연산자  (0) 2021.01.10
2-1) 헤더파일 & 출력  (0) 2021.01.08
2) 상수와 변수 그리고 함수  (0) 2021.01.07