C 이론(10)

Hi Beck·2023년 5월 7일

TIL-Language(C & C++)

목록 보기
12/34

조건문

1.IF 조건문
-IF
-> 두 줄 이상일땐 중괄호를 쳐주는게 의무
-IF ELSE
-> IF를 중첩할땐 ELSE로도 가능
-ELSE IF
-> 대표적으로 범위를 정해서 등급 같은 것을 정할때 즉 조건의 범위를 세분화할 때 쓰는 문법인데

여기서 중요한 것은 코드 '순서'다.
해당 코드 기준 위에 있는 조건이 거짓이고 현제 조건이 참일때 코드가 넘어가는 방식으로 작동되는데

범위를 정하는데 있어서 컴퓨터가 윗 순서부터 체크를 하고 거짓이면 다음것을 체크하고 이게 또 아닌 범위에서 또 다른 조건을 체크하는 방식인 것이다.

컴퓨터는 효율적이라 조건이 맞았으면 바로 거기서 프로그램을 끝낸다.이런점에서 코드 순서가 뒤죽박죽이면 조건이 맞아 컴퓨터가 프로그램을 끝내버릴 수도 있어 원하는 그림대로 결과물이 나오지않는다.

2.SWITCH 조건문(=스위치 케이스문)
구성은 여러가지 케이스가 있으며 이건 IF와 비슷한 존재로 보면되고 그 밑에 있는 default는 else와 비슷한 존재이다.마지막으로 CASE마다 밑에 BREAK 코드가 존재함

IF문과 다르게 스위치 조건식에는 정수형같은 자료형이 들어갈 수도 있다.그렇게 되면 CASE들은 정수형에 들어갈 수 있는 값들로 들어가게 되는 것!

작동되는 방식은 정수형(예로 들어 NUMBER)이 스위치문조건식에 들어가있고 밑에 케이스 0,1,2,3 등이 있을 때 그중에 NUMBER가 0이라면 그에 대응하는 CASE0이 실행되는 방식임.(=이건 곧 if문에선 조건식안에 넘버 == 0을 쓰고 밑에 출력함수 써준 것과 같음)

SWITCH문을 쓰는 이유
1.if문으로 했을때보다 스위치문이 간소함
(의무는 아니지만 편한편)
2.간단한 정수를 구분할 땐 스위치문이 더 편함

두개다 성능 차이가 크진않지만 이슈의 차이가 있다고함
(모르고 안쓰는거랑 아는데 안쓰는건 천지차이)

브레이크의 존재
(=스위치문이나 반복문을 깸)
내가 원하는 케이스가 실행되고 나가고싶을때,이때 쓰는게 브레이크가 코드를 종료하게해줌.

브레이크를 안쓰는 경우
같은 케이스인 경우에 나타내고싶은 결과를 하나로 묶어주고싶을때 코드상에서 케이스들을 붙히고(이때 생략) 출력함수 쓰고 그 밑에 BREAK을 쓰기

이때 안붙혀주면 다음 케이스로 넘어가버림
답이 다르면 안타는게 아니라 스위치문은 달라도 다음 코드로 넘어가버린다.그래서 의도적으로 멈추는 키워드인 BREAK을 넣어주는 것

  • 다른 값을 넣으면 스위치문은 시작점이 해당되는 다른 값의 케이스부터 실행이 된다.

3.GOTO문
goto문은 코드 간에 점프하게해주는 코드로 점프한 사이의 코드가 실행되지않으니 사용하지말자.
(마이크로소프트나 옛 개발에서 쓰였다고함)

쓰지말아야되는 이유
프로그래밍상 약속해왔던 규칙인 '코드는 윗줄부터 한줄씩 실행된다'가 깨지기 때문인데 자기가 원하는 코드를 바로 실행시킬 수 있다 생각하고 그걸 계속 쓰는 경우가 있는데 돌이킬 수 없는 실수다.

자기 코드가 잘못된것은 찾기가 힘들다.사람은 자기 눈에익숙한것은 자기가 믿어버려서 이질적인 것을 발견해내기가 힘들다.

profile
Emotional realizer

0개의 댓글