2024년 1학기/C 프로그래밍

7주차 예습과제

윤지선 2024. 4. 15. 12:20

<강의 주제>

6-1: 연산자 기본개념, 우선순위, 결합성 / 6-2: 산술연산자(+ - * / % +(부호) -(부호) )

6-3: 대입(할당) 연산자 =, +=, -= / 6-4: 관계연산자(부등호, ==. !=)

6-5: 논리 연산자 / 6-6: 비트 연산자 / 6-7: 삼항 조건 연산자

6-8: 증가 감소 연산자 / 6-9: cast 연산자와 콤마 연산자

6-10: sizeof 연산자와 유니코드 / 6-11: 주소연산자(&)

6-12: 첨자, 구조체멤버접근, 간접참조연산자 / 6-13: 연산자 과제 및 정리

 

<강의 정리>

# 연산자의 개념과 종류

- 연산자(operator)는 변수 또는 상수에 대하여 무엇인가를 행하도록 하는 단어나 기호

- 피연산자(operand)는 연산자가 연산을 하는 대상

 

# 토큰과 구두점

토큰)

C프로그램을 구성하는 기본 단위

- 예약어(reserved word, keyword): int, if 44

- 연산자(operator): +, / 40여개

- 구두점(punctuator): [], () 50여개

- 식별자(identifier): 변수, 함수, 배열, 구조체 등의 이름

- 리터럴(literal): 10, 3.5, ‘a’, “hi”

구두점)

- 토큰을 구분하기 위해 사용하는 기호로 50여개가 있는데 40여개는 연산자로 사용

 

# 연산자의 우선순위

- 한 수식에 연산자들이 여러 개 있을 때 우선순위가 제일 높은 것을 괄호 안의 수식이다.

- 괄호들이 중첩되어 있을 때는 내부 괄호가 우선순위가 높음

- 사칙연산은 *,/, 그 다음 +,- 순으로 운선순위가 높고 우선순위가 같으면 왼쪽에서 오른쪽으로 연산을 진행.

- 대입연산자(=, +=, -= )는 오른쪽에서 왼쪽으로 실행

 

# 논리연산자: &&, ||, !

- &&(AND), ||(OR), !(NOT)

- &&||는 두 개의 피연산자가 필요

- &&연산자는 두 피연산자가 모두 참일 때 참

- ||연산자는 둘 중 하나만 참이면 참

- ! 연산자는 한 개의 피연산자가 필요

- !연산자는 피연산자가 참이면 거짓, 거짓이면 참으로 만듦.

 

# 관계연산자+논리연산자

- score 값이 90이상~95 미만이면 A출력

- 수학적으로는 아래와 같음

if(90<=score<95) : x

f(90<=score<95)

- 관계 연산자는 우선순위가 같으면 왼쪽에서 오른쪽으로 연산을 진행하는 결합성을 가짐

- C언어에서는 다음과 같이 표현

if(score>=90&&score<95) : O

 

질문: 연산자 종류 중 3항(ternary)은 주로 어떨 때 사용하나요?