산술 연산자
산술 연산자는 사칙연산에 활용되는 기호들을 의미한다.
연산식들은 함수의 인자 전달 위치에도 올 수 있다.
#include <stdio.h>
int main ()
{
int num1 = 7;
int num2 = 2;
printf("%d + %d = %d \n", num1, num2, num1+num2);
printf("%d + %d = %d ", 7, 2 , 7+2);
} // 두 개의 printf 함수 모두 같은 값을 출력
함수의 인자 전달 위치에는 연산식 뿐만 아니라 다른 함수의 반환값도 올 수 있다.
#include <stdio.h>
int main ()
{
int num = 7;
printf("%d", sizeof(num)); // int형 변수인 num 의 크기를 출력
}
대입 연산자
대입 연산자는 초기화를 할 때나 값을 대입할 때 사용되는 연산자이다.
수학에서의 equal 과 결과적으로 같다고 생각할 수 있지만 다른 의미를 지니고 있다.
수학에서의 equal 과 같은 의미를 지니는 것은 바로 아래에서 소개할 관게 연산자 '==' 이다.
관계 연산자
두 변수 혹은 상수끼리의 대소 혹은 동등 여부를 판단하는 연산자이다.
여기서 해당 연산자의 기능과 값이 일치하면 True를, 그렇지 않으면 False를 반환한다.
기계가 인지하는 False 값은 0이고 True 값은 0 이외의 다른 문자이다.
통상적으로 True 값으로 1을 주로 사용한다.
논리 연산자
논리 연산자는 한 개 혹은 두 개의 논리식이 참인지 거짓인지를 판단하는 연산자이다.
여기서 논리연산자 | 는 수직선 기호로 'shift + \'로 사용할 수 있다.
방금 언급한 관계 연산자와 함께 논리연산자 사용의 예시를 들어보겠다.
#include <stdio.h>
int main ()
{
int six = 6;
int five = 5;
int result1 = 0, result2 = 0, result3 = 0;
result1 = (six==6 && five==6); // 하나만 참이므로 거짓을 반환, 0을 반환
result2 = (six==6 || five==6); // 하나라도 참이므로 참을 반환, 1을 반환
result3 = (!six==6); // 하나만 참이므로 거짓을 반환, 0을 반환
printf("result1 = %d, result2 = %d, result3 = %d", result1, result2, result3);
}
복합 대입 연산자
복합 연산자의 종류는 다음과 같다.
*=, /=, %=, +=, -=, <<=, >>=, &=, ^=, |=
이 연산자들의 의미는 모두 다음과 같다.
이외에 <<=, >>=, &=, ^=, |= 도 모두 마찬가지이다.
예시를 들기 위해 코드를 작성해보겠다.
#include <stdio.h>
int main ()
{
int a = 10;
int b = 5;
a /= b; // a = a / b
printf("%d", a); // a = 10/5 이므로 2 출력
return 0;
}
'C언어 > C언어 문법' 카테고리의 다른 글
[C언어] 심볼릭 상수 (Symbolic Const) (0) | 2024.02.08 |
---|---|
[C언어] 형변환 (Type Casting) (0) | 2024.02.07 |
[C언어] 비트 연산, 비트 연산자 (0) | 2024.01.24 |
[C언어] sizeof 함수 (0) | 2024.01.23 |
[C언어] 필드 폭 지정 (0) | 2024.01.23 |