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 심사문제 : 괄호 사용하기
문제) 표준 입력으로 세 정수가 입력됩니다. 다음 순서대로 연산한 뒤 결과가 출력되게 만드세요.
- num1과 num2를 더하기
- 1번 결과에 10을 곱하기
- 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 | , | 쉼표(콤마) 연산자 | → |
'스터디 > 코딩' 카테고리의 다른 글
| [ 코딩 도장 : C ] Unit 27. for 반복문으로 Hello, world! 100번 출력하기 : 연습문제 / 심사문제 (0) | 2024.07.06 |
|---|---|
| [ 코딩 도장 : C ] Unit 26. switch 분기문으로 다양한 조건 처리하기 : 연습문제 / 심사문제 (0) | 2024.07.06 |
| [ 코딩 도장 : C ] Unit 24. 비트 연산자 응용하기 : 연습문제 / 심사문제 (0) | 2024.07.06 |
| [ 코딩 도장 : C ] Unit 23. 비트 연산 사용하기 : 연습문제 / 심사문제 (0) | 2024.07.06 |
| [ 코딩 도장 : C ] Unit 22. 불 자료형 사용하기 : 연습문제 / 심사문제 (0) | 2024.07.05 |