못정함
C언어) 4-1장: 산술, // 관계, 논리 연산자 (제어문에 사용) 본문
-프로그램은 CPU가 처리하는 명령어의 묶음이다.
-연산의 대상이 되는 데이터: 피연산자
-연산자: operand
<산술 연산자>
+, -, * , /
나머지 %
*실수 연산에는 나머지 개념이 없음. (나머지 연산자의 피연산자는 반드시 정수)
<대입 연산자>
=
<증감 연산자>
++a; | -증가 연산자 -a에 1을 더함. a = a + 1; 과 같은 것임 |
--a; (- 2개임) | -감소 연산자 |
-증감 연산자는 하나의 연산자로 대입 연산까지 수행하므로 변수의 값을 1씩 증가시키거나 감소시킬 때 쉽게 사용할 수 있음 -for, while, do while문에서 많이 사용함 -상수에 직접 사용 불가 (++10 안됨. 변수에만 사용) |
++a; | 전위 표기 -값이 증감하고 나서 연산에 사용 -다른 연산자와 함께 사용하면 증감연산자가 가장 마지막에 계산됨 |
a++; | 후위 표기 -연산에 사용하고 나서 값이 증감 |
<관계 연산자>
-조건에 따라 명령을 실행해야 하는 경우에 사용
대소 관계 연산자 | > , < | |
동등 관계 연산자 | ==, != | |
-연산의 결과 값은 1 or 0 (참/거짓) -결과값이 0 or 1로 나오므로 %d를 사용해줘야함 |
<논리 연산자>
&& | AND 둘 다 참일 때만 참 |
|| | OR 둘 중 하나라도 참이면 참 |
! | NOT |
*주의*
a가 30일 때
10 < a < 20 | 1) 10 < a 가 TRUE니까 1 2) 1 < 20을 함 -> TRUE니까 1 |
(10 < a ) && ( a < 20) a의 값이 10 초과 20 미만임을 알고 싶으면 이 걸 써 야 함 |
1) 10 < a 가 TRUE니까 1 2) a < 20가 FALSE니까 0 3) 1 && 0 은 FALSE니까 0 |
숏 서킷 룰 |
&&와 ||에 적용됨 -좌항만으로 연산결과를 판별하는 기능 ex) &&는 좌항이 거짓이면 우항과 관계없이 결과는 거짓. ||는 좌항이 참이면 우항과 관계없이 결과가 참 이 때 우항은 아예 실행되지 않음. |
(a < 20 ) && (++b > 20) ++b가 항상 실행되길 바라면 안 됨. a가 0보다 크면 (좌항이 거짓이면) 우항은 실행되지 않기 때문. |
연산 결과는 꼭 변수에 저장하자
아니면 버려진다
확인문제에서 좀 중요한 내용이 있는 듯
점수 (a,b)는 둘 다 정수형인데 (그래서 점수 합 tot 도 정수형임)
평균은 77.5 이렇게 소수점이 나올 수 있잖아 -> 그래서 avg는 double로 해준 것임
근데 나눠줄 때
avg = tot / 2 를 하면 tot, 2 둘 다 정수형이므로 77로 나옴
avg = tot / 2.0을 해줘야 77.5로 정확한 평균값이 나옴
+) 아님 4-2장의 형변환을 쓰면 될 듯
'C언어 공부 > C언어 독학 (교재)' 카테고리의 다른 글
C언어) 5장 선택문 (if문, switch ~ case문) (1) | 2024.09.15 |
---|---|
C언어) 4-2장 : 그 외 유용한 연산자 (0) | 2024.09.15 |
C언어) 3-2장: 데이터 입력 (0) | 2024.09.14 |
C언어) 3-1장 변수 : 내가 모르는 거 위주로 (0) | 2024.09.14 |
C언어) 2장 printf()함수 : 내가 모르는 거 위주로 (6) | 2024.09.14 |