본문 바로가기
프로그래밍 언어/C

[C언어] 변수, 연산자

by 느링 2017. 5. 26.

변수란?


① 무엇인가를 담을 수 있는 공간

데이터를 저장하는 임시 저장 공간

③ 메모리 공간

 

 

→ 변수는 변할 수 있는 수를 뜻 합니다. 그래서 변수는 값을 바꿀 수 있습니다.

 

 

1. 변수 선언 시 주의할 점

 

- 변수 선언은 반드시 제일 앞쪽에 한다.

- 선언은 선언끼리 해야 한다.

- 변수를 만들 때는 변수의 이름을 반드시 지정하며 의미 있게 짓는다
- 변수를 생성할 때는 변수의 자료형을 반드시 지정해야 함
- 변수의 이름 대소문자를 엄격하게 구분 함 (대문자와 소문자는 완전히 다른 이름임)
- 변수의 이름의 첫 글자는 숫자가 올 수 없음, _는 먼저 시작가능, 띄어쓰기X
- 변수의 이름에서 언더바(_)를 제외한 다른 특수문자들은 이름으로 사용할 수 없음

 


2. 자료형이 같을 경우 한줄에 변수선언 가능

 

                                                          자료형 변수이름;


- 자료형이란 변수가 저장하는 데이터 형식
예) 이 변수에는 숫자를 담을거다. ( int num1; )
     이 변수에는 문자를 담을거다. ( char num2; )
     이 변수에는 소숫점을 담을거다. ( float num3; )


- 자료형의 종류

 

   ① 정수형 : 정수를 표현하는 데이터 타입

   ② 실수형 : 소수점이 표현된 값

 

 

 

# practice

 

 

 

 

연산자

연산자 : 연산을 수행하는 기호

피연산자 : 연산에 참여하는 변수나 상수 값

①대입 연산자(=)

데이터를 저장하는 연산자
대입 연산자는 우항에 있는 것을 좌항에 저장하겠다는 것임

ex) int korea =10; // 10을 korea에 저장한다는 의미

 

②산술 연산자

덧셈 +, 뺄셈-, 곱셈*, 나눗셈/, 나머지%


③복합 대입 연산자

 

a=a+b === a+=b (a+b를 먼저 수행 후 a에 값을 저장)

+= : 좌항과 우항을 더한 값을 좌항에 값으로 대입
-= : 좌항과 우항을 뺀 값을 좌항에 값으로 대입
*= : 좌항과 우항을 곱한 값을 좌항에 값으로 대입
/= : 좌항과 우항을 나눈 몫 값을 좌항에 값으로 대입
%= : 좌항과 우항을 나눠서 나온 나머지 값을 좌항에 값으로 대입

 

 

증감 연산자

증가 연산자와 감소 연산자를 통칭하는 용어임 (단독으로 쓰였을 때는 값이 같음)

++ : 증가 연산자
-- : 감소 연산자

 

++a ( a=a+1 ) 선 증가, 후 연산

a++ ( a=a+1 ) 선 연산, 후 증가

--a ( a=a-1 ) 선 감소, 후 연산

a-- ( a=a-1 ) 선 연산, 후 감소


++num

 

printf("%d\n", ++num1);
1.num1의 값을 1 증가시킴
2.출력

 

num++
printf("%d\n", num1++);
1.출력
2.num1의 값을 1 증가시킴


# practice

 

 

관계 연산자(비교 연산자)

관계를 비교하여 참(0) 또는 거짓(1)으로 결론짓는 연산자

# practice

 

⑥논리 연산자

비교를 여러 개 하기 위하여 사용하는 연산자

&& : AND연산자(논리곱)

→ 좌항과 우항의 값이 모두 참일 경우에 참 / 하나라도 거짓이면 거짓

|| : OR연산자(논리합)

→ 좌항과 우항의 값 중에서 하나만 참이면 참 / 모두 거짓이면 거짓 

! : NOT연산자(논리 부정)

→ 조건식의 결과를 반전시킴 / 조건식의 결과가 참이면 거짓, 거짓이면 참

practice

⑦조건 연산자

'?'와 ':'로 이루어 연산자

→조건식 판단의 결과로 참과 거짓을 수행

 

result1 = (num1>num2) ? num1 : num2;

① (num1>num2) 참인 경우 → result1=num1수행

② (num1>num2) 거짓인 경우 → result1=num2수행

 

'프로그래밍 언어 > C' 카테고리의 다른 글

[C언어] 상수 (리터럴상수 / 심볼릭상수)  (0) 2017.06.12
[C언어] scanf( )함수  (0) 2017.06.07
[C언어] 비트 연산자  (0) 2017.06.07
[C언어] C언어의 기본구조  (0) 2017.05.26
[C언어] C언어란  (0) 2017.05.25