본문 바로가기

정보처리기사/c언어강의

[C언어(강의)] 12강~13강 (매크로, 비트연산, 삼항연산자)

 

[ 흥달쌤 유투브 강의 정리 ] 

https://www.youtube.com/watch?v=ARiPYzAuzmg

 


 

(12강) 매크로, 비트연산

 

* 매크로란 ? 

반복적인 일들을 쉽게 하기 위해 만들어 놓은 것. 

 

#define N 10  => 모든 N은 10으로 대체.

#define SQR(X) X*X  => X라는 인자를 받으면 X*X로 처리. (함수형태)  

SQR(N);   => SQR(10)  => 10 * 10 => 100

SQR(N+2);   => N + 2 * N + 2  =>  10 + 2 * 10 + 2  =>  10 + 20 + 2 => 32  ** 매크로일때**

 


 

* 비트연산자 종류

 

* 시프트연산 ( >> )

1) 10 >> 2 (우시프트)

10 == (이진수변환) ==> 1010

우측으로 두개만큼 밀기 

=> 10 == (십진수변환) ==> 2

 

1) 10 << 2 (좌시프트)

10 == (이진수변환) ==> 1010  

좌측으로 두개만큼 밀고 자리는 0으로 채우기

=> 101000 == (십진수변환) ==> 40

 

 

VALUE1 => 1로 대체  //  VALUE2 => 2로 대체

i = 100 / 300  ==(정수/정수=정수)==> 0.0 ( 100/300 은 정수0이지만 변수 i는 실수이기 때문에 0.000.. )

j = 0

k = (0011) => 3

m = j + l => 0 + 3 = 3

출력형식 10강 참고**

=> i = 0.0  j = 0  k = 3  m = 003

 


 

(13강) 삼항연산자 (조건연산자) 

 

* 삼항연산자

조건에 따라서 다른 명령을 수행하는 연산자. 

구조 : 조건 ? 참 : 거짓.

 

int a = 10 > 5 ? 10 : 5

printf ( "%d", a );

=> 10

 

=> b = 40