[01.08] C언어는 처음이지? 2🙄
💥 연산자
· 정적인 데이터들을 유기적으로 행동하게 하여 새로운 가치를 창출해 내는 것
- 산술 연산자
· 사칙 연산이 기본이다.
- 대입 연산자
· 오른쪽에 있는 값을 왼쪽에 대입하는 역할
· 대입 연산자와 산술 연산자를 혼용해서 사용하기도 함
- 부호 연산자
- 증감 연산자
· 증가 연산자와 감소 연산자의 줄임말
- 관계 연산자
· 두 개의 피연산자로 관계를 따지는 연산자
· 같은 지 다른 지, 어느 쪽이 큰 지 작은 지를 비교하는 연산자
- 논리 연산자
· 두 개의 조건식 등을 결합하여 하나의 결과값을 만들어냄
- 비트 연산자
💥분기문 If문(=조건문)
* 조건 : 어떤 의미를 이루게 하거나 이루지 못하게 하기 위하여 갖추어야 할 상태나 요소
💥 if문 사용 원리
수행 조건에 관계 연산자를 사용한다.
입력받은 a 가 5보다 크다면 printf("입력값은 5보다 큽니다.\n"); 수행하는 코드를 적었다.
8을 입력했고 수행조건의 a > 5에 true 이기 때문에 printf가 수행된다.
💥 분기문 If~else문
else 문은 '그 밖의' 라는 의미를 가지고 있다.
else문을 추가함으로써 하나만 선택할 수 있는 것이 아니라 다른 것도 선택이 가능하다.
💥 if문 사용 원리
수행 조건이 true 이면 '수행 조건 만족 시 수행' 쪽 코드를, false면 아래의 '불만족 시 수행 코드'를 실행하게 된다.
이렇게 if 와 else가 하나씩일 경우는 양자 택일의 형태 라고도 한다.
위의 코드와 다른 점은 else 문이 생겼다는 것이다.
말 그대로 a가 5보다 크면 "입력값은 5보다 큽니다." 가 출력되고, 작으면 "입력값은 5보다 크지 않습니다."를 출력하게된다.
💥 분기문 If~else if~else문
else if 문을 사용하면 조건 자체가 계속 늘어날 수 있다.
💥 If~else if~else문 사용 원리
수행조건1에 조건이 맞지 않는다면 수행조건2와 비교하고 또 맞지 않는다면 else 문을 실행하게 된다.
이렇게 입력값을 5라고 했을 때, 5보다 크지도 작지도 않기 때문에 if와 else if는 지나가고 else문의 printf를 실행하게 된다.
💥 분기문 while문
반복 조건을 만족하는 동안 반복 문장을 수행한다.
반복 조건을 만족하지 않으면 while문을 빠져 나간다.
💥 while문 사용원리
i는 0부터 시작하고, while문에서 i<5의 조건을 성립하기 때문에 printf를 실행한다.
0부터 시작해서 1, 2, 3, 4도 i<5의 조건을 성립하기 때문에 printf를 실행한 후,
i++를 만나 i가 6이되고, i<5의 조건을 성립하기 않기 때문에 printf를 실행하지 않고 while 문을 빠져 나간다.
이런 식으로 구구단을 만들 때도 활용하기 좋다.
💥 분기문 이중 while문
이중 반복문을 사용해야 한다
💥 이중while문 사용원리
이렇게 이중 while문을 사용하여 2단만이 아닌 2~9단의 구구단을 만들 수도 있다.
💥 무한루프
반복 수행이 무한이 일어난다는 것이다
반복 조건이 어느 시점에 무너질 수 있도록 설계한다
무한 루프 안에서 어느 시점에 break 이나 return으로 빠져 나올 수 있어야 한다.
💥 for문
while문과 다르게 변수의 초기화 연산과 증감 연산이 추가된다.
💥 for문 사용원리
이렇게 dan은 scanf로 입력을 받아 출력이 되고, i는 for문 안에서 1부터 9까지 반복될 것이다.
💥 break문
반복문 while문 내부에서 특정 조건이 되면 break를 만나게 되는데, break문을 만나면 while문을 빠져나가게 된다.
무한루프인 while문에서 a>100 의 조건이 성립될 때까지 돌게 된다.
만약 a가 101이 됐을 때 a>100의 조건에 성립하니 break문을 만나게 되고, 그대로 while문을 빠져나가게 된다.
💥 continue문
반복문 while문 내부에서 특정 조건이 되면 continue문을 만나게 되는데,
이 때, continue문 이하의 수행은 무시하고 다시 반복의 시작점으로 간다.
💥 continue문 사용원리
이렇게 80보다 크고 90보다 작은 a의 값 즉, 81부터 89까지는 continue를 만나서 다시 올라가기 때문에 printf 코드를 만날 수 없다.
그래서 81부터 89까지는 출력이 되지 않는 걸 볼 수 있다.