-
반응형
대입연산자
C 언어에서는 = 기호로 표현
변수에 상수 값 또는 다른 변수 값을 대입할 때 사용
C 문법에서 =는 ‘같다’의 뜻이 아님
x = 3; // x 변수에 3을 대입한다는 뜻
산술연산자
상수 또는 변수 값을 이용한 산술 연산에 사용되는 연산자
+ 연산자: 더하기 연산자
연산자: 빼기 연산자
* 연산자: 곱하기 연산을 하는데 사용
/ 연산자: 나눗셈의 결과 값 중 몫을 구하는데 사용
% 연산자: 나눗셈의 결과 값중 나머지를 구함
int data1 = 5, data2 = 3; int result1 = data1 + data2; int result2 = data1 - data2; int result3 = data1 * data2; int result4 = data1 / data2; int result5 = data1 % data2;
증감연산자
++증감 연산자: 변수가 가지고 있는 값을 1 증가
--감소 연산자 : 변수가 가지고 있는 값을 1 감소
int i = 5; i++; // i =i + 1;과 같음
덧셈 연산자는 이항 연산자, 두 개의 메모리가 연산에 사용됨(ADD)
증가 연산자는 단항 연산자, 한 개의 메모리가 연산에 사용됨(INC)
단항 연산자의 연산 속도가 더 빠름
근데 컴파일러가 스스로 최적화해서 ADD 명령어를 INC 명령어로 자동으로 변경해주곤 함.
증감 연산자의 전위형과 후위형
증감 연산자는 변수의 앞뒤에 사용 가능
함께 연산을 하는 다른 연산자가 있는 경우, 결과 값이 달라질 수 있음
후위형 (Postfix): 연산하고 난 뒤 값을 증감 i++ / i--
전위형 (Prefix): 값을 먼저 증감한 뒤 연산 ++i / --i
//전위형 int a= 5, sum; sum = ++a; // a 값이 6으로 증가한 뒤에 sum에 대입 // 후위형 int a=5, sum; sum = a++; // a 값을 먼저 sum에 대입한 후 a에 1 증가
관계연산자 (Relational Operator)
두 수치 값을 비교하여 그 결과 값을 진릿값(참, 거짓)으로 얻는 연산자
연산의 결과가 참이면 1, 거짓이면 0
A < B : A가 B보다 작으면 참
A <= B : A가 B보다 작거나 같으면 참
A > B : A가 B보다 크면 참
A >= B : A가 B보다 크거나 같으면 참
A == B : A와 B가 같으면 참
A != B : A와 B가 같지 않으면 참
대입연산자(=)와 관계연산자(==) 명확히 구분해서 사용하자!
int data1 = 5, data2 = 3; int result1 = data1 > 7; // 거짓 int result2 = data2 <= data1; // 참 int result3 = data2 == 7; // 거짓 int result4 = data2 != data1; // 참 printf(“result : %d, %d, %d, %d\n”, result1, result2, result3, result4); // 출력 결과 -> 0, 1, 0, 1
논리연산자
A와 B의 상황을 일정한 규칙(AND, OR, NOT)으로 연결해주는 연산자
A와 B는 진릿값(참, 거짓)을 사용
참: 0이 아닌 모든 값(참의 대표 값은 1), 거짓: 0
#include <stdio.h> void main() { int data1 = 5, data2 = 3; int result1 = 0 || 1; // 거짓||참->참 int result2 = 3 &&-1; // 참&&참->참 int result3 = data1 == 3 || data2 == 3;// 거짓||참->참 int result4 = data1 ==3 && data2 == 3;// 거짓&&참->거짓 int result5 = !data1;// !참->거짓 printf(“result: %d, %d, %d, %d, %d\n”, result1, result2, result3, result4, result5); //출력 결과: 1result: 1, 1, 1, 0, 0 }
연산자 우선순위
하나의 수식에서 여러 개의 연산자를 사용했을 때
어떤 연산자를 먼저 연산할지 정해놓은 것
연산 방향
연산자 우선순위가 같은 연산자들에 대해서도 연산자의 우선 순위를 정함
컴퓨터에서 연산 방향을 사용하는 이유:
컴퓨터는 정수 연산을 많이 사용하고 몫과 나머지를 구분하여 연산하기 때문에 연산 방향에 따라 결과 값이 다르게 나올 수 있음.
반응형'C' 카테고리의 다른 글
오류를 줄이는 프로그래밍 습관 (0) 2022.04.24 C 표준 라이브러리 (0) 2022.04.18 전처리기(Preprocessor) (0) 2022.04.17