이번에 배울건 앞으로 프로그래밍을 할때 유용하게 쓰이는건데요.
바로if문입니다. 만약~~이라면 {} 사이에 명령을 실행할수 있게끔 프로그래밍 하는것입니다.
사용하는방법은 간단합니다.
&if문
if(조건)
{
명령;
}
1)조건에는 #4에서 연산자에 나왔던 <,>,<=,>=,==,!= 을 주로 사용해주게 될거에요.
예를 들어 a가 10일때 if문을 실행시키고 싶다! 하면 if(a==10){} 이렇게 써주게 되겠죠.
처음에는 익숙하지 않아서 ==대신 =을 쓴다던가, =<,=> 을 쓰거나 하니까 주의해주세요! 특히 =의 경우 if(a=10){}이라 쓰면 a값을 10으로 바꾸라는 명령이기때문에 오류가 뜨지않습니다. 저런거로 실수하면 찾다가 골머리 앓습니다. ㅋㅋ
2)조건을 나는 여러개를 써주고 싶은데! 하는경우가 있을거에요. 예를들어 10<a<100 일때 if문을 실행시키고 싶어요. 그런데 if(a>10,a<100)이라 쓰면 오류가 납니다.ㅠㅠ 어떻게 해야할까요??
이거 또한 연산자에 있었던겁니다. 연산자를 왜 먼저 공부했는지 조금씩 도움이 되는거같죠? 바로 &&, || 입니다.
&&의 경우 and라고 생각해주시면됩니다. 두 조건이 있을때 두 조건을 다 만족시킬때 ok!라고 생각하시면 됩니다.
||의 경우 or이라고 생각해주시면됩니다. 두 조건이 있을때 두 조건 중 하나만 만족해도 ok!라고 생각하시면 됩니다.
&if~else,else 문
if(조건)
{
명령;
}
else if(조건)
{
명령;
}
else
{
명령;
}
1)else if는 위에 if, else if에 포함되지 않는 범위는 조건에 맞는것이 성립할때 실행이 됩니다. else if의 경우 몇개를 써도 상관없습니다. if문 다음에 써줍니다. else는 if나 else if가 끝난후 마지막에 써주는데요. 이녀석들이 포함하고 있는 범위 이외의 부분의 경우를 else라고 합니다.
2)if 포함 범위 이외의 조건을 더추가 하고싶을때 써줘요 else if로 if에 포함되지 않는 범위중 조건에 만족할때 {}안으로 들어가게 됩니다. 왜 if에 포함 되지않는 범위냐고요? 위에 있는 녀석일수록 우선권을 가지게 되기때문이죠. if가 실행되버리면 뒤에 있는 else if, else의 조건도 만족하는 상황이 오더라도 else if, else는 실행되지 않고 if~else문이 끝나버립니다. 예를 들어 if(a>60){}else if(a>40){} 라고 프로그래밍을 했습니다. a=65이면 if문에 먼저 들어가버리기 때문에 if문이 실행되기 else if문은 실행되지 않습니다. 그러나 a=50일 경우 if문에 들어가지 않기 때문에 else if문에 들어가게됩니다. 쉽게 집합적으로 생각해주시면 되겠습니다.
예제1
if문 사용해보기
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 | #include <stdio.h> int main() { int temperature; printf("현재 온도는?\n"); scanf_s("%d", &temperature, sizeof(temperature)); if (temperature >= 30) { printf("삐뽀삐뽀~폭염주의보를 발령합니다.\n"); printf("건강에 유의해주세요.\n"); } printf("현재 온도는 섭씨 %d 입니다. \n", temperature); return 0; } |
입력값에 따라 if문에 들어가고 안들어가는걸 확인해볼수있습니다.
예제2
if~else문 사용해보기
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 | #include <stdio.h> int main() { int num; printf("1+1=2 입니까? 1.네 2.아니요\n"); scanf_s("%d", &num, sizeof(num)); if (num == 1) { printf("정답입니다!\n"); } else if (num == 2) { printf("틀렸습니다!\n"); } else { printf("잘못된 값을 입력하셨습니다.\n"); } return 0; } |
예제3
&&(and,그리고) 사용해보기
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 | #include <stdio.h> int main() { int num; printf("저 인형의 가격은 얼마입니까?\n"); scanf_s("%d", &num, sizeof(int)); if (num >= 5000) { printf("%d원 입니다\n", num); printf("너무 비싸군요!!\n"); } else { printf("좋습니다 사겠습니다.\n"); printf("감사합니다 안녕히계세요.\n"); } if (num >= 5000) { scanf_s("%d", &num, sizeof(int)); if (num >= 3000 && num < 5000)// 3000<=num<5000 { printf("그럼 %d원은 어떻습니까?\n", num); printf("좋습니다 사겠습니다.\n"); printf("감사합니다 안녕히계세요.\n"); } else { printf("다음에 다시오겠습니다.\n"); printf("감사합니다 안녕히계세요.\n"); } } return 0; } |
흥정하는 예제입니다.
num>=3000 그리고 num<5000 이면 3000~5000 사이를 의미하는거겠죠?(단 5000원은 포함안되겠죠?)
예제4
||(or,또는) 사용해보기
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 | #include <stdio.h> int main() { int num; printf("내가 좋아하는 숫자를 맞춰봐!\n"); scanf_s("%d", &num, sizeof(int)); if (num == 1 || num == 3) printf("맞췃어! 내가좋아하는 숫자는 %d야!\n", num); else printf("틀렸어 ㅠㅠ 다시생각해봐 너가고른 숫자는 %d야\n", num); return 0; } |
1또는 3을 입력하면 좋아하는 숫자를 맞췄다고 뜨는걸 확인할수 있습니다.
응용문제
if문 완전이해하기!! 당신은 놀이공원 입장관리자입니다. 나이를 입력받고 알맞은 가격에 이장할수 있도록 안내하는 프로그램을 짜주세요. 60살이상 (노약자 요금.무료), 20살이상 60살 미만 (어른요금,9000), 8살이상 20살미만(청소년 요금,5000), 8살미만(유아 요금,무료)(단 &&, || 사용하지 않는다.)
'C언어' 카테고리의 다른 글
[C언어] stdlib.h 헤더에 대해 알아보기 (0) | 2017.05.28 |
---|---|
[C언어] 문자열 선언&출력하기 (0) | 2017.05.28 |
[C언어]#5 입력받기 scanf, scanf_s 문 (2) | 2017.04.01 |
[C언어]#4연산자들과 우선순위 (1) | 2017.04.01 |
[C언어] #3 아스키코드표와 이스케이프 시퀸스 (0) | 2017.03.31 |