언제나휴일 2016. 1. 1. 12:09
반응형

 

=, +=, -=, *=, /=, %=
 
대입 연산은 변수의 값을 설정할 때 사용하는 연산이죠.
이러한 이유로 대입 연산의 좌항에는 상수 표현은 올 수 없으며 l- value라 불러요.
 
대입 연산자에는 우항의 값을 좌항에 대입하는 단순 대입 연산과 좌항과 우항의 값을 더하거나 빼는 등의 연산을 수행한 후에 좌항에 대입하는 복합 대입 연산도 있어요.
 
◈ 복합 대입 연산 예
#include <stdio.h>
int main()
{
    int i = 2;
    i +=  4; // i = i + 4; 와 같은 표현
    printf("i: %d \n",i);
    return 0;
}
실행 결과
i: 6
 
주의할 점은 대입 연산은 모든 연산 중에 우선 순위가 가장 낮다는 것이예요.
예를 들어 i = j == 3; 구문은 j의 값이 3이면 i 1을 대입하고 3 이외의 값이면 0을 대입하는 구문이예요.
하나의 구문에 두 개 이상의 연산을 수행할 때는 ( )괄호 연산자를 이용하여 먼저 수행할 연산을 명확하게 표현하세요.
 
◈ 대입 연산자의 우선 순위를 확인하는 예
#include <stdio.h>
int main()
{
    int i = 0,  j = 0;
 
    j=0;
    i = j != 3;
    printf("%d\n",i);
 
    j = 1;
    i = j != 3;
    printf("%d\n",i);
 
    j = 2;
    i = j != 3;
    printf("%d\n",i);
    return 0;
}
실행 결과
1
1
1
 
 
 
 ◈ 기본 연습
1. 다음 프로그램의 출력 결과를 예측하시오.
#include <stdio.h>
int main()
{
    int i = 8;
    i *= 4;
    printf("%d \n", i);
    return 0;
}


2. 다음 프로그램의 출력 결과를 예측하시오.
#include <stdio.h>
int main()
{
    int i = 8;
    int j = 0;
 
    j = i == 8;
    printf("%d %d\n", i, j);
    return 0;
}
 

3. 다음 프로그램에서 잘못된 부분을 찾고 이유를 설명하시오.
#include <stdio.h>
int main()
{
    int i = 8;
    i + 2 = 9;
    printf("%d \n", i);
    return 0;
}

[정답] 디딤돌 C언어 35. 대입 연산자


반응형