한걸음, 한걸음씩
[C언어]연산자 본문
< 연산자 우선 순위 >
순위 |
형 | 연산자 |
결합성 (같은 우선 순위의 연산자가 있을 시의 우선순위) |
1 |
primary | () [] . -> |
→ |
2 |
단항 연산자 | & * ! ++ -- sizeof (datatype) |
← |
3 |
승법 연산자 | * % / |
→ |
4 |
가법 연산자 | + - |
→ |
5 |
관계 연산자 | < > <= >= |
→ |
6 |
등가 연산자 | == != |
→ |
7 |
논리곱 | && |
|
8 |
논리합 | || |
|
9 |
대입 연산자 | = += -= *= %= /= |
← |
- ++ | -- : 증감 연산자
: 1씩 증가하거나(++) 감소하는(--) 연산자
- sizeof 연산자
: 메모리에 할당된 크기를 구할 떄 쓰인다.
ex) printf("int : %d\n", sizeof(int)); // int은 4byte
printf("char : %d\n", sizeof(char)); // char는 1byte
- % : 나머지 연산자
: A % B == A / B의 몫이 아니라 나머지를 출력.
A % B 일 때, B가 A보다 크다면 A 값 그대로 출력. (A % B(A<B) == A)
- == | != | !
: A == B // A는 B와 같은가?
A != B // A는 B와 다른가?
!A // 부정
ex) int A = 6;
int B = 4;
printf("%d\n", A == B); // A는 B와 같은가? (거짓) => 0
printf("%d\n", A != B); // A는 B와 다른가? (참) => 1
printf("%d\n", !A); // A의 부정(거짓) => 0
cf) 컴퓨터는 0이외의 수는 참이라고 인식한다.
- && | ||
: 논리곱(&&)은 AND 연산
논리합(||)은 OR 연산
- 대입 연산자
: 말그대로 대입하는 연산자 (대입 연산자 뒤에 있는 값 또는 변수의 값을 앞 변수에 대입한다)
ex) int A = 9; // 9를 변수 A에 대입
A += 10; // A = A + 10;
A -= 10; // A = A - 10;
- (datatype) : 캐스팅 연산자
: 일시적으로 자료형을 변환해줌.
ex) int a = 10;
float b = 3.14;
double c = 99.9;
printf("a + b = %d\n", a +b); // 변수 a와 변수 b의 자료형이 다르기 때문에 실행은 되나 이상한 값 출력
printf("b + c = %c\n", b +c);
printf("a + b = %d\n", a +(int)b);
printf("b + c = %c\n", (char)(b+c)); // 3.14+99.9 = 103.04 => 103(g)
printf("b + c = %c\n", (char)b+(char)c); // 3 + 99 = 102 => f
'IT > C' 카테고리의 다른 글
[C언어]scanf()함수 더 이해하기 (0) | 2017.07.09 |
---|---|
[C언어]표준 입력 함수 : gets(), scanf() (0) | 2017.07.09 |
[C언어]표준 출력 함수 : puts(), printf() (0) | 2017.07.08 |
[C언어]특징 및 변수 (0) | 2017.07.02 |
Comments