프로그래밍 언어/C언어 기초

C언어 자료형~연산자

tteokbokki-master 2023. 9. 27. 22:56

데이터의 종류를 자료형(data type)라고 한다.

변수를 선언할 때는 자료형을 적어줘야함

 

 

[자료형 종류]

 

[정수형]  

 

short : 16비트(2바이트),  -3만 ~ 3만

int : 32비트(4바이트),  - 21억 ~ 21억

long : 32비트(4바이트), -21억 ~ 21억

long long :  64비트(8바이트) , 걍 겁나 넓음

 

 

- sizeof()연산자를 통해 자료형의 크기를 계산할 수 있다

ex) printf(“%d”, sizeof(int));

 

- 음수가 필요 없다면 앞에 unsigned 키워드를 붙인다

ex) unsigned short value;  범위가 [-3만 ~ 3만]에서 [0 ~ 6만]으로 변하게 된다.

 

 

[실수형] 

 

실수는 부동소수점(floating point) 방식을 표현된다.

 

float :  32비트

double : 64비트

long double : 64비트

 

 

[문자형]  

 

- 문자는 컴퓨터보다는 인간에게 중요

- 문자도 숫자를 이용해서 표현

- 아스키코드 : 8비트를 사용해서 영어 알파벳 표현하는 것. !는 33, ‘A’는 65 ‘B’는 66 ‘a’는 97 등등…

 

대입 연산시 자동적인 형변환

int i;
i = 3.14592; // i에는 3이 저장됨

double f;
f = 10; // f에는 10.0이 저장된다.

 

+ C언어에서 %기호를 출력하고 싶으면 %%처럼 두 번 사용하면 된다.

 

 

 

- 컴퓨터는 기본적으로 계산하는 기계

 

- 수식 : 상수, 변수, 연산자의 조합

연산자와 피연산자로 나누어진다.

ex) 3.14(피연산자) *(연산자) radius(피연산자)

 

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

덧셈,뺄셈,곱셈,나눗셈 등의 사칙 연산을 수행하는 연산자

 

- 나눗셈 연산자에서 정수형 끼리의 나눗셈에서는 결과도 정수형으로 나오고,

부동소수점형 끼리는 부동소수점 값을 생성한다

 

ex) 7 / 4는 1  7.0 / 4.0 은 1.75

 

- 나머지 연산자는 첫 번째 피연산자를 두 번째 피연산자로 나눴을 경우의 나머지를 계산

 

 

 

 

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

 

사로 다른 자료형이 혼합하여 사용되는 경우, 더 큰 자료형으로 통일된다.

 

int형인 10과 dobule 1.2345를 더하면

int형인 10이 dobule인 10.0으로 변환되며, 

최종적인 결과값도 double형인 11.2345이 된다.

 

 

 

 

형변환: 사용자가 데이터의 타입을 변경하는 것

 

(int) 1.23456 // int 형으로 변환 

(double) x // double형으로 변환

(long) (x+y) // long 형으로 변환

 

 

 

 

증감연산자 : ++, — 

 

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

 

++x는 변수 x의 값을 하나 증가시킨다.

 

 

 

 

[++x와 x++의 차이점]

 

int x = 10;
y = ++x;

증가된 x의 값이 y에 대입된다. 즉 y는 11

 

int x = 10;
y = x++;

증가되지 않은 x의 값이 y에 대입된다. 즉 y는 10

 

—x와 x—도 마찬가지

 

 

 

 

[대입 연산자]

 

변수 = 수식

오른쪽 수식의 값을 계산하여 왼쪽 변수에 대입

ex) z = x + y;

 

 

100 = x + y; 

변수가 아니어서 저장이 불가능하다. 컴파일 오류 뜸

 

 

x = x + 1;

변수의 값을 1만큼 증가시키는 것

 

 

 

 

[복합연산자]

 

+= 처럼 대입연산자 = 와 산술연산자를 합쳐놓은 연산자

 

x+=y 는 x = x + y와 의미가 같다

x-=y

x*=y

x/=y

x%=y 등이 있다.

 

 

 

 

[연산의 우선순위]

 

우선순위가 같으면 왼쪽에서 오른쪽으로 연산을 수행한다.

= 연산자는 오른쪽 우선 결합이므로 오른쪽부터 계산된다.

 

괄호 연산자는 가장 우선순위가 높다

즉 그냥 우선순위가 생각나지않으면 괄호를 이용하면 된다.