Notice
Recent Posts
Recent Comments
Link
«   2025/05   »
1 2 3
4 5 6 7 8 9 10
11 12 13 14 15 16 17
18 19 20 21 22 23 24
25 26 27 28 29 30 31
Archives
Today
Total
관리 메뉴

한걸음, 한걸음씩

[C언어]연산자 본문

IT/C

[C언어]연산자

midday_night 2017. 7. 9. 20:46

< 연산자 우선 순위 >


순위

연산자

결합성

(같은 우선 순위의 연산자가 있을 시의 우선순위)

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