프로그래밍 언어/C

C언어 5강-2 별난 연산자(복합연산자,증감연산자,형 변환연산자)

happy_life 2020. 10. 27. 20:33

1) 복합 연산자

 

-변수의 값을 1 증가시키기

 ◑boy변수에 저장된 남학생 수를 1 증가시키려면?

   ex) boy = boy + 1

 ◑복합 대입 연산자 활용 시

   ex) boy += 1

 

*복합 연산자 사용 예시

대입문 복합 대입연산자 활용 대입문
a = a + b a += b
a = a - b a -= b
a = a * b a *= b
a = a / b a /= b
a = a % b a %= b

2) 증감 연산자

 -변수 값을 1 증가시킬 때는 ++(increment)를 사용하고, 변수 값을 1 감소시킬 때는 --(decrement)를 사용한다.

 -코드 예시

#include <stdio.h>

int main()
{
  int boy;
  boy = 3;
  boy ++; // boy = 4
  boy --; //boy = 3
  printf("%d", boy);
	return 0;
}

● ++과 -- 는 위치가 중요(전위형/후위형)

 

++변수 일 때)

1. 변수의 값을 1 증가시킨 후

2. 변수의 값을 식에서 사용한다

 

#include <stdio.h>

int main()
{
 int a = 2;
 int total = ++a * 10;
  printf("a: %d, total: %d", a, total); //*결과값 a =  3 , total = 30
  
	return 0;
}

변수++ 일 때)

1. 현재 변수의 값을 그대로 식에서 사용한 후 

2. 변수의 값을 1 증가시킨다.

#include <stdio.h>

int main()
{
 int a = 2;
 int total = a++ * 10;
  printf("a: %d, total: %d", a, total); //*결과값 a =  3 , total = 20
  
	return 0;
}

암기 Tip)

++이 변수 앞에 있는 전위형의 경우 먼저 ++을 a에 해주고 증가한 a값을 식에 적용한다. 는 식으로 이해해서 외우기

 

 

3) 형 변환 연산자(강제 형 변환)

-사용법: 앞에 (double) , (float)등을 사용해준다

-용도: 값을 일시적으로 지정한 자료형으로 변환시킨다.
-유의점: 형 변환 연산자는 값만 일시적으로 형을 변환시키는 것이므로 왼쪽의 변수에는 사용할 수 없다.

-코드 예시

#include <stdio.h>

int main()
{
  int a = 5 , b = 2 ;
  float result;
  
  result = a/b ;
  printf("---------5/2 연산 형 변환전..[%f]\n ", result);
  
  result = (float)a/b;
  printf("---------5/2 연산 형 변환후..[%f]\n ", result);
  
  //변환전 2.000000
  //변환후 2.500000 
}

추가 내용: 

 자동형 변환

-연산 대상이 서로 종류가 다르다면?

컴파일러가 같은 자료형으로 자동적으로 변환.(오차가 생기지 않도록 큰 자료형 순으로 통일 char <int <double)

ex) 2(int)+ 5.5(double) = 7.5(O), 7(X)

 

-int 형 변수에 double 형 실수 값을 저장하면?? (변수의 문자형이 넣고자 하는 값보다 작다면?)

 변수의 크기에 맞게 자동으로 변형되어 저장한다.

 코드 예시

#include <stdio.h>

int main()
{
 int age;
 age = 13.5;
 printf("%d", age);
}
//결과 13