본문 바로가기
[ CODING STUDY ]/》C언어 공부

C언어 11장( switch문, 삼항연산자, 제어문, 조건문)

by MRG 2020. 4. 28.
728x90
반응형

▣ 안녕하세요 ^^ 
저번장에 숙제 다 해보셨나요?
조건문에 대해서 진행했습니다.
배운 내용을 활용하여 직접 조건문을 만들어서 관계 연산, 논리 연산을 사용해보는 숙제였습니다.
알고리즘 순서도까지 진행해보셨죠??
모두 다 해보셔야 합니다. 
"아 쉽네... 그냥 넘어가야지"라는 생각은 버려주세요.
그렇게 해서 나중에 프로그램을 만들거나 게임을 만들 때 제대로 하는 사람을 거의 못 본거 같습니다.^^ 
팩트입니다. 저도 그랬습니다.^^;;

▣ 코드 치는걸 두려워하지 마세요.!!



▣ 그럼 오늘은 저번장에 이어서 조건문 switch문을 진행하겠습니다. 

▣ 먼저 이렇게 코딩을 저랑 똑같이 작성 하겠습니다.
변수에 이름은 여러분들이 원하시는 걸로 하셔도 됩니다.
저는 조금 게임 느낌이 나게 했습니다. ^^



if문과 똑같이 switch를 적어주고 () 괄호 안에 조건변수를 넣어줍니다. 
그런 다음에 { } 스코프를 지정해주시고 조건을 넣을 case를 만들어 줍니다.



case에 의미는 상황, 상태라는 의미입니다.
그렇기 때문에 case로 조건을 구분해준다고 생각하시면 될꺼같습니다.
제가 scanf로 레벨 숫자 1~10까지를 받아올 겁니다.
case 상태가 1이면 printf 함수를 활용하여 플레이어 레벨이 1입니다. 초보입니다.라고 출력할 겁니다.
그런 다음에 break;를 붙여주셔야 합니다.



여기서 break가 무엇이냐?라고 생각하실 수 있을 겁니다.
break의미는 말 그대로 멈추다 끝내다 등등이 있겠죠.
break는 이 조건문을 끝내 난다 라고 생각하시면 될꺼같습니다.

 

▣ 우리가 if문을 했을 때에도 break는 없었지만 break를 붙인 거랑 마찬가지입니다.
조건이 만족하면 printf함수를 실행하고 끝냈죠?
마찬가지로 switch에서는 우리가 조건에 만족하면 이 조건 부분에서 끝내라 라고 명령을 해주신다고 생각하시면 될꺼같습니다.

 

▣ 여기서 주의해야 할 건. case마다 조건값 뒤에 ; 세미 콜린이 아닌 : 그냥 콜론을 붙어줘야 합니다.
그래야 조건 변숫값을 컴퓨터가 알고 연산을 하겠죠?
이점 주의해주세요. 많이 헷갈릴 수 있기 때문입니다. 
; 세미콜론이 아닌 : 콜론입니다.
그럼 switch 만들면 자동적으로 생기는 default: 는 무엇일까요?

 

▣ 이건 우리가 if문에서 사용한 else라고 생각하시면 될꺼같습니다.
이렇게 코딩을 하고 4라고 입력을 하면 어떻게 될까요?
네 1을 검사하고 2를 검사하고 3을 검사해서 모두 다 연산이 거짓이기 때문에
나머지 default가 참으로 연산되어 플레이어 레벨이 높습니다.  고인물입니다.라고 출력을 합니다.



▣ 꼭 직접 확인해주세요.

 

▣ 자 그럼 break를 빼면 어떻게 될까요? 
이렇게 코딩을 해보고 3을 입력하면 3에 값이 참이지만 break가 없기 때문에 바로 다음 연산을 진행합니다.
그렇게 계속 밑으로 가다가 5에서 break가 있기 때문에 printf 함수를 진행하고 프로그램이 끝나게 되는 겁니다.



그럼 이렇게 코딩을 해서 1부터 5까지 숫자에 조건을 만들 수 있겠죠?
그리고 나머지도 default를 활용하여 만들 수 있습니다. 



break문 부분은 많이 헷갈릴 수도 있기 때문에 case를 쓸 때 어떤 용도로 만들지 생각해주시고
저렇게 꼭 break문을 쓸지 안 쓸지 결정해서 코딩해주세요.



▣ 이것도 꼭 꼭 직접 만들어서 해주세요.

 

▣ 자 그럼 조건변수를 숫자만 가능하냐? 아닙니다. 문자도 가능합니다.
위에 있는 코딩처럼 char로 문자 하나를 받는 변수를 만들고 입력으로 A~Z 한 글자를 받아옵니다.
그리고 저런 식으로 코딩을 하여 A부터 E까지는 초보 나머지는 고인물을 출력하게 할 수 있습니다. 



▣ 한번 이 부분은 직접 변수값을 바꿔서 만들어보세요. 
꼭입니다. 꼭 직접 만들어서 해보셔야 합니다. 

 

▣ 자 이렇게 한 줄로 조건문을 만들 수 있는 삼항 연산자라는 것도 있습니다. 
저렇게 먼저 코딩을 하고 10을 입력해서 결과를 보겠습니다. 
그럼 10 이상입니다.라고 출력이 나오죠?
한번 어떤 연산자인지 해석해보겠습니다.

 

▣ 1번은 조건문입니다. 우리가 if() 문에서 괄호 안에 넣어주는 조건문을 쓰는 것과 동일합니다. 
그런 다음에? 를 넣어주면 조건문이 끝난다고 생각하시면 될꺼같네요.
2번은 참 일 경우 나오는 결과입니다. 
그리고 : 콜론을 붙여 주어서 참과 거짓을 구분해줘야 합니다.
4번은 그럼 거짓이겠죠?



▣ 꼭 이것도 직접 저와 다르게 조건을 만들어서 확인해 보세요.
이 삼항 연산자도 우리가 간단한 조건을 만들 때 많이 사용합니다. 
하지만 이걸 사용해서 코딩을 읽기 어렵다고 하시면 if문을 사용하셔도 됩니다.

 

▣ 자 저번 시간에 배웠던 알고리즘 순서도 도형입니다.
이것도 한번 다시 복습하면서 익혀주세요.

 


▣ 조건문을 만들 때 어려울 수 있습니다. 
그러니 알고리즘 순서도를 활용하여 직접 적어서 조건을 정리해보세요.
나중에 코딩을 할 때 많은 도움이 되실 겁니다.



▣ 자 오늘은 조건문 switch문과 삼항 연산자를 배웠습니다. 
아직 어디에 활용하 진 감이 안 오시겠지만, 프로그램을 할 때 정말 많이 쓰게 됩니다.
특히 오늘 배운 조건문과 나중에 진행하게 될 반복문을 말이죠. 
거의 50% 이상을 사용한다고 보시면 될꺼같습니다. 
프로그램 개발하시는 분마다 다르겠지만 50% 이상은 맞다고 저는 생각합니다.
그러니 제가 중간중간 이야기했던 것처럼 직접 조건문을 만들어서 게임을 만든다고 생각하시면서 
코딩을 직접 설계해서 해보세요!!
꼭입니다.!!!
질문 있으시면 댓글 남겨주세요~~
그럼 다음장에서 뵙겠습니다.



▣ 포기하지 마세요!!! 저도 했습니다. 파이팅~!!

 

728x90
반응형

댓글