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문에대해 살펴보도록 해요.


+ Recent posts