c언어 if문 구현 방식에 대해 설명?
c언어의 if문이 이해가 안 돼요,,,, 한 두개의 명령어 영역은 이해하고 구현할 수 있지만 if문이 여러개고 else 문 까지 있는 경우에는 더욱 어렵게 느껴지는데 설명해주실 수 있나요..?
아래 구문으로 예를 들면, 변수 i 가 1인 경우는 첫번째 if 조건문만 실행됩니다. 2인 경우에는 두번째 else if 조건만 실행되구요. i가 1도 아니고 2도 아닌 다른 수가 입력되면 else 조건문만 실행됩니다.
if (i == 1) {
printf("1입니다.");
}else if(i == 2) {
printf("2입니다.");
}else {
printf("1, 2가 아닌 그 밖의 수입니다.");
}
else 문의 경우 if문의 조건들을 보고나서 맞지 않으면 else문이 실행이 된다고 보면 됩니다.
if (조건1) {
}
1번 조건이 만족하면 실행이 되고 아니면 종료가 됩니다.
if (조건1) {
} else {
}
1번 조건이 만족한다면 if안에 있는 내용이 실행이 되지만 1번조건이 만족하지 않는다면 else에 있는 코드가 실행이 됩니다.
if (조건1) {
} else if (조건2) {
} else {
}
1번 조건이 만족한다면 else if, else는 실행이 되지 않습니다.
1번 조건이 만족하지 않는다면 2번 조건을 확인하고 그래도 맞지 않는다면 else에 있는 내용이 실행이 됩니다.
컴퓨터는 논리적으로 접근하시면 쉽습니다.
그래서 비교문시 논리적으로 나열한것을 그대로 코딩을 하시면 됩니다
너무 어렵다고 느끼시면 꼭 모든걸 if 문으로만 해결할 생각을 마시고
switch 문과 함께 사용하시면 엄청 간결해짐을 확인할 수 있을것입니다
if 와 switch 문을 함께 사용해보세요
모든 C언어는 scope로 구문 됩니다.
if문도 { } 로 묶어 놓은 scope에 실행 여부가 결정됩니다.
if(조건식){ A 실행~ }else{ B 실행~ }위에 보시는 예로 조건식이 참이면, if다음의 scope에 있는 구문이 실행됩니다. 조건문이 거짓이면 else 다음의 scope에 있는 구문이 실행됩니다.
if다음의 scope로 구문이 실행되는지 아닌지 판단하시면됩니다.