언어 대입/쉬프트/삼항/cast/콤머/sizeof 연산자 (수정)
2006.08.18 20:26
대입(Assignment) 연산자
오른쪽에 있는 값이나 수식을 계산하여 왼쪽에 있는 변수에 넣어주는 연산자로 = += -= *= /= %= 등이 있다. #include main() { int x, y=20, z=5; x = 30; x = y; x = y + z; printf("x=%d, y=%d, z=%dn", x, y, z); x += y = z; printf("x=%d, y=%d, z=%dn", x, y, z); x = y += z; printf("x=%d, y=%d, z=%dn", x, y, z); x += y - z; printf("x=%d, y=%d, z=%dn", x, y, z); x += y; printf("x=%d, y=%d, z=%dn", x, y, z); x %= 3; printf("x=%d, y=%d, z=%dn", x, y, z); x /= y+2; printf("x=%d, y=%d, z=%dn", x, y, z); } |
쉬프트연산자
데이터의 비트값을 이동시킨다. 값을 이진수로 바꾸어서 비트값을 이동시켜 연산한다.
Ex) int a=5,b; b=a<<2; a의 값을 이진수로 바꾸어 보면 00000101 이 되는데 이 값을 왼쪽으로 2비트 이동시키면 00010100이 된다. 이를 다시 십진수로 바꾸어 보면 20이란 결과 값이 나온다. 결국 b에는 20의 값이 저장된다. 예제) #include void main(){ int num=7,re1,re2; re1=num<<2; re2=num>>2; printf("결과=%dn",re1); printf("결과=%dn",re2); } |
삼항연산자(조건연산자)
형식
피연산자1의 조건식이 참이면 피연사자2의 결과값을 갖고 거짓이면 피연산자3의 결과값을 갖는다. 예제) #include main(){ int a,b,max; scanf("%d %d",&a,&b); max=(a>b)?a:b; /* a가 b보다 크면 a값을 아니면 b값을 결과값으로 갖게되어 max변수에 대입한다. */ printf("max=%d",max); } |
cast 연산자
자료형을 강제적으로 변화시키는 연산자 형식
예제) #include main(){ int a,b; printf("임의의 두 정수를 입력하세요!n"); scanf("%d %d",&a,&b); printf(" ****** 연산결과 ********n"); printf(" 덧셈= %dn",a+b); printf(" 뺄셈= %dn",a-b); printf(" 곱셈= %dn",a*b); printf(" 나눗셈= %.2fn",(float)a/b); } |
콤머연산자
하나의 명령문만이 허용하는 자리에 블록을 사용하여 여러 개의 명령문을 사용할 수 있는데 콤머연산자 역시 그것과 비슷한 역할을 한다. 하나의 표현식만이 허용되는 자리에 두 개 이상의 표현식을 콤머로 구분해서 나열할 수 있다. 성격이 비슷한 것끼리 늘어놓는 경우 사용한다 ex) main(){ int a=10,b=20, c=40; printf("very n"),printf("good!!!n"); printf("%d %d %d",a,b,c); } |
sizeof 연산자
괄호안의 인수의 전체 크기를 바이트 단위로 나타낸다. 형식
ex) #include main(){ int a=10; printf("byte size= %dn",sizeof(a)); printf("byte size= %dn",sizeof(int)); printf("byte size= %dn",sizeof(char)); printf("byte size= %dn",sizeof(float)); } |
댓글 4
번호 | 제목 | 글쓴이 | 날짜 | 조회 수 |
---|---|---|---|---|
309 | 자바 기초 로직 ˙ [2] | dnajs | 2006.09.16 | 540 |
308 | MSN 주소를 알려주세요. [11] | MrGeek | 2006.09.13 | 938 |
307 | MFC 색상표 [1] | 피군 | 2006.09.12 | 352 |
306 | 연산자 종류 / 연산자 및 제어구조 [2] | 연지 | 2006.09.07 | 508 |
305 | 포인터변수. [1] | 연지 | 2006.09.07 | 245 |
304 | 게임에서 마우스로 게임하기 [10] | 브레인 | 2006.09.06 | 2472 |
303 | 게이지바 스크립트 [6] | 브레인 | 2006.09.06 | 4371 |
302 | 미니맵을 만들어 보자 - 스크립트 - [11] | 브레인 | 2006.09.06 | 1922 |
301 | 나의 4차원적 아이디어들.-1- [15] | 시엔 | 2006.09.04 | 707 |
300 | 오늘 개강. [3] | 아란 | 2006.08.29 | 261 |
299 | 턴알에서 뽑기로 공격해보자. [11] | z-z | 2006.08.28 | 589 |
298 | 임시변수 없이 스왑(swap)하기~ [2] | 케이코냥이 | 2006.08.27 | 220 |
297 | 곧 [3] | 초코군 | 2006.08.25 | 203 |
296 | 콤보 스크립트 [7] | 귀여븐닌자 | 2006.08.23 | 1624 |
295 | MG F91이 와서... [2] | 아란 | 2006.08.22 | 223 |
294 | 점점 개강이 다가옵니다. [1] | 아란 | 2006.08.21 | 212 |
293 | srpg의 이동 시스템 [6] | 창공의곰팅이 | 2006.08.20 | 735 |
292 | #pragma warning [3] | 피군 | 2006.08.20 | 312 |
291 | 잡담반이 돌아왔습니다-_-;; [3] | 아란 | 2006.08.20 | 213 |
» | 대입/쉬프트/삼항/cast/콤머/sizeof 연산자 (수정) [4] | 연지 | 2006.08.18 | 291 |