#include <stdio.h>
int main()
{
printf("result : %d \n",10 + 20 * 5 - 5);
printf("result : %d \n",(10 + 20) * 5 - 5);
return 0;
{
위의 소스 코드를 실행하면 결과가 어떻게 나올까요?
기본적인 사칙연산의 순서대로 나오게 됩니다.
printf("result : %d \n",10 + 20 * 5 - 5); 이것은 곱하기 먼저 계산이 되고 왼쪽부터 오른쪽으로 계산됩니다.
printf("result : %d \n",(10 + 20) * 5 - 5); 이것은 괄호 안의 내용을 먼저 하고 곱하기 빼기 순으로 됩니다.
연산자의 우선순위
1 |
primary |
( ) |
[ ] |
. |
-> |
오른쪽 |
|||
2 |
단항 |
* |
& |
! |
++ |
-- |
(datatype) |
sizeof |
왼쪽 |
3 |
승법 |
* |
% |
/ |
오른쪽 |
||||
4 |
가법 |
+ |
- |
오른쪽 |
|||||
5 |
관계 |
< |
> |
<= |
>= |
오른쪽 |
|||
6 |
등가 |
== |
!= |
오른쪽 |
|||||
7 |
논리곱 |
&& |
오른쪽 |
||||||
8 |
논리합 |
|| |
오른쪽 |
||||||
9 |
대입 |
= |
+= |
-= |
*= |
%= |
/= |
왼쪽 |
1순위가 제일 빠른 우선순위를 가집니다.
마지막으로 대입 연산자입니다.
그리고 단항과 대입 연산자만
같은 우선순위가 만났을때 연산 방향이 왼쪽이라는 것을 기억하시기 바랍니다.
include <stdio.h>
int main()
{
int a = 6;
int b = 4;
printf("덧셈 : %d",a+b);
printf("뺄셈 : %d",a-b);
printf("곱셈 : %d",a*b);
printf("나눗셈 : %d",a/b);
printf("나머지 : %d",a%b);
return 0;
}
암산으로 해도 대충 답이 나올 얘기입니다.
그러나 %이 연산자는 생소할 수도 있는데요
나머지를 구하는 연산자입니다.
나머지를 구하려면 일단 나눈 후 나오는 나머지를 얘기하고요
위의 소스에서는 6을 4로 나누면 몫은 1이고 나머지는 2입니다. 거기서 2가 % 연산자로 계산되는 값입니다.
'컴퓨터 프로그래밍 > C' 카테고리의 다른 글
C언어 증감 연산자 / 캐스팅 연산자 / sizeof 연산자 (0) | 2019.07.18 |
---|---|
C언어 관계 연산자 / 논리 연산자 / 대입 연산자 (0) | 2019.07.18 |
C언어 표준 입력 함수 get / scanf (0) | 2019.07.18 |
C언어 표준 출력 함수/서식 문자 (0) | 2019.07.18 |
C언어 자료형, 변수 (0) | 2019.07.18 |