대학교/C언어

C언어 - (3) 수식, 연산자, 형변환

매 석 2023. 3. 26. 21:51
반응형

- 수식

- 수식 : 상수, 변수, 연산자의 조합, 연산자와 피연산자로 나누어진다.

- 연산자의 분류

- 피연산자수에 따른 연산자 분류

1. 단항 연산자 : 피연산자의 수가 1개

EX) ++x;

2. 이항 연산자 : 피연산자의 수가 2개

EX) x+y

3. 삼항 연산자 : 연산자의 수가 3개

EX) x?y:z

 

- 연산자

- 산술 연산자 : 컴퓨터의 가장 기본적인 연산

- 부호 연산자 : 변수나 상수의 부호를 변경

- 증감 연산자 : 변수의 값을 하나 증가시키거나 감소시키는 연산자

- 대입 연산자 : 변수에 수식 값을 할당시키는 연산자

EX) z=x+y

- 복합 대입 연산자 : 소스를 간결하게 만들 수 있다.

- 관계 연산자 : 두 개의 피연산자를 비교하는 연산자 (결과는 1 또는 0)

+ 실수를 비교하는 경우

EX) (1e32 + 0.01) = 1e32 -> 오차가 발생해서 같은 값으로 취급

- 논리 연산자 : 여러 개의 조건을 조합하여 참과 거짓을 따지는 연산자

+ C에서는 0이 아니면 참으로 간주

EX) !-3 -> 0 (음수도 참으로 간주)

 

- 조건 연산자 : 3개의 피연산자를 가지는 삼항 연산자

EX) val = (x>y) ? 참일때:거짓일때;

- 콤마 연산자 : 콤마로 연결된 수식은 순차적으로 계산된다.

EX) x++, y++ -> x++먼저 계산된다.

- 비트 연산자

+ << 연산자 : 비트를 왼쪽으로 이동, 값은 2배가 된다.

>> 연산자 : 비트를 오른쪽으로 이동, 값은 1/2배가 된다.

 

- 형변환

- 대입연산시 형변환

1. 올림 변환

EX) double f=10; -> 10.0 저장

2. 내림 변환

EX) int i=3.141592; -> 3 저장

- 정수형끼리 형변환

EX) char x; x=10; x=10000; -> x에 10000을 저장하면 범위넘어 int형으로 변환됨

-정수 연산 시의 자동적인 형변환

char나 short형은 int 형으로 통일하여서 처리한다.

EX) 10(char) + 20(short) => 10(int) + 20(int)

- 수식에서의 자동적인 형변환

서로 다른 자료형이 혼합한 경우, 더 큰 자료형으로 통일된다.

EX) 10(int) + 1.2345(double) = 11.2345(double)

- 명시적인 형변환

EX) (int)1.23456 -> 1

- 우선 순위

- 결합 규칙

같은 우선순위를 가지는 연산자가 여러 개면 어떤 것을 먼저 수행해야 하는지에 대한 규칙