제어문
순차적인 실행 흐름을 조건에 따라 통제하는 명령으로 사용자의 요구에 따라 프로그램이 동작한다.
*제어문의 종류로는 조건문과 반복문이 있다.
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 |