언어 자료구조 알고리즘/디딤돌 C언어

35. 대입 연산자

언제나휴일 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. 대입 연산자


반응형

'언어 자료구조 알고리즘 > 디딤돌 C언어' 카테고리의 다른 글

40. 선택문 (switch case)  (0) 2016.01.01
39. 조건문 (if, else)  (0) 2016.01.01
38. 정리하기  (0) 2016.01.01
37. 기타 연산자  (0) 2016.01.01
36. 증감 연산자  (0) 2016.01.01
34. 쉬프트 연산자  (0) 2016.01.01
33. 비트 연산자 ^를 이용한 암호화  (0) 2016.01.01
32. 비트 연산자  (0) 2016.01.01
31. 비교 연산자  (0) 2016.01.01
30. 논리 연산자  (0) 2016.01.01