Cute Running Puppy

Language/c

[c언어 복습] 02-1. 변수와 연산자

R.silver 2020. 6. 30. 15:25
반응형
#include <stdio.h>
int main(void)
{
	int num1 = 10;
	int num2 = 20;

	printf("num1: %d, num2: %d\n", num1, num2);
	return 0;
}

1. 변수

int num1 = 10;

 변수의 선언과 초기화

  •  초기화: 선언된 변수에 처음 값을 넣는 것

 변수 이름 규칙

  1. 알파벳, 숫자, 언더바로 변수의 이름 구성
  2. c언어는 대소문자 구분
  3. 숫자로 시작할 수 없고, 키워드를 변수 이름으로 사용할 수 없음
  4. 이름 사이에 공백 불가

 변수의 자료형(Data Type)

  • 정수형: char, short, int, long
  • 실수형: float, double

2. 대입, 산술, 복합 대입, 증가 감소 연산자

연산자 기능 결합 방향
= 오른쪽 값을 왼쪽에 대입
+  
-  
*  
/  
% 왼쪽 값을 오른쪽 값으로 나누었을때의 나머지
+= a += b 는 a = a + b와 동일연산  
-= a -= b 는 a = a - b와 동일연산  
*= a *= b 는 a = a * b와 동일연산  
/= a /= b 는 a = a / b와 동일연산  
%= a %= b 는 a = a % b와 동일연산  
++num 값을 1 증가 후 속한 문장 진행
num++ 속한 문장 진행 후 값을 1 증가
--num 값을 1 감소 후 속한 문장 진행
num-- 속한 문장 진행 후 값을 1 감소
#include <stdio.h>
int main(void)
{
	int num1 = 10, num2 = 10;
	printf("num1: %d\n", num1);
	printf("num1++: %d\n", num1++);
	printf("num1: %d\n\n", num1);

	printf("num2: %d\n", num2);
	printf("++num2: %d\n", ++num2);
	printf("num2: %d\n", num2);
	return 0;
	
}

결과

num1: 10
num1++: 10
num1: 11

num2: 10
++num2: 11
num2: 11
  • num1++: num1을 출력한 후 num1의 값을 1 증가시킴
  • ++num2: num2의 값을 1 증가 시킨 후 num2를 출력
#include <stdio.h>
int main(void)
{
	int num1, num2;
	num1 = 10;
	num2 = (num1--) + 2;

	printf("num1: %d\nnum2: %d\n", num1, num2);
	return 0;
}

 

num1: 9
num2: 12
  • 후위 증가, 후위 감소 연산 시에는 소괄호에 영향을 받지 않는다.  다음 문장으로 넘어가야 값이 변한다. 
  • num2 에 12 넣은 뒤 num1 1감소

3. 관계, 논리 연산자

관계 연산자 기능  결합 방향
<  
>  
== a == b: a와 b가 같은가
!= a != b: a와 b가 다른가
<=  
>=  
논리 연산자 기능  결합 방향
&& AND
|| OR
! NOT
  • 조건을 만족하면 1, 만족하지 않으면 0 출력
#include <stdio.h>
int main(void)
{
	int num1 = 3, num2 = 13;
	int result1, result2, result3;

	result1 = (num1 == 3 && num2 == 13); 
	result2 = (num1 < 2 || num2 >5);
	result3 = (!num1); 

	printf("result1: %d\n", result1);
	printf("result2: %d\n", result2);
	printf("result3: %d\n", result3);
	return 0;

}

 

result1: 1
result2: 1
result3: 0
  • c언어에서 0이 아닌 모든 값은 1(참)으로 간주한다. 
반응형