산업 제조
산업용 사물 인터넷 | 산업자재 | 장비 유지 보수 및 수리 | 산업 프로그래밍 |
home  MfgRobots >> 산업 제조 >  >> Industrial programming >> C 언어

C - 연산자

연산자는 컴파일러에게 특정 수학 또는 논리 기능을 수행하도록 지시하는 기호입니다. C 언어는 내장 연산자가 풍부하며 다음과 같은 유형의 연산자를 제공합니다 -

이 장에서는 각 연산자가 작동하는 방식을 살펴보겠습니다.

산술 연산자

다음 표는 C 언어에서 지원하는 모든 산술 연산자를 보여줍니다. 변수 A를 가정합니다. 10 및 변수 B 보유 20을 유지한 다음 -

예시 보기

연산자 설명
+ 두 개의 피연산자를 추가합니다. A + B =30
첫 번째 피연산자에서 두 번째 피연산자를 뺍니다. A − B =-10
* 두 피연산자를 곱합니다. A * B =200
/ 분자를 분자로 나눕니다. B / A =2
% 정수 나누기 후 모듈러스 연산자 및 나머지. B % A =0
++ 증가 연산자는 정수 값을 1씩 증가시킵니다. A++ =11
-- 감소 연산자는 정수 값을 1 감소시킵니다. A-- =9

관계 연산자

다음 표는 C에서 지원하는 모든 관계 연산자를 보여줍니다. 변수 A를 가정합니다. 10 및 변수 B 보유 20을 유지한 다음 -

예시 보기

