본문 바로가기
TIL/따배씨

연산자, 표현식, 문장 (2021-01-07)

by Dev_Dank 2021. 1. 7.

5.1 반복루프와의 첫만남.

goto문은 이제 사용하지 않음. 
while 의 기본적인 사용법은 아래와 같다. 

5.2 대입 연산자와 몇 가지 용어들

Data object: 메모리에 존재하는 데이터 
L - value(object locator value): 대입연산자(=) 왼쪽, 값을 대입할 수 있는것
R- value(value of an expression): 대입연산자(=) 오른쪽

이하의 예시 참조

5.3 더하기, 빼기, 부호 연산자들

triple assignment 처럼 쓸수 있는점에 주목

용어는 이하 참조

숫자앞에 -붙여서 음수로 만드는것도 연산자(더정확히는 단항연산자)라고 하는것 에 주의 

5.4 곱하기 연산자

printf 에서 double은 %f 임의 주의 

5.5 나누기 연산자

정수 연산시 실수부는 반올림 하지않고 버리는것에 주의

마지막 예시(9.0/4)의 경우 4를 컴파일러가 double로 바꿔서 연산시켜버림

또한 연산할때는 왠만해선 같은 형끼리 연산할것. (e.g 실수형/정수형)
원래는 안되지만 컴파일러가 형을 바꿔서 연산해줌. 

5.6 연산자 우선순위와 표현식 트리

컴퓨터 내부에서는 이하의 표현식 트리와 같은 구조를 만들어 연산을 실행한다.

 

연산자 우선순위의 마지막 예시 a = b = 90 에서 "오른쪽에서 왼쪽" 법칙에따라 b = 60이 먼저 수행되고 그이후  a = b가 수행되는 점에 주의

5.7 나머지 연산자

나머지 연산자는 % 

5.8 증가, 감소연산자.

++, --을 앞(전위)이나 뒤(후위)에 붙이면 됨. 앞과 뒤에 붙이는것에 따라서 실제 실행 순서가 달라지는 것에 주의

또한 수정가능한 변수에만 사용 가능하다.

5.9 표현식과 문장

sequence point 는 대부분 ; 라고 생각하면됨

단 이하의와 같은 예시가 존재함. 

while의 (x++ <10) 부분은 완전한 문장으로 치기 떄문에 printf에 넘어가기 전에  ++가 수행된다. 더해진 상태임. 

5.10 순서도

 

요즘 순서도는 쓰지 않기때문에 잘몰라도 괜찮다.

5.11 자료형 변환

작은걸 큰거에 대입하는 것은 괜찮다. 

큰거를 작은거에 대입할경우 Warning 발생

자료형의 크기는 Interger conversion rank 검색해서 참조

CPU는 서로 다른 자료형을 계산 할 수가 없다. 
-> 큰자료형과 작은 자료형을 계산하려하면 컴파일러가 작은 자료형을 큰자료형으로 바꾸고(promotion) 계산한다. 

1.234는 double이기 때문에 f가 float에서 double로 변환

형변환이 자동으로 이루어지는 경우(후반 강의에 설명예정)
1. prototype이 없는 함수
2. Variadic functions (=인자가 변할 수 있는 경우)

형변환을 할 것을 명시 하는 경우 

5.12 함수의 인수(Arguments)와 매개변수(Parameters)

이에대한 구분은 강의 보다 이쪽 사이트가 더 명확히 설명 되어있다. 
www.geeksforgeeks.org/difference-between-argument-and-parameter-in-c-c-with-examples/

Parameters는 함수정의에서 설정됨
Arguments는 함수를 사용할때 실제 넘어가는 값.

Argument 는 values
Parameter 는 variables
로 생각 해서 구분 할 수 도 있다. 

'TIL > 따배씨' 카테고리의 다른 글

분기 (2021-01-11)  (0) 2021.01.11
반복문(2021-01-08 ~ 2021-01-09)  (0) 2021.01.08
문자열과 형식 맞춘 입출력 (2021-01-05)  (0) 2021.01.05
데이터와 C언어 (2021-01-04)  (0) 2021.01.04
C언어의 소개 (2021-01-03)  (0) 2021.01.03

댓글