연산명령을 하려면 연산자와 피연산자가 필요합니다.
연산자는 +, - , * 등과 같은 것이고 피연산자는 상수, 변수, 수식을 사용합니다.
피연산자가 하나라면 단항연산자
피연산자가 두개라면 이항연산자
피연산자가 세개라면 삼항연산자 입니다.
+(더하기), -(빼기), *(곱하기), /(나누기), %(나머지)
이렇게 다섯가지가 있습니다.
나눗셈연산을 할 때 실수는 double, 정수는 int를 값에 따라 사용합니다.
나머지 연산자는 피연산자를 반드시 정수만을 사용합니다.
= 이것 딱 한가지 있습니다.
수식의 결과를 변수에 저장하는 역할을 합니다.
a=a+1; 을 a++로 바꿀 수 있습니다.
둘의 결과값이 같기 때문입니다.
변수에 값을 1씩 증가하거나 감소시킬 때 사용합니다.
변수자리에 상수를 넣어 증감연산자를 사용할 수 없습니다.
증감연산자가 변수 앞에 있으면 전위표기, 변수 뒤에 있으면 후위표기입니다.
전위표기는 식 연산 전에 1을 증감하는 것이고
후위표기는 식 연산 후에 1을 증감하는 것입니다. 즉, 가장 마지막에 계산합니다.
주의!!
하나의 수식에 같은 변수가 두번 이상 들어갔을 때 그 변수에 증감연산자를 사용해서는 안됩니다.
대소관계는 <, >, <=, >=
동등관계는 ==(같다), !=(같지않다)
거짓은 0으로 참은 1로 표현됩니다.
&&(and), ||(or), !(not) 세가지입니다.
&&은 논리곱 연산자로 2개의 피연산자가 모두 참일 때만 참이 됩니다.
||은 논리합 연산자로 피연산자 둘 중 하나라도 참이면 참입니다.
!은 논리부정 연산자로 피연산자 하나를 사용하여 참과 거짓을 바꿀 때 사용합니다.
&&와 ||에 해당합니다.
&&일 경우 앞의 피연산자가 거짓일 때 뒤에는 볼 필요없이 거짓입니다.
||일 경우 앞의 피연산자가 참일 때 뒤는 볼 필요없이 참입니다.
숏 서킷 룰을 사용하면 실행속도가 빨라지나 예상치 못한 결과를 낳을 수 있으니 주의해서 사용해야 합니다.
01
소수점 이하 한자리까지만 출력해야 하니 %.1f로 했고
피연산자가 double이기 때문에 %f로 출력했다.
02
scanf를 사용해서 점수를 입력받고 tot변수에 합을 저장한다.
avg변수에 평균값을 구하고 출력할 때는 소수 첫째 자리 까지니까 %.1f로 한다.
03
국어-3학점-3.8
영어-5학점-4.4
구학-4학점-3.9
값의 종류에 맞게 자료형을 써주고 초기화를 시켜줍니다.
조건은 '~이고' 라서 and연산자를 사용하고, 조건마다 괄호로 묶어줍니다.
형 변환 연산자는 일시적으로 값을 실수로 혹은 정수로 바꾸고 싶을 때 사용한다.
(자료형)피연산자
sizeof연산자는 피연산자를 하나만 사용할 수 있고 피연산자의 크기를 바이트단위로 계산해서 알려준다.
이때 피연산자는 변수, 상수, 자료형, 수식 등이 올 수 있다.
sizeof(피연산자)
연산결과를 다시 피연산자에 저장하는 것이다.
산술 복한대입 연산자로는 +=, -=, *=, /=, %= 이렇게 다섯가지가 있다.
말 그대로 ' , ' 콤마를 쓰는연산자다.
한번에 여러수식을 나열할 때 사용한다.
대입연산자와 같이 사용할 때는 반드시 괄호를 사용해야 한다.
유일한 삼항연산자.
첫번째 피연산자가 참이면 두번째 피연산자가 결과, 거짓이라면 세번째 피연산자가 결과가 된다.
(a>b) ? a: b
식을 간락히하지만 가독성이 떨어질 가능성이 있다.
논리 연산하는 &, |, ^같은 비트 논리 연산자, 비트들을 좌우로 움직이는 <<,>>같은 비트이동 연산자가 있다.
정수에만 사용 가능!
&
두 비트가 모두 1일경우 1
|
두 비트 중 하나라도 1이면 1
^
두 비트가 서로 다른 경우 1
<<
왼쪽으로 이동
'>>'
오른쪽으로 이동
비트이동연산자에서 비워진 부분은 0으로 채우는데 음수일때는 1로 채운다.
01
sizeof 함수를 사용해서 short와 long의 바이트수를 구한 것을 res변수에 저장한다.
그리고 문자열로 출력해야하니 %s를 써주고 삼항연산자를 사용해서 조건(res==1)을 써준다. 뒤에 조건에 맞게 출력해야할 문자들 까지 써주면 된다.
02
int였던 audience와 seats를 double로 각각 형변환 시켜준다.
그리고 확률이니까 100을 곱해주고 소수 첫째 자리 까지 출력하기 위해 %.1lf로 한다.
03
정수부분마 골라내기위해 int로 형변환을 했고, 분과 초를 구하기 위해서 time에서 hour를 빼고 hour에 60을 곱해 분단위로 환산한다. 이 과정을 초까지 해준다.
그리고 int니까 %d로 출력해주면 시간이 나온다.