[5-1] 논리표현식
·
📚 STUDY/🔥 C
- if처럼 C언어의 몇 가지 구문들은 표현식의 값이 '참'인지, '거짓'인지 반드시 확인해야 함.  ex) if문이 i - 많은 프로그래밍 언어에서 i  📌 관계 연산자- 표는 수학에서 사용되는 , ≤, ≥와 기본적으로 동일하지만, 결과값으로 1 or 0이 나옴.  📌 동등 연산자- 관계 연산자는 다른 프로그래밍 언어에서 흔히 사용하는 기호를 그대로 사용하지만, 동등 연산자는 좀 특수한 기호를 사용함.- 관계 연산자처럼 좌향결합적이며, 결과값으로 0 또는 1을 냄. 다만, 관계 연산자보다 평가 순서가 낮음.i 두 개는 같음.  📌 논리 연산자- 논리연산자는 and, or, not으로 구성됨.- ! 연산자는 단항, &&아 ||는 이항임.- 결과값으로 0 또는 1을 반환함.- 피연산자들은 주로 0이나..
Q&A (pow, fmod, 연산자)
·
📚 STUDY/🔥 C
📌 C언어는 지수연산자가 없던데, 그러면 제곱 연산을 할 수 있죠? - 정수를 작은 양의 정수만큼 제곱하는 건 그만큼 곱해주면 됨. (i 세제곱은 i * i * i)- 정수가 아닌 숫자만큼 제곱할 거면, pow 함수가 필요함.   *pow() 함수는 y의 거듭제곱에 대한 x의 값을 계산#include double pow(double x, double y);  📌 % 연산자를 고정소수 피연산자에도 적용하고 싶은데 컴파일이 안되네요. 어떻게 해야하죠? - % 연산자는 정수 피연산자를 필요로 함. fmod를 써보는 건 어떨까?   *fmod() 함수는 x/y의 부동 소수점 나머지를 연산함. 결과의 절대값은 항상 y의 절대값보다 작고, 결과는 x와 같은 부호를 가짐.#include double fmod(do..
[4-5] 표현문
·
📚 STUDY/🔥 C
C에서 모든 표현식은 구문으로 사용될 수 있는 특이한 규칙이 있음. (모든 표현식에 세미콜론;을 추가해 구문으로 만들어줄 수 있음) 예시) 표현식 ++i에 세미콜론을 더해 구문으로 바꿔주기++i;  [!!!] 코딩하다가 손가락 잘못 놀리면 "아무 의미 없는" 표현문expression statement이 만들어진다. 예를 들어 i = j; 라고 작성하지 않고 실수로 i + j; 라고 작성할 수도 있다. 이러한 실수는 생각보다 자주 발생한다. =와 +가 같은 키보드 키이기 때문에 발생하는 실수다. 몇몇 컴파일러는 무의미한 표현문을 감지할 수 있다. "무의미한 구문statement with no effect"이라고 적힌 에러를 발생시킨다.   💡 본 내용은 K.N.King의 C Programming: A M..
[4-4] 표현식 평가
·
📚 STUDY/🔥 C
a = b += c++ - d + --e / -f 이 표현식은 괄호가 없어 가독성이 상당히 떨어짐. 표 4-2를 이용해, 이 표현식에 괄호를 붙여보자. // 1. 후위에 괄호a = b += (c++) - d + --e / -f// 2. 전위, 단항음수연산자에 괄호a = b += (c++) - d + (--e) / (-f)// 3. 나눗셈에 괄호a = b += (c++) - d + ((--e) / (-f))// 4. 뺄셈, 덧셈에 괄호a = b += ((c++) - d) + ((--e) / (-f))a = b += (((c++) - d) + ((--e) / (-f)))// 5. 할당에 괄호a = (b += (((c++) - d) + ((--e) / (-f))))(a = (b += (((c++) - d) +..
[4-3] 증감연산자
·
📚 STUDY/🔥 C
- 변수에 가해지는 가장 흔한 2가지 연산은 1을 더하는 '증가', 1을 빼는 '감소' 연산임.- 증가연산자 : ++- 감소연산자 : --❗ 전위, 후위 무엇을 쓰냐 까다로움.❗ 피연산자의 값을 바꿈. (i = 1이고, ++i를 출력하면 i의 값이 2로 바뀌는 경우) ++i : 당장 증가해i++ : 지금은 원래 값을 쓰고, 나중에 증가해 i = 1;printf("i의 값은 %d\n", --i); /* "i의 값은 0"를 출력한다. */printf("i의 값은 %d\n", i); /* "i의 값은 0"를 출력한다. */ i = 1;printf("i의 값은 %d\n", i--); /* "i의 값은 1"를 출력한다. */printf("i의 값은 %d\n", i); /* "i의 값은..