[열혈C프로그래밍] chapter 3. 변수와 연산자
chapter3
변수와 연산자
- 연산을 위한 연산자와 값의 저장을 위한 변수
(1) 연산자(Operator): 프로그래밍 언어는 수학과 같이 연산자를 제공한다. (ex: +,-,*,/)
연산자 종류 & 우선순위:
=> 주의! 우선순위는 연산의 수행을 의미하는 것이 아니라 연산의 관계를 의미한다.
ex :
순위 | 연산기호 | 연산자 | 결합방향 | |
---|---|---|---|---|
1위 | () | 함수호출 | -> | |
1위 | [] | 인덱스 | -> | |
1위 | -> | 간접지정 | -> | |
1위 | . | 직접지정 | -> | |
1위 | ++(postfix) | 후위증가 | -> | |
1위 | –(postfix) | 후위감소 | -> | |
2위 | sizeof | 바이트 단위 크기 계산 | <- | |
2위 | ~ | 비트단위 NOT | <- | |
2위 | ! | 논리 NOT | <- | |
2위 | -,+ | 부호연산(음수와 양수의 표현) | <- | |
2위 | & | 주소 연산 | <- | |
2위 | * | 간접지정 연산 | <- | |
2위 | ++(prefix) | 전위증가 | <- | |
2위 | ++(prefix) | 전위증가 | <- | |
3위 | (casting) | 자료형 변환 | <- | |
4위 | *,/,% | 곱셈, 나눗셈 관련 연산 | -> | |
5위 | +,- | 덧셈, 뺄셈 | -> | |
6위 | «,» | 비트 이동 | -> | |
7위 | <,>,<=,>= | 대소비교 | -> | |
8위 | ==,!= | 동등비교 | -> | |
9위 | & | 비트 AND | -> | |
10위 | ^ | 비트 XOR | -> | |
11위 | | | 비트 OR | -> | |
12위 | && | 논리 AND | -> | |
13위 | | | | 논리 OR | -> | |
14위 | ?: | 조건 연산 | <- | |
15위 | =,+=,-=,*=,/=,%=,«=,»=,&=,^=, | = | 자료형 변환 | <- |
16위 | , | 콤마 연산 | -> |
조건과 관련된 연산자는 조건이 참이면 1(true)을 , 조건이 거짓이면 0(false)을 반환한다.
(2) 변수(Variable): 값을 저장할수 있는 메모리 공간에 붙은 이름, 혹은 메모리 공간 자체 => 매번 값을 불러올 때 메모리의 주소값으로 불러오는 건 비효율적이다. 따라서 변수를 만들고 변수에다 값을 저장하여 변수를 통해 값을 불러온다.
int main(void)
{
int num; //num이라는 변수의 선언
num =12; //변수 num을 12로 초기화
num=24; // 변수 num에 24를 대입
// 변수를 선언만 하고 초기화하지 않으면 변수에 0이 저장된다.
C언어 변수의 규칙
- 변수의 이름은 숫자로 시작할 수 없다.
- 이름 사이에 공백이 삽입 될 수 없다.
변수의 자료형(Data Type)
정수형 변수 | 정수의 저장을 목적으로 선언된 변수 |
---|---|
실수형 변수 | 소수점 이하의 값을 지니는 실수의 저장을 목적으로 선언된 변수 |
정수형 변수: char(1byte), short(2byte), int(4byte),long(Linux:8,windows:4byte) , long long(8byte) 실수형 변수 : float(4byte) ,double(8byte) , long double(16byte)