메뉴 건너뛰기

창조도시 기록보관소

대입(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);
}



쉬프트연산자






데이터의 비트값을 이동시킨다. 값을 이진수로 바꾸어서 비트값을 이동시켜 연산한다.











연산자 의미
<< 2비트만큼 좌측으로 이동
>> 2비트만큼 우측으로 이동

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

피연산자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 연산자






괄호안의 인수의 전체 크기를 바이트 단위로 나타낸다.
형식




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));
}