조금씩 꾸준히 완성을 향해

[C 언어] 연산자(산술, 관계, 논리) & 연산자 우선순위 본문

기타 언어/C 언어

[C 언어] 연산자(산술, 관계, 논리) & 연산자 우선순위

all_sound 2023. 3. 15. 23:40

산술 연산자 종류

 

<예제>

3 / 4의 결과는?

    정답:  0 (정수 나누기 정수는 정수)

 a=10;   b= a++;  c=++a;   b와 c의 값은?

   정답: b = 10 (먼저 b에 a값 10을 집어넣고 a에 +1)

            c = 11 (먼저 a에 +1 한 후에 c에 a값 11을 대입)

 a = 10;  a+=10;  a의 값은?

    정답: 20 ( a + 10 = 20)

 

관계 연산자 종류

 

논리 연산자 종류

 

연산자  우선순위

 

<예제>

Int a = 3;  Int b = 4;  Int c = 5;  Int d = 6;

 a*b+c>=d&&d/a-b!=0 

    정답:  1 ( 곱하기, 나누기 연산 > 더하기, 빼기 연산 > 비교연산(>=, !=) > 논리연산(&&) )

 d%b+ ++a*c--

   정답: 22 ( a에 +1 > 산술연산(%, *) > c에 -1 > 더하기 연산 )

 d%b+ a++*c--

    정답: 17 ( 산술연산(%, *) > a에 +1, c에 -1 > 더하기 연산 )

 

#include <stdio.h>

int main(){
  int a = 5, b = 5;
  a *= 3 + b++;
  printf("%d %d", a, b);
  return 0;
}

출력 : 40 6 

 

#include <stdio.h>

int main(){
  int i = 3, j = 4;
  if((++i > j--)&&(i++ < --j)) i = i-- + ++j;
  else j = i-- - --j;
  printf("%d\n", i);
}

출력: 3

 

 

 

 

 

※ 유튜브 흥달쌤 깨알 C언어 특강을 직접 정리한 내용입니다