변수의 다양한 선언 및 초기화 방법
#include <stdio.h>
int main(void)
{
int num1, num2; # 콤마를 이용하여 둘 이상의 변수를 동시에 선언할 수 있다, 선언 이전엔 쓰레기값이 채워져있음.
int num3 = 30, num4 = 40; # 선언과 동시에 쓰레기값을 초기화함.
num1 = 10; # 쓰레기값 초기화
num2 = 20; # 쓰레기값 초기화
printf("num1: %d, num2: %d", num1, num2);
printf("num3: %d, num4: %d", num3, num4);
return 0;
}
만약 printf 함수 선언 이후에 num1, num2 변수의 값을 대입하였다면 쓰레기 값(의미 없는 값)이 출력됬을것.
변수선언 주의사항
int main(void)
{
int num1;
int num2;
num1 = 0;
num2 = 0;
}
위 코드는 컴파일이 가능하다.
int main(void)
{
int num1;
num1 = 0;
int num2;
num2 = 0;
}
위 코드에서는 컴파일이 안되는 경우가 있다.
과거 C 표준에서 변수의 선언이 맨 앞에 있을것을 요구하였다. 그런데 지금도 그 표준을 따르는 컴파일러가 존재한다.
대입연산자와 산술연산자
#include <stdio.h>
int main(void)
{
int num1 = 9, num2 = 2;
printf("%d + %d = %d \n", num1, num2, num1 + num2);
printf("%d - %d = %d \n", num1, num2, num1 - num2);
printf("%d x %d = %d \n", num1, num2, num1 * num2);
printf("%d 나누기 %d의 몫 = %d \n", num1, num2, num1 / num2);
printf("%d 나누기 %d의 나머지 = %d \n", num1, num2, num1 % num2);
return 0;
}
복합 대입 연산자
#include <stdio.h> // 복합연산자
int main(void)
{
int num1 = 2, num2 = 4, num3 = 6;
num1 += 3; // num3 = num1 + 3
num2 *= 4; // num2 = num2 * 4
num3 %= 5; // num3 = num3 % 5
printf("Result: %d, %d, %d \n", num1, num2, num3);
return 0;
}
증가, 감소 연산자
- ++num : 값을 1 증가 후, 속한 문장의 나머지 진행
- num++ : 속한 문장을 먼저 진행한 후, 값을 1 증가
- --num : 값을 1 감소 후, 속한 문장의 나머지를 진행
- num-- : 속한 문장을 먼저 진행한 후, 값을 1 감소
#include <stdio.h>
int main(void)
{
int num1 = 12, num2 = 12;
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\n", num2);
return 0;
}
관계 연산자
#include <stdio.h>
int main(void)
{
int num1 = 10, num2 = 12;
int result1, result2, result3;
result1 = (num1 == num2);
result2 = (num1 <= num2);
result3 = (num1 > num2);
printf("result1: %d \n", result1);
printf("result2: %d \n", result2);
printf("result3: %d \n", result3);
return 0;
}
연산의 조건을 만족하면 참을 의미하는 1을 반환하고 만족하지 않으면 거짓을 의미하는 0을 반환한다.
* C언어는 0이 아닌 모든 값을 참으로 간주한다. 1은 그저 참 임을 대표하는 값일 뿐이다.
논리 연산자
- && : A, B 모두 '참' 이면 연산결과로 '참'을 반환 ( 논리 AND )
- || : A, B 중 둘중 하나가 '참' 이면 연산결과로 '참'을 반환 ( 논리 OR )
- ! : A 가 '참' 이면 '거짓', '거짓' 이면 '참' 을 반환 ( 논리 NOT )
#include <stdio.h>
int main(void)
{
int num1 = 10, num2 = 12;
int result1, result2, result3;
result1 = (num1 == 10 && num2 == 12);
result2 = (num1 < 12 || num2 > 12);
result3 = (!num1);
printf("result1: %d \n", result1);
printf("result2: %d \n", result2);
printf("result3: %d \n", result3);
}
'C 언어' 카테고리의 다른 글
220926 - Univ (0) | 2022.10.06 |
---|---|
220919 - Univ (0) | 2022.09.20 |
220915 - Univ (0) | 2022.09.17 |
220904 - Univ (0) | 2022.09.14 |