c언어는 기본적으로 순차적진행 이에요. a->b->c이러한 순서로 내려가면서 차례대로 수행하게 되죠
예를들어
printf("hello world\n");
printf("c언어 시작!\");
이문장은
hello world
c언어 시작!
이렇게 출력이 되죠
그렇다면 만약에 ~~~이면 a를 실행하고 ~~~가 아니면 b를 실행하게 할수있는 방법이 있을까요?
그방법이 바로 if문이에요.
if문은 괄호 안에 내용이 참이면 아래부분을 실행하고 거짓이면 {}안에 부분을 실행하지않고 내려가게 된답니다.
if(조건내용)
{실행될부분}
그럼 if문을 이용한 간단한 코드를 보도록 해요.
#include<stdio.h>
int main()
{
int a, b, c, big;
printf("비교할 숫자 3개를 입력하세요\n");
scanf("%d%d%d",&a,&b,&c);
if(a>b)
big=a;
else
big=b;
if(big<c)
big=c;
printf("%d,%d,%d중 가장큰수는 %d 입니다.\n",a,b,c,big);
return 0;
}
3가지 수를 입력받아 가장큰수를 비교하는 코드에요.
a랑 b를 비교해서 큰수를 big안에 넣고 그 big과 c를 비교해서 big보다 c가 더크면 big=c 를 해주게되죠.
그런데 여기서 else는 무엇일까요?
else는 if안에 조건이 거짓이면 나를 실행해!!하고 이야기해주는 부분이에요.
그러니까 a=1 b=2일때 a>b이면 이것은 거짓이죠.
이때 else문이 실행되어 big=b가 되는 거에요.
이번엔 이 예제를 보도록 해요.
#include<stdio.h>
main()
{
int score;
char grade;
puts("성적을 입력하세요:");
scanf("%d",&score);
if(score>=90)
grade='A';
else if(score>=80)
grade='B';
else if(score>=70)
grade='C';
else if(score>=60)
grade='D';
else
grade='F';
printf("%d는 %c입니다\n",score, grade);
}
성적을 socre에 입력받고 그결과를 if문으로 비교해서 내성적이 A인지 B인지 C인지 계속 비교해 나가고 있어요.
방금 if와 else는 봤는데 else if는 무엇일까요?
else if는 위에있는 if문이 거짓이면 날 비교해!! 하는 함수에요.
if-> else if-> else if-> else
if가아니면 else if 안에 조건을 비교해! 얘도 아니면 다음 else if안에 조건을 비교해! 다아니면 else야!
결국 위에 코드는 90이상이면 A 90이상은 아닌데 80이상이면 B 80이상도 아닌데 70이상이면 C 이런식으로 계속비교해 나가는 거죠.
오늘은 if문에대해서 살짝 살펴봤어요. 다음 시간에는 if문과 비슷한 switch문에대해 살펴보도록 해요.
'[c언어]' 카테고리의 다른 글
[C언어] 리눅스 환경에서 c언어로 테트리스 구현하기 (0) | 2016.11.02 |
---|---|
[c언어] 난수 rand(), srand() 이해하기! (2) | 2016.05.16 |
[c언어] 마방진 함수 만들기 (122) | 2016.05.16 |