관리 메뉴

사적공간

연산자 우선순위 본문

KNOU_CS/C

연산자 우선순위

2sac 2024. 3. 13. 19:35

연산자 우선순위 

증 ++ --

 

논 !

비 ~

 

산 * + - 

시 << >>

관 ==

비 & ^ 

논 && 

삼 (조건식)? a:b

대 = +=





산술연산 

#include <stdio.h>

int main()
{ 
int x=3, y=2;
float z=2.0;
printf("%d %d\n", x%y, y%x);
printf("%d %.2f", x/y, x/z);
   
}

x%y 는 x를 y로 나눈 나머지 (출력함수에서 이렇게 쓸 수 있다는 걸 보여줌)

 



쉬프트 연산

#include <stdio.h>

int main()
{
int x = 11;
printf("%d\n", x<<3);
printf("%d", x>>1); 
}

1011 -> 1011000 은 88

1011 -> 101은 5 

 

 

비트연산 

#include <stdio.h>

int main()
{
printf("%d\n", 12 & 10);
printf("%d\n", 12 | 10);
printf("%d\n", 12 ^ 10);
printf("%d\n", ~12); // -13 출력, 간단하게 부호를 바꾸고 바꾼 부호의 수로 1을 더한다고 보면 됨. 
printf("%d\n", ~1); // -2 출력,
printf("%d\n", ~2); // -3 출력, 
printf("%d\n", ~-1); // 0 출력, 양수로 변환도 마찬가지 
printf("%d\n", ~-2); // 1 출력, 
}

 

https://st-lab.tistory.com/189

 

2진수의 수와 음수 표현법 [1의 보수와 2의 보수]

안녕하세요. 오늘은 프로그래밍이 아닌 컴퓨터의 연산에 대해 이해해보고자 합니다. 우리가 흔히 프로그래밍을 할 때는 그나마 사람에 가까운 언어로 된 고급언어들로 작성을 하지만 실제 컴퓨

st-lab.tistory.com

 

 

비트연산자 

#include <stdio.h>

int main()
{
int x=5, y=3;
printf("%d\n", x>5 && y>=3); // x와 5는 같으므로 거짓, y와 3 비교는 같으므로 참, 거짓&&참 = 거짓
printf("%d", x>5 || y>=3);
}

 

 

 

삼항연산자 

 

#include <stdio.h>

int main()
{
int a = 26, b =91;
int x = a < b ? a : b; //삼항 연산자 
printf("%d", x);
}

 

 

 

'KNOU_CS > C' 카테고리의 다른 글

break문 탈출범위  (0) 2024.04.03
반복문  (1) 2024.03.14
표준 입력 함수(scanf)  (1) 2024.03.12
표준 입출력 함수 포맷스트링 -, 0, 전체자리수, 소수점 자리수  (0) 2024.03.12
정적 변수, static  (1) 2024.03.12