홍정모의 따라하며 배우는 C언어 정리

연산자 우선순위, 나머지 연산자

채고루 2023. 3. 6. 17:22

<연산자 우선순위>

연산자 결합법칙
( ) 왼쪽에서 오른쪽
+ - (단항) 오른쪽에서 왼쪽
* /  왼쪽에서 오른쪽
+ - 왼쪽에서 오른쪽
= 오른쪽에서 왼쪽

a=b=60;

b=60 -> b=a=60 

 

<나머지 연산자>

example:  while문을 이용해 초를 입력 받아 시, 분, 초로 나타내기

#include <stdio.h>
int main()
{
  int seconds = 0, minutes = 0, hours = 0;

  printf("Input seconds: ");
  scanf("%d", &seconds);

  while (seconds>=0)
    {
      minutes = seconds / 60;
      seconds %= 60;

      hours = minutes / 60;
      minutes %= 60;

      printf("%d hour, %d minutes, %d seconds\n", hours, minutes, seconds);

     printf("Input seconds: ");
     scanf("%d", &seconds);

  }

printf("Good bye\n");
return 0;
}

 

<나누기와 나머지>

int mian()
{
  int div, mod;

  div = 11 / 5;
  mod = 11 % 5;
  printf("div=%d, mod=%d\n", div, mod);
// 2,1

  div = 11 / -5;
  mod = 11 % -5;
  printf("div=%d, mod=%d\n", div, mod);
// -2, 1

  div = -11 / -5;
  mod = -11 % -5; //first operand is negative 
  printf("div=%d, mod=%d\n", div, mod);
// 2, -1

  div = -11 / 5;
  mod = -11 % 5; //first operand is negative
  printf("div=%d, mod=%d\n", div, mod);
// -2, -1

return 0;

// 앞의 연산자가 -이면 나머지도 -로 나온다. 
}