본문 바로가기

스터디/코딩

[ 코딩 도장 : C ] Unit 25. 연산자 우선 순위 알아보기 : 연습문제 / 심사문제

25.6 연습문제 : 괄호 사용하기

문제) 주어진 연산자의 실행 순서대로 밑줄 친 부분에 괄호를 넣으세요. 연산자의 실행 순서가 맞다면 6이 출력됩니다.

1. 시프트 연산자

2. 덧셈 연산자

3. 곱셈 연산자

 

#include <stdio.h>

int main()
{
    int num1 = 1;
    int num2 = 1;
    int num3;

    num3 = 2 * ((1 << num1) + (2 >> num2));

    printf("%d\n", num3);

    return 0;
}

 

 

25.7 심사문제 : 괄호 사용하기

문제) 표준 입력으로 세 정수가 입력됩니다. 다음 순서대로 연산한 뒤 결과가 출력되게 만드세요.

  1. num1과 num2를 더하기
  2. 1번 결과에 10을 곱하기
  3. 2번 결과에서 num3을 빼기
#define _CRT_SECURE_NO_WARNINGS
#include <stdio.h>

int main()
{
    int num1;
    int num2;
    int num3;

    scanf("%d %d %d", &num1, &num2, &num3);

    printf("%d\n", ((num1+num2)*10)-num3);

    return 0;
}

 

 

>> C언어 연산자 우선순위

우선순위 연산자 설명 결합 법칙(방향)
1




x++
x--
( )
[ ]
.
->
(자료형){값}
증가 연산자(뒤, 후위)
감소 연산자(뒤, 후위)
함수 호출
배열 첨자
구조체/공용체 멤버 접근
포인터로 구조체/공용체 멤버 접근
복합 리터럴





2









++x
--x
+x
-x
!
~
(자료형)
*x
&x
sizeof
증가 연산자(앞, 전위)
감소 연산자(앞, 전위)
단항 덧셈(양의 부호)
단항 뺄셈(음의 부호)
논리 NOT
비트 NOT
자료형 캐스팅(자료형 변환)
포인터 x 역참조
x의 주소
자료형의 크기











3


*
/
%
곱셈
나눗셈
나머지



4

+
-
덧셈
뺄셈


5

<<
>>
비트를 왼쪽으로 시프트
비트를 오른쪽으로 시프트


6



<
<=
>
>=
작음
작거나 같음

크거나 같음




7

==
!=
같음
다름


8 & 비트 AND
9 ^ 비트 XOR
10 | 비트 OR
11 && 논리 AND
12 || 논리 OR
13 ? : 삼항 연산자
14











=
+=
-=
*=
/=
%=
<<=
>>=
&=
^=
|=
할당
덧셈 후 할당
뺄셈 후 할당
곱셈 후 할당
나눗셈 후 할당
나머지 연산 후 할당
비트를 왼쪽으로 시프트한 후 할당
비트를 오른쪽으로 시프트한 후 할당
비트 AND 연산 후 할당
비트 XOR 연산 후 할당
비트 OR 연산 후 할당












15 , 쉼표(콤마) 연산자