본문으로 바로가기

조건문 if


if(조건1)  만일 조건1과 일치하면 처리1을 수행한다

{

처리1;                   

}


#include <stdio.h>

int main(void)

{

int num;


printf("5의 배수");

scanf("%d", &num);


if(num>=0)

 printf("양수입니다");

if(num<0)

 prinft("음수입니다.");


return 0;

}


if ~ else문


if(조건 1)

{

처리1;

}

else 

{

처리2;

}

조건이 1과 일치하면 처리1을 수행하고, 조건1과 일치하지않으면 처리2를 수행한다.


#include <stdio.h>

int main(void)

{

int age;


printf("5의 배수");

scanf("%d", &age);


if(age>=15 && age<=100)

 printf("회원가입이 가능합니다.\n");

else

 prinft("회원가입이 불가능합니다.\n.");


return 0;

}


if ~ else if문


if(조건 1)

{

처리1;

}

else if

{

처리2;

}

else

{

처리3;

}

조건이 1과 일치하면 처리1을 수행하고, 조건1과 일치하지않으면 처리2를 수행한다.


#include <stdio.h>

int main(void)

{

int num;


printf("5의 배수");

scanf("%d", &num);


if(num>0)

 printf("0보다 큰 수가 num에 저장.\n");

else if(num==0)

 prinft("0이 num에 저장.\n.");

else(num<0)

 printf("0보다 작은 수가 num에 저장\n")

return 0;

}



for문


ex) int i;

①초기값; ②조건값, ④증감값

for(i= 0; num<5; i++)

{


③printf("반복내용 : %d \n", num;

}


#include <stdio.h>


int main(void)

{

int i;

for(i=0; i<6; i++)

{

printf("%d 반복내용 \n", i);

}

printf("%d번  반복되었습니다. \n" , i);  반복이 다 된후에 실행되는데 루프를 빠져나오기전에 조건을 확인한다.

return 0;

}


반복내용

반복내용

반복내용

반복내용

반복내용

반복내용

6번  반복되었습니다.


중첩 for문


int i,j;

    int result;

for(i=2; i<10; i++)          2,3,4,5,6,7,8,9

{

for(j=1; j<10; j++)  1,2,3,4,5,6,7,8,9

{

result = i * j;

printf("%d * %d = %d \n", i , j, result);

}

printf("----------- \n");

}

return 0;

}



while문



while문은 for문과 비슷하다.


int result = 0;  //초기값

int i ;

for(i<10)//  조건식

{

  반복 수행 할 문장;

  i++; (증감값)

}

위 위식을 while문으로 바꾸어보자


#include <stdio.h>


int main(void)

{

int i=0; //초기식

        while(i<6) //조건문

{

printf("%d 반복내용 \n", i);

                i++;

}

printf("%d번  반복되었습니다. \n" , i); 루프를 빠져나오기전에 먼저 조건을 확인한후 거짓이면 빠져나온다.

return 0;

}



do while문


- while문과 for문에 비해 사용빈도가 적다


while문 과 do while문의 비교

 -while문:  조건이 만족하지 않으면 반복할 내용을 실행하지 않는다.

 -do while문 : 최소한 한번은 반복할 내용 실시


초기식

do

{

반복할 내용

}while(조건식) ;


반복하고 나서 조건식을 나중에 검사한다. 


#include<stdio.h>


int main(void)

{

int num = 10;

do

{

printf("%d", num);

num++;

}

while(num <10);

printf("\n 반복문을 종료합니다.");

return 0;

}

Switch ~ case문


조건문을 표현하는 방식

if ~ else문을 간결하게 표현 한다.

if ~ else문에 비해 가독성이 높다.

if ~ else문에 비해 약간의 제약이 있다.


다음을 가정하자

 1번스위치를 누른경우 전등이 켜짐

 2번 스위치를 누른경우 전등이 꺼짐

 3번 스위치를 누른경우 고장

 4번  고장

 기본 : 스위치 오류


#include<stdio.h>


int main(void)

{

int num;

printf("스위치를 1~3번중 선택하세요 \n");

scanf("%d",&num); //scanf로 입력받아 num값을 저장한다.

switch(num)

{

case 1 : //마지막 부분에 콜론을 입력

printf("1번 스위치를 선택하였습니다.");

break; //마지막 부분에 break을 입력


case 2 : //마지막 부분에 콜론을 입력

   printf("2번 스위치를 선택하였습니다.");

   break; //마지막 부분에 break을 입력


case 3 : //마지막 부분에 콜론을 입력

printf("3번 스위치를 선택하였습니다.");

break; //마지막 부분에 break을 입력


case 4 : //마지막 부분에 콜론을 입력

printf("고장입니다.");

break; //마지막 부분에 break을 입력


default ://마지막 부분에 break을 입력 x

printf("스위치 오류입니다.");

}

}



break문 continue문


종료해라!!!! 계속해라!!!


1. break문의 기능

 - 조건문을 종료

 - 반복문을 종료


2. continue의 기능

 - 반복문을 생략

 - while문, for문, do ~ while문과 같음 반복문에 사용

 - switch문에서는 사용할 수 없다.


main()

{

. . . 


while(조건식)


{

     내용 1;



내용 2;

break;

}

내용3;



}

반복문에서 break를 만나면 무조건 반복문을 종료하고

다음문장(내용3)을 실행한다.



main()

{

. . . 


while(조건식)


{

     내용 1;

            continue;


내용 2;


}

내용3;



}

반복문에서 confinue를 만나면 무조건 조건식을 실행. 내용2를 실행하지 않는다.

for문의 경우 증감문을 수행하게 된다.




#include<stdio.h>


int main(void)

{

char ch ;

printf("문자를 입력하세요.\n");

while(1)

{

scanf("%c", &ch);

if(ch == 'q')

break;

}

printf("반복문을 종료합니다.\n");

return 0;

}

-------------------------------------------------------------------------------------

#include<stdio.h>


int main(void)

{

int num;

for(num= 0; num<101; num++) 0부터 100까지 짝수만 출력

{

if(num%2 == 1)   ----> 홀수는 실행하지 않는다.

continue;

printf("%d\n",num);----> 처음에 0이 출력 

}

return 0;

}



'프로그래밍 > c언어' 카테고리의 다른 글

3. 연산자  (1190) 2017.09.22
2.데이터형과 입출력  (523) 2017.08.26
1. C언어 기본  (506) 2017.08.23