C 언어의 연산자 우선 순위(코드 예)

藏色散人
풀어 주다: 2020-09-14 09:36:53
원래의
91534명이 탐색했습니다.

C 언어의 연산자 우선순위: 1. 첫 번째 수준 연산자에는 식별자와 상수가 있습니다. 2. 두 번째 수준 연산자에는 배열 첨자 연산과 함수 호출이 있습니다. 3. 세 번째 수준 연산자에는 접두사 자동 증가 및 접두사 자동이 있습니다. -increment.Subtraction; 4. 네 번째 수준 연산자는 표현식이 지정된 유형이 되도록 강제합니다. 5. 다섯 번째 수준 연산자는 곱셈 연산자입니다.

C 언어의 연산자 우선 순위(코드 예)

예를 들어, x = 7 + 3 * 2; 여기서 x에는 20이 아닌 13이라는 값이 할당됩니다. 왜냐하면 * 연산자의 우선순위가 +보다 높기 때문에 먼저 3*2를 곱하기 때문입니다. 그런 다음 7에 추가하십시오.

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

  • 첫 번째 수준 연산자: 식별자, 상수, 문자열 리터럴, 우선 순위 승격 표현식이 먼저 실행됩니다.

  • 보조 연산자: 배열 첨자 연산(표현식), 함수 호출(인수 표현식 목록), 멤버 액세스(식별자, -> 식별자), 접미사 증가(i++), 접미사 감소(i --), 복합 초기화 프로그램(초기화 프로그램 목록).

  • 3차 연산자: 접두사 증가(++i), 접두사 감소(--i), 단항 변환 표현식(주소 가져오기 &, 철회 *, 양수 부호 +, 음수 부호 -, 비트 반전 ~ 논리 없음! ), 유형 길이(단항 표현식의 크기)를 찾습니다.

  • 4단계 연산자: 표현식이 유형 이름(유형 이름) 캐스트 표현식에 지정된 유형이 되도록 강제합니다.

  • 다섯 번째 수준 연산자: " * " 곱셈 연산자.

  • 6번째 수준 연산자: "+" 추가 연산자입니다.

  • 7단계 연산자: << 왼쪽 시프트 연산자 >>

  • 8단계 연산자: <, <=, >, >= 관계 연산자.

  • 9개 수준 연산자: "=="는 등호 연산자입니다. "!="는 연산자와 동일하지 않습니다.

  • 10번째 수준 연산자: "&" 비트 AND 연산자.

  • 11번째 수준 연산자: “ ∧ ” 비트 XOR 연산자.

  • 12개 수준 연산자: " | " 비트 OR 연산자.

  • 13번째 수준 연산자: "&&" 논리 AND 연산자.

  • 14번째 수준 연산자: "||" 논리 OR 연산자.

  • 15개 수준 연산자: ? :조건부 연산자.

C 언어에서 연산자의 우선순위는 다음과 같습니다(높음에서 낮음):

| 왼쪽에서 오른쪽으로 到 && 왼쪽에서 오른쪽으로 || 왼쪽에서 오른쪽으로 ?: 오른쪽에서 왼쪽으로 = += *= / = %=> ;>= <<= &= ^= |=오른쪽에서 왼쪽으로,왼쪽에서 오른쪽으로
#include <stdio.h>main() {

   int a = 20;
   int b = 10;
   int c = 15;
   int d = 5;
   int e;
 
   e = (a + b) * c / d;      // ( 30 * 15 ) / 5
   printf("Value of (a + b) * c / d is : %d\n",  e );

   e = ((a + b) * c) / d;    // (30 * 15 ) / 5
   printf("Value of ((a + b) * c) / d is  : %d\n" ,  e );

   e = (a + b) * (c / d);   // (30) * (15/5)
   printf("Value of (a + b) * (c / d) is  : %d\n",  e );

   e = a + (b * c) / d;     //  20 + (150/5)
   printf("Value of a + (b * c) / d is  : %d\n" ,  e );
  
   return 0;}
로그인 후 복사
Value of (a + b) * c / d is : 90
Value of ((a + b) * c) / d is  : 90
Value of (a + b) * (c / d) is  : 90
Value of a + (b * c) / d is  : 50
로그인 후 복사
관련 권장 사항: "C Tutorial
operator association
() [] -> ++ - - 왼쪽에서 오른쪽으로
+ - ! ~ ++ - - (유형)* & sizeof right 왼쪽으로+ -오른쪽+ -lt; & gt; & gt;
C의 연산자 우선순위 예: 출력:
" 이 문서는 C 언어의 연산자 우선순위에 대한 소개입니다. 도움이 필요한 친구들에게 도움이 되기를 바랍니다!

위 내용은 C 언어의 연산자 우선 순위(코드 예)의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿
회사 소개 부인 성명 Sitemap
PHP 중국어 웹사이트:공공복지 온라인 PHP 교육,PHP 학습자의 빠른 성장을 도와주세요!