뚜당탕탕
Visual Studio Code) 04 계산 (산술 연산자, 대입 연산자) 본문
기본서체입니다.
본고딕 R 체 입니다.
본고딕 L 체 입니다.
나눔고딕체 입니다.
본명조체 입니다.
궁서체 입니다.
기본서체와 본명조체가 가독성이 좋아보인다.
오늘은 본명조체로 시작해본다.
산술 연산자 Arithmetic Operator
printf("a / b 는 : %f \n", a / b);
출력 결과,
a / b 는 : 0.000000
이 출력 되었다.
실수형 데이터를 출력하기 위해 %f 를 사용했지만,
(정수형 변수) (연산) (정수형 변수) 인 경우 (정수) 로 유지된다.
그래서 정수형 값을 출력해야 하는데, 실수형 데이터를 출력하는 %f 를 사용했으니 값이 제대로 나올 수가 없다.
변수 b 를 정수형 int 타입이 아닌 실수형 double 타입으로 선언했다.
a / b 는 : 3.333333
b / a 는 : 0.300000
로 제대로 출력된다.
자료형이 다른 두 변수를 연산할 때, 컴파일러는 숫자의 범위가 더 큰 자료형으로 변환시킨다. 이를 '산술 변환' 이라고 한다.
int < double
double 이 int 에 비해 포함하는 숫자가 더 크므로, 큰 쪽으로 산술 변환이 일어난다.
또한, (정수형 변수) 와 (실수형 변수) 가 만나면 실수형 변수의 숫자 범위가 훨씬 넓기 때문에 무조건 실수형 변수쪽으로 변환된다.
반대로 (정수형 변수) 와 (실수형 변수) 와의 연산에서
정수형 값을 출력하는 %d 를 사용하면 제대로 연산이 되지 않고 오류가 발생한다.
대입 연산자 Assignment Operator
int a = 3; 은
int a; |
a = 3; |
을 합친 것과 같다.
그래서 a 값의 결과는 6 이 나온다.
대입연산자는 오른쪽에 있는 값을 왼쪽에 대입한다.
컴파일러는 '=' 라는 기호를 기호 뒤에서부터 해석하므로, 대입도 맨 오른쪽(뒤에서부터) 이루어진다.
int a = 1;
a = a + 1;
(1) 정수형 변수 a 를 선언한다.
(2) 변수 a 에 오른쪽 값인 숫자 1 을 대입한다.
(3) '=' 오른쪽인 'a+1' 을 먼저 연산한다. 변수 a 에는 숫자 1이 대입되어있다. 그래서 'a+1' 은 1+1 과 같다.
(4) 연산 후 값은 2 이다.
(5) 오른쪽의 값인 2 를 왼쪽의 변수 a 에 대입한다.
(6) 변수 a 의 값은 2 가 된다.
'공부 기록용 > C Language' 카테고리의 다른 글
독학하기) [C언어] 06 조건문 - if, 관계 연산자 (0) | 2021.01.13 |
---|---|
Visual Studio Code) 05 입력 함수 [scanf] (0) | 2021.01.13 |
Visual Studio Code) 03 변수 (variable) - 2 (0) | 2021.01.12 |
Visual Studio Code) 03 변수 (variable) + 한글 깨짐 (0) | 2021.01.11 |
Visual Studio Code) 02 주석 과 컴퓨터의 수 (0) | 2021.01.06 |