Steady Blog
7. 연산자 (연산자 우선순위, 산술, 증감,대입,관계, 논리, 비트) 본문
*연산자
정의 : 계산하거나 무엇인가를 표현할 때 사용되어지는 문자를 말한다.
1. 연산자 우선 순위 //사진자료 필요
2. 산술 연산자
ㄱ. 곱셈(*)과 나눗셈(/)과 나머지(%) 연산자는 덧셈(+),뺄셈(-) 연산보다 우선 순위이다.
ㄴ. 나누기(/)연산자 일 경우 연산을 실시하는 양족 항에서 한쪽이라도 실수가 나오면 실수로 처리한다.
ㄷ. 나머지(%)연산자에서는 양쪽 항이 반드시 정수 데이터야 한다.
3. 증감 연산자
정의 : 어떤 항 값을 1증가 또는 감소시켜 주는 연산자.
모양 : ++a,--a, a++,a--
ex)
void ch4_test()
{
int a = 5, b;
b = a++;
printf("a = %d, b = %d\n", a,b);
}
결과 값 -----> a = 6, b =5
ex) 증감 연산자를 정확히 이해 할수 있는 예제
void ch4_test()
{
int h = 5;
int s;
s= h-- + ++h; // h = h+1; => s = h+h; => h= h-1;
printf("h = %d s = %d\n",h,s);
s = h-- + h--; // s = h+h; => h = h-1; => h = h-1;
printf("h = %d s = %d\n",h,s);
}
결과 값 -----> h = 5, s = 12
h = 3 s = 10
4. 대입 연산자
정의 : 변수 값에 변화를 주기 위한 목적으로 사용
역할
1.변수에 상수값을 저장시키는데 사용
2. 여러개의 변수를 같은 값으로 치환할 수 있음.
3. 단순 치환 연산자의 결합 순서는 우측에서 좌측으로 수행
ex)
int a=b=c=5;
<해석>
1. c=5
2. b=c=5 b의 값이 c가 됨 / 즉, b = 5
3. a=b=5 a의 값이 b가 됨 / 즉, a = 5
5. 관계 연산자 // 사진 자료 필요
역할
1. 좌우 피연산자들을 비교해서 참(1)과 거짓(0)을 구하는 연산자.
2. 비교하는 항의 자료형이 서로 다를 경우에는 자료형이 큰 쪽으로 변환되어 비교.
6. 논리 연산자
1. 양쪽 항이 참인지? 거짓인지에 의한 참(1)이나 거짓(0)값을 발생시키는 연산자.
2. 우선순위 :: &&이 ||보다 순위가 높다.
3. 일반 논리 연산의 결과 값은 참일때는 1이 발생하고 거짓일 때에는 0이 발생한다.
4. && 연산에서는 항 1이 거짓이면 항2는 실행되지 않음
|| 연산에서는 항 1이 참이면 항2는 실행되지 않음
5. 참 : 1 // '0'이 아닌 수
거짓 : 0
정리
AND OR NOT
a b a&&b a||b !a
0 0 0 0 1
0 1 0 1 1
1 0 0 1 0
1 1 1 1 0
7. 비트 연산자
1. 비트와 비트가 대응되어 연산처리가 되어지는 연산자.
2. 양쪽 항이 정수형 데이터야 함
3. 비트 논리 연산자는 일반 논리 연산자보다 우선 순위가 높음
정리
AND OR NOT XOR
a b a&&b a||b ~a a^b
0 0 0 0 1 0
0 1 0 1 1 1
1 0 0 1 0 1
1 1 1 1 0 0
ex)
3 = 0000 0011
5 = 0000 0101
3 & 5 = 0000 0001
ㄱ. 10진수는 2진수로 만드는 방법 //사진자료 필요
1. 10진수를 2로 나눠서 만드는 방법
2. 10진수를 2의 X승을 이용하여 2진수화 하는 방법
ㄴ. 2진수를 10진수로 만드는 방법
1. 2진수의 자릿수를 2^n하여 나온 값을 더하는 방법
# 1의 보수와 10의 보수
8. 이동 연산자
1. 비트를 이동시는 연산자
2. 양쪽 항(이동 대상체와 이동 비트 수)은 정수형 데이터여야 함
3. 이동되고 남은 빈 비트 공간에는 0값이 채워짐
단, 이동 대상체가 signed 형이면서 우측 이동을 했을 경우에는 좌측 비트에 빈 공간이 남게 되는데 이 빈 비트 공간에 대상체의 최상위 비트 값이 모두 채워지며 unsigned형이면 0 값이 채워짐.
9. 조건(상항) 연산자
형식 : (항1)? 항2 : 항3
1. 항 1이 참이면 항2를 수행, 거짓이면 항3을 수행
2. 항에는 상수,변수,수식,함수 등을 기재.
ex)
(a<2)? a='참': a='거짓';
10. sizeof 연산자
형식 : 자료형, 상수, 변수, 수식에 대한 기억장소의 크기(byte)를 구한다.
'Programing > C언어' 카테고리의 다른 글
9. 반복문 (0) | 2012.09.03 |
---|---|
8. 제어문 (0) | 2012.09.03 |
6.입출력 함수 정리. (0) | 2012.09.03 |
5. 입력 함수( getchar() , getche(), getch(), gets(), scanf() ) (0) | 2012.09.03 |
4. 출력함수 (putchar, puts, printf) (0) | 2012.09.03 |