연산자 :: 프로그램의 산술식 및 연산식의 표현 및 처리를 위해 제공되는 기호
산술 연산자 ::
+, -, *, /, %
printf("a는 1, b는 5\n");
int a = 1;
int b = 5;
int result;
// int a = 1, b = 5, result; a는 1, b는 5, 결과값인 result는 공백
result = a + b;
printf("덧셈 결과 : %d\n", result); //덧셈 결과 : 6
result = a - b;
printf("뺄셈 결과 : %d\n", result); //뺄셈 결과 : -4
result = a * b;
printf("곱셈 결과 : %d\n", result); //곱셈 결과 : 5
result = a / b;
printf("몫 나눗셈 결과 : %d\n", result); //몫 나눗셈 결과 : 0
result = a % b;
printf("나머지 나눗셈 결과 : %d\n", result); // 나머지 나눗셈 결과 : 1
산술 연산자와 대입 연산자를 합친 형태
+=, -=, *-, /=, %=
printf("number 초기값은 0, n은 4\n");
int number = 0;
int n = 4;
number += n; // 덧셈+대입 합침 :: "number의 값에 n을 더해라"
printf("<number+=n>의 결과 : %d\n", number); // 결과 : 4
// number = number + n;과 같음
number *= n; // 곱셈+대입의 합침 :: "number의 값에 n를 곱해라"
printf("<number*=n의 결과 : %d\n", number); // 결과 : 16
number -= n; // 뺄셈+대입의 합침 :: "number의 값에 n을 빼라"
printf("<number-=n의 결과 : %d\n", number); // 결과 : 12
number /= n; // 몫 나눗셈+대입의 합침 : "number의 값에 n을 / 연산해라"
printf("<number/=의 결과 : %d\n", number); // 결과 : 3
number %= n; // 나머지 나눗셈+대입의 합침 : "number의 값에 n을 % 연산해라"
printf("<number%%=의 결과 : %d\n", number); // 결과 : 3 // %를 출력하려면 %%
대입 연산자
= "같다"가 아닌 "대입"
비교 연산자
<, >, <=, >=, ==(같다), !=(같지 않다)
* if문
if(조건문) {명령문}*/ 조건문을 만족하면 명령문을 수행
int num1, num2, num3;
scanf("%d %d %d", &num1, &num2, &num3);
printf("num1 : %d\n", num1);
printf("num2 : %d\n", num2);
printf("num3 : %d\n", num3);
if (num1 > num2) // 비교연산자 num1이 num2보다 크다면
{ // 아래의 명령문을 실행하라
printf("num1은 num2보다 큽니다.\n");
}
else if (num1< num2) //위의 if문을 만족하지 못하고 해당 조건을 만족하면,
{ //아래의 명령문을 실행하라
printf("num1은 num2보다 작습니다.\n");
}
else //위의 if문과 else if문들을 모두 만족하지 못할 시에 실행하는 명령문
{
printf("num1은 num2와 같습니다.\n");
}
논리 연산자
and(그리고) = &, &&
or(또는) = |, ||
&& 첫번째 조건문이 거짓이라면 두번째 조건문 판별하지 않음. 해당 조건문에 걸린 명령문 실행하지 않음
(and 연산자는 둘 중 하나가 거짓이면 실행되지 않음)
|| 첫번째 조건문이 참이라면 두번째 조건문 판별하지 않음 해당 조건문에 걸린 명령문 실행
(or 연산자는 둘 중 하나가 참이라면 실행)
* &보다 &&가 더 성능이 좋다.
&, | :: 두개의 조건의 결과를 모두 판별함
&&, || :: 1개의 조건의 결과가 만족하지 못한다면, 바로 skip한다.
if (num1 > num2 && num1 > num3) { //num1이 num2보다 크고 num1이 num3보다 크다면,
printf("num1이 가장 큽니다.\n");//2가지의 조건을 모두 만족해야 아래 명령문을 실행
}
else if (num2 > num1 && num2 > num3) {
printf("num2가 가장 큽니다.\n");
}
else if (num3 > num1 && num3 > num2) {
printf("num3이 가장 큽니다.\n");
}
else {
printf("num1, 2, 3이 같습니다.\n");
}
// or(|, ||) 연산자
if (num1 > num2 || num1 > num3) {
printf("num1은 가장 작은 숫자가 아닙니다.\n"); // 2개의 조건 중 하나만 만족을 해도 해당 명령문 실행
}
'C > C' 카테고리의 다른 글
scanf() C4996 오류 이유, 해결 (0) | 2022.09.26 |
---|---|
묵시적 형 변환, 명시적 형 변환 (0) | 2022.09.25 |
변수 진수 값 저장 (0) | 2022.09.22 |
변수 03 (0) | 2022.09.21 |
변수 02 (0) | 2022.09.21 |