연산자 설명
== 두 피연산자의 값이 같은지 확인합니다. 그렇다면 조건이 참이 됩니다. (A ==B)는 사실이 아닙니다.
!= 두 피연산자의 값이 같은지 확인합니다. 값이 같지 않으면 조건이 참이 됩니다. (A !=B)는 참입니다.
> 왼쪽 피연산자의 값이 오른쪽 피연산자의 값보다 큰지 확인합니다. 그렇다면 조건이 참이 됩니다. (A> B)는 사실이 아닙니다.
< 왼쪽 피연산자의 값이 오른쪽 피연산자의 값보다 작은지 확인합니다. 그렇다면 조건이 참이 됩니다. (A
>= 왼쪽 피연산자의 값이 오른쪽 피연산자의 값보다 크거나 같은지 확인합니다. 그렇다면 조건이 참이 됩니다. (A>=B)는 사실이 아닙니다.
<= 왼쪽 피연산자의 값이 오른쪽 피연산자의 값보다 작거나 같은지 확인합니다. 그렇다면 조건이 참이 됩니다. (A <=B)는 참입니다.

논리 연산자

다음 표는 C 언어에서 지원하는 모든 논리 연산자를 보여줍니다. 변수 A를 가정합니다. 1 및 변수 B 보유 0을 유지한 다음 -

예시 보기

연산자 설명
&& 논리 AND 연산자라고 합니다. 두 피연산자가 모두 0이 아니면 조건이 참이 됩니다. (A &&B)는 거짓입니다.
|| 논리적 OR 연산자라고 합니다. 두 피연산자 중 하나라도 0이 아니면 조건이 참이 됩니다. (A || B)는 참입니다.
! 논리적 NOT 연산자라고 합니다. 피연산자의 논리적 상태를 반전시키는 데 사용됩니다. 조건이 참이면 논리 NOT 연산자가 조건을 거짓으로 만듭니다. !(A &&B)는 사실입니다.

비트 연산자

비트 연산자는 비트에 대해 작동하고 비트 단위 연산을 수행합니다. &, |, ^에 대한 진리표는 다음과 같습니다 -

p q p &q p | Q p ^ q
0 0 0 0 0
0 1 0 1 1
1 1 1 1 0
1 0 0 1 1

이진 형식으로 A =60 및 B =13이라고 가정하면 다음과 같습니다. -

A =0011 1100

B =0000 1101

------------------

A&B =0000 1100

A|B =0011 1101

A^B =0011 0001

~A =1100 0011

다음 표는 C에서 지원하는 비트 연산자를 나열합니다. 변수 'A'가 60을 보유하고 변수 'B'가 13을 보유하고 있다고 가정한 다음 -

예시 보기

연산자 설명
& 이진 AND 연산자는 두 피연산자 모두에 존재하는 경우 결과에 비트를 복사합니다. (A &B) =12, 즉, 0000 1100
| 이진 OR 연산자는 피연산자 중 하나에 존재하는 경우 비트를 복사합니다. (A | B) =61, 즉, 0011 1101
^ 이진 XOR 연산자는 하나의 피연산자에만 설정되어 있으면 비트를 복사합니다. (A ^ B) =49, 즉, 0011 0001
~ 이진 1의 보수 연산자는 단항이며 비트를 '뒤집는' 효과가 있습니다. (~A ) =~(60), 즉. -0111101
<< 이진 왼쪽 시프트 연산자. 왼쪽 피연산자 값은 오른쪽 피연산자가 지정한 비트 수만큼 왼쪽으로 이동합니다. A <<2 =240 즉, 1111 0000
>> 이진 오른쪽 시프트 연산자. 왼쪽 피연산자 값은 오른쪽 피연산자가 지정한 비트 수만큼 오른쪽으로 이동합니다. >>> 2 =15 즉, 0000 1111

할당 연산자

다음 표는 C 언어에서 지원하는 할당 연산자를 나열합니다 -

예시 보기

와 동일합니다.
연산자 설명
= 단순 할당 연산자. 오른쪽 피연산자에서 왼쪽 피연산자로 값 할당 C =A + B는 A + B의 값을 C에 할당합니다.
+= AND 할당 연산자를 추가합니다. 왼쪽 피연산자에 오른쪽 피연산자를 더하고 그 결과를 왼쪽 피연산자에 할당합니다. C +=A는 C =C + A와 동일합니다.
-= 빼기 AND 할당 연산자. 왼쪽 피연산자에서 오른쪽 피연산자를 빼고 결과를 왼쪽 피연산자에 할당합니다. C -=A는 C =C - A와 동일합니다.
*= 곱하기 AND 할당 연산자. 오른쪽 피연산자에 왼쪽 피연산자를 곱하고 그 결과를 왼쪽 피연산자에 할당합니다. C *=A는 C =C * A와 동일합니다.
/= 나누기 AND 할당 연산자. 왼쪽 피연산자를 오른쪽 피연산자로 나누고 그 결과를 왼쪽 피연산자에 할당합니다. C /=A는 C =C / A와 동일합니다.
%= 모듈러스 AND 할당 연산자. 두 개의 피연산자를 사용하여 모듈러스를 취하고 결과를 왼쪽 피연산자에 할당합니다. C %=A는 C =C % A와 동일합니다.
<<= 왼쪽 시프트 AND 대입 연산자. C <<=2는 C =C <<2
>>= 오른쪽 시프트 AND 대입 연산자. C>>=2는 C =C>> 2와 같습니다.
&= 비트 AND 대입 연산자. C &=2는 C =C &2와 동일합니다.
^= Bitwise 배타적 OR 및 할당 연산자. C ^=2는 C =C ^ 2와 같습니다.
|= 비트 포함 OR 및 할당 연산자. C |=2는 C =C | 2

기타 연산자 ↦ sizeof &삼항

위에서 논의한 연산자 외에도 sizeof를 포함한 몇 가지 다른 중요한 연산자가 있습니다. 그리고 ? : C 언어에서 지원합니다.

예시 보기

연산자 설명
sizeof() 변수의 크기를 반환합니다. sizeof(a)(여기서 a는 정수)는 4를 반환합니다.
& 변수의 주소를 반환합니다. &a; 변수의 실제 주소를 반환합니다.
* 변수에 대한 포인터. *a;
? : 조건식. 조건이 참이면? 값 X :그렇지 않으면 값 Y

C에서 연산자 우선순위

연산자 우선 순위는 표현식의 용어 그룹을 결정하고 표현식이 평가되는 방식을 결정합니다. 특정 연산자는 다른 연산자보다 우선 순위가 높습니다. 예를 들어, 곱하기 연산자는 더하기 연산자보다 우선 순위가 높습니다.

예를 들어, x =7 + 3 * 2; 여기서 x는 연산자 *가 +보다 우선순위가 높기 때문에 20이 아닌 13이 할당되므로 먼저 3*2를 곱한 다음 7을 더합니다.

여기서 우선 순위가 가장 높은 연산자는 테이블 상단에 표시되고 가장 낮은 연산자는 하단에 나타납니다. 표현식 내에서 우선 순위가 높은 연산자가 먼저 평가됩니다.

예시 보기

카테고리 연산자 연관성
접미사 () [] -> . ++ - - 왼쪽에서 오른쪽으로
단항 + - ! ~ ++ - - (유형)* &sizeof 오른쪽에서 왼쪽으로
승법 * / % 왼쪽에서 오른쪽으로
첨가제 + - 왼쪽에서 오른쪽으로
시프트 <<>> 왼쪽에서 오른쪽으로
관계형 <<=>>= 왼쪽에서 오른쪽으로
평등 ==!= 왼쪽에서 오른쪽으로
비트 AND & 왼쪽에서 오른쪽으로
비트 단위 XOR ^ 왼쪽에서 오른쪽으로
비트 OR | 왼쪽에서 오른쪽으로
논리 AND && 왼쪽에서 오른쪽으로
논리적 OR || 왼쪽에서 오른쪽으로
조건부 ?: 오른쪽에서 왼쪽으로
과제 =+=-=*=/=%=>>=<<=&=^=|= 오른쪽에서 왼쪽으로
쉼표 , 왼쪽에서 오른쪽으로

C 언어

  1. C# 연산자
  2. C# 비트 및 비트 시프트 연산자
  3. C++ 연산자
  4. C 프로그래밍 연산자
  5. 파이썬 연산자
  6. 자바 연산자
  7. C의 비트 연산자:AND, OR, XOR, 시프트 및 보수
  8. Verilog 운영자
  9. 자바 - 기본 연산자
  10. C++의 연산자