4day.c 연산자 정리
수식(expression)
- 상수, 변수, 연산자의 조합
- 연산자와 피연산자로 나누어진다.
기능에 따른 연산자의 분류
연산자 의미
-------------------------------------
대입 = 오른쪽을 왼쪽에 대입
-----------------------------------------
산술 +,-,*,/,% 사칙연산과 나머지연산
-----------------------------------------
부호 +,_
-----------------------------------------
증감 ++,-- 증가,감소연산
-----------------------------------------
관계 ><,==,!=,>=,<= 오른쪽과 왼쪽을 비교
-----------------------------------------
논리 && || 논리적인 AND,OR
-----------------------------------------
조건 ? 조건에 따라 선택
피연산자수에 따른 연산자 분류
- 단항 연산자: 피연산자의 수가 1개
예) ++x;, --y;
- 이항 연산자: 피연산자의 수가 2개
예) x+y, x-y
- 삼항 연산자: 연산자의 수가 3개
예) x?y:z
대입(배정,할당) 연산자
- 왼쪽에 있는 변수에 오른쪽의 수식의 값을 계산하여 대입
- x = 10; 상수 10을 변수 x에 대입한다.
산술 연산자
- 덧셈, 뺄셈, 곱셈, 나눗셈 등의 사칙 연산을
수행하는 연산자.
덧셈 +
뺄셈 -
곱셈 *
나눗셈 /
나머지 %
거듭제곱은 어떻게 할까?
C에는 거듭 제곱을 연산자는 없다.
x*x와 같이 단순히 변수를 두번 곱한다.
예) 3의 3제곱은 3*3*3이다.
나눗셈 연산자
- 정수형끼리의 나눗셈에서는 결과가 정수형으로 생성하고
부동소수점형끼리는 부동소수점 값을 생성한다.
- 정수형끼리의 나눗셈에서 소수점 이하는 버려진다.
나머지 연산자
- 나머지 연산자는 첫번째 피연산자를 두번째 피연산자로
나누었을 경우의 나머지를 계산
- 10%2 = 0
- 5%7 = 5
- 30%9 = 3
- 나머지 연산자를 이용한 짝수와 홀수의 구분
- x%2가 0이면 짝수
- 나머지 연산자를 이용한 5의 배수 판단
- x%5가 0이면 5의 배수
증감 연산자
++x: x의 값이 1만큼 증가된 값으로 저장된후에 쓰여지는것
x++: 문장이 끝난 후에 x의 값이 1만큼 증가하는것
--x: x의 값이 1만큼 감소된 값으로 저장된 후에 쓰여지는것
x--: 문장이 끝난 후에 x의 값이 1만큼 감소하는것
예)int x = 10, y = 10;
printf("x = %d\n",x); x = 10
printf("++x의 값 = %d\n",++x); x = 11
printf("x = %d\n\n",x); x = 11
printf("y = %d\n",y); y = 10
printf("y++의 값 = %d\n",y++); y = 10
printf("y = %d\n",y); y = 11
복합 대입 연산자
- 복합 대입 연산자란 +=처럼 대입연산자 =와
산술연산자를 합쳐 놓은 연산자이다.
- 장점:소스를 간결하게 해줄수있다.
예) x += y -> x = x+y
x -= y -> x = x-y
관계 연산자
- 두개의 피연산자를 비교하는 연산자
- 결과값은 참(1)아니면 거짓(0)
연산자 기호
== x와y의 값이 같은가?
!= x와y의 값이 다른가?
>,< x와y의 크기비교
>=,<=
예) 1 == 1 참(1)
1 != 2 참(1)
2 > 1 참(1)
x >= y x가 y보다 크거나 같으면 참(1)
관계연산자 사용시 주의점
- 잘못된 방법: 2< x < 5
- 올바른 방법:(2<x)&&(x<5)
논리 연산자
- 여러개의 조건을 조합하여 참과 거짓을 따지는 연산자
- 결과값은 참(1) 아니면 거짓(0)
연산자 기호
&& AND연산, x와y가 모두 참이면 참아니면 거짓
예) (age<= 30)&&(toeic >=700)
참(1) 참(1) => 참(1)
|| OR연산, x나 y중에 하나만 참이면
예) (age <=30) || (toeic >= 700)
참(1) 거짓(0) =>참(1)
! NOT연산, x가 참이면 거짓, x가 거짓이면 참
참과 거짓의 표현 방법
- 관계 수식이나 논리 수식이 만약 참이면 1이 생성
거짓이면 0이 생성
- 피연산자의 참,거짓을 가릴 떄에는 0이 아니면 참이고
0이면 거짓으로 판단.
- 음수는 거짓으로 판단.
NOT연산자
- 피연산자의 값이 참이면 연산의 결과값을 거짓으로 만들고,
피연산자의 값이 거짓이면 연산의 결과값을 참으로 만듬
논리 연산자 예시
-"x는 1,2,3중의 하나인가"
- (x==1)||(x==2)||(x==3)
-"x가 60이상 100미만이다."
- (x>=60)&&(x<100)
-"x가 0도 아니고 1도 아니다."
- (x!=0)&&(x!=1) x는0이 아니고 1도아니다.
조건 연산자
예) value = (x > y)?x:y;
x>y가 참이면 x가 수식의 값이된다.
거짓이면y 가 수식의 값이된다.