반응형
조건문

조건문은 프로그래머가 상황에 따라서 프로그램의 흐름을 선택하고

싶은 순간에 사용할 수 있습니다.

 

 

 

if문 구조

if문은 조건식이 참일경우 실행문을 실행합니다.

if(조건식)
{
	실행문;
}

 

 

 

if문 활용

입력값에 따라서 입력값이 음수인지 양수인지 0인지를 출력해주는 코드입니다.

이런식으로 if문을 활용할 수 있습니다

 

if문은 프로그래밍의 꽃이라고 불릴 정도로 매우 매우 활용도가 높습니다!

 

밑의 예시 같은 경우에 문제점은 입력값이 음수일 경우 맨 위의 if문에서 무엇이 출력될지 결정되었지만,

밑의 if문도 검사를 해서 쓸데없는 연산이 발생합니다. 이러한 이유로 if~else if문이 필요하게 됩니다.

이는 밑에서 다시 설명해 드리겠습니다!

int input = 0;
scanf("%d", &input);

if(input < 0)
	printf("입력 값은 음수입니다.");
if(input > 0)
	printf("입력 값은 양수입니다.");
if(input == 0)
	printf("입력 값은 0입니다.");

 

 

 

if-else문

조건에 해당하면 if문 내부의 코드를 실행하고 아닌 경우 else문 내부의 코드를 실행합니다.

 

if~else 문은 하나의 문장으로 취급되기에 다른 문장이 삽입될 수 없습니다.

 

 

 

 

삼항 연산자

삼항 연산자는 피연산자가 세개입니다.

밑의 예시처럼 입력값을 넣고 입력값을 max와 비교하여 조건이 참일경우 : 앞에 코드를 실행하고

거짓일 경우 : 뒤에 코드를 실행합니다!

int input = 0, max = 10;

scanf("%d", &input);

input > max ? max = input : printf("입력값이 최대값보다 작습니다.");
printf("최대값은 %d입니다!", max);

 

 

 

반복문 탈출 break문

반복문 안에서 break문을 만날 경우 자신을 감싸는 반복문 하나를 빠져나오게 됩니다.

if문과 함께 사용이 되어서 조건이 참일경우 반복문을 탈출하는 용도로 사용됩니다!

 

 

 

반복문 생략 continue문

반복문 안에서 continue문을 만날 경우 break문과 달리 반복문을 빠져나가지 않고

뒤에 문장으로 내려가지 않고 반복조건을 확인하러 올라갑니다. 그리고 반복조건이

아직도 참인경우 그대로 반복영역을 처음부터 실행합니다

 

continue문도 if문과 함께 사용됩니다. 조건이 참이지만 넘기고 싶은 경우에 조건문과 함께

사용되어 해당 조건일때 반복영역을 실행하지 않고 넘어갈 수 있습니다!

 

 

 

switch문

switch문의 조건에는 정수 값이 와야합니다. 상수는 들어올 수 없습니다.

switch문의 조건에 따라서 case문이 실행됩니다.

default문에는 예외의 값이 들어올경우에 처리되는 코드입니다.

case문에서 코드를 실행하고 그 구문을 빠져나오려면 break;문을 써줘야 탈출가능합니다

case와 break는 어떻게보면 세트라고 생각하면 됩니다!

 

case에는 상수

 

swtich문은 case문을 모두 확인합니다. 그러다 해당 조건에 맞는 case문을 만날 경우 그제서야

코드가 실행되고 break문을 만나야 탈출이 가능합니다.

한마디로 조건에 맞는 case문을 만나기 전까지 모든 case문의 조건식을 비교하게 됩니다

 

break문이 없으면 조건에 만족하는 case문의 구문을 실행하고 그 밑의 case구문들이 모두 실행됩니다!

 

두가지 조건식을 걸고 싶을 경우

case 'A':

case 'a':

              break;

 

if~else if~else문 보다 swtich문이 가독성이 더 좋아서 선호한다.

 

 

 

goto문

goto문은 레이블을 설정해서 해당 레이블: 로 표시한 곳으로

흐름이 이동되는 문법입니다.

 

goto문 쓰면 사수에게 뒤통수를 맞는다.

문법이 있긴하지만, 장점보다 단점이 훨씬 많다.

 

goto문을 쓰면 흐름을 설정할 수 있지만, 직접 추적을 해야하기에

흐름이 한눈에 들어오지 않는다.

 

 

 

goto문 문법
go to SKIP(레이블);

...

SKIP(레이블):

레이블로 바로 이동한다.

 

결론 : 이해는 하되 쓰지말자!

 

반응형

 

반응형

'C' 카테고리의 다른 글

재귀함수에 대하여!  (0) 2023.05.10
함수에 대하여!  (0) 2023.05.10
반복문에 대하여!  (0) 2023.05.09
printf함수와 scanf함수 정리하기!  (0) 2023.05.09
자료형에 대하여!  (0) 2023.05.09

+ Recent posts