풀스택개발자될거임
[Do it C언어 입문 정리] 8.조건문 본문
제어문이란?
프로그램의 실행흐름을 제어하는 문법
문법
if 조건문 (단일)
if(조건수식) 명령문;
조건수식이 참이면 명령문을 실행함
TMI
조건수식에 0 이외의 값을 넣으면 참으로 인식해서 명령문이 실행됨
만대로 0을 넣으면 거짓으로 인식함
그리고 조건수식이 참이면 1로 바뀜
이걸 이용해서 이런것도 가능함
int a = 1;
printf("%d\n",(a == 1));
결과
1
int a = 1;
printf("%d\n",(a == 3));
결과
0
예시
명령문1;
if(조건수식) 명령문2;
명령문3;
조건수식이 참일경우 : 명령문1 -> 명령문2 -> 명령문3
조건수식이 거짓일경우 : 명령문1 -> 명령문3
if 조건문 (복합)
예시
명령문1
if(조건수식)
{
명령문2;
명령문3;
}
명령문4;
조건수식이 참일경우 : 명령문1 -> 명령문2 -> 명령문3 - > 명령문4
조건수식이 거짓일경우 : 명령문1 -> 명령문4
if ~ else ~ 조건문
만약 조건문이 거짓일때 다른 명령문을 실행하고 싶다면 else 문을 쓰면 된다. 만약 else 문을 쓰지 않는 다면...
int a = 1;
if(a == 1) 명령문1;
if(a == 2) 명령문2;
if(a == 3) 명령문2;
.
.
.
.
.
코딩하기 싫어질거다.
예시
명령문1;
if(조건수식) 명령문2;
else 명령문3;
명령문4;
조건수식이 참일경우 : 명령문1 -> 명령문2 -> 명령문4
조건수식이 거짓일경우 : 명령문1 -> 명령문3 -> 명령문4
수식 연산자
if ~ else ~ 랑 비슷함
결과값 = (조건수식) ? 수식1 : 수식2
조건수식이 참일경우 : 수식1을 결과값에 저장
조건수식이 거짓일경우 : 수식2를 결과값에 저장
예시
int a = 1;
char point;
point = (a == 1) ? 'Y' : 'N';
printf("%c\n",point);
결과
Y
if ~ else if ~ else
if 가 거짓이면 else if 문을 실행함 else if 도 거짓이면 else 문
예시
명령문1;
if(조건수식1) 명령문2;
else if(조건수식2) 명령문3;
else 명령문4;
명령문5
조건수식 1이 참일 경우 : 명령문1 -> 명령문2 -> 명령문5
조건수식 2가 참일 경우 : 명령문1 -> 명령문3 -> 명령문5
조건수식1 ~ 2 가 모두 참일 경우 : 명령문1 -> 명령문2 -> 명령문5 - 둘다 참이면 첫번째 조건문의 명령문만 실행됨
조건수식1 ~ 2 가 모두 거짓일 경우 : 명령문1 -> 명령문4 -> 명령문5
switch (if ~ else if ~ else 랑 비슷)
if ~ else if ~ else 랑 비슷함
명령문1
switch (수식 또는 변수)
{
case 상수1:
명령문2;
break;
case 상수2:
명령문3;
break;
default :
명령문4;
break;
}
명령문5;
"수식 또는 변수" 랑 상수 들을 비교해서 참이면 명령문을 실행함 모두 거짓이면 default 실행
break 를 안쓰면 다른 조건의 명령문까지 실행됨 (안써도 되는 경우도 있음)
주의사항
1. 대입 연산자 랑 관계연산자 구분 잘해야됨
if(data = 1) x
if(data == 1) o
2. 세미콜론
if(data == 1); 명령문; X
if(data == 1) 명령문; O
'C > do it C언어 입문' 카테고리의 다른 글
[Do it C언어 입문 정리] 10.시프트 연산자와 비트 연산자 (0) | 2022.12.25 |
---|---|
[Do it C언어 입문 정리] 9.반복문 (2) | 2022.12.23 |
[Do it C언어 입문 정리] 7.연산자 (0) | 2022.11.21 |
[Do it C언어 입문 정리] 6.라이브러리 (0) | 2022.11.19 |
[Do it C언어 입문 정리] 5.함수 (0) | 2022.11.18 |