변수와 연산자
< 81.p >
자료형 = 데이터를 담는 그릇의 크기 = 그런그릇의 용도/크기별 이름 =char,int,double...etc
메모리 = 데이터를 보관하고 있는 장소
변수 = 데이터를 저장하는 메모리 공간에 이름을 부여하는 작업
int val = 3 : 선언문 = 자료형 int가 온다.
val = val_a + val_b : 사용문 = 자료형이 오지 않는다.
val = val_a + val_b : 사용문 = 자료형이 오지 않는다.
컴퓨터 = 비교 연산 결과의 거짓과
'0' 이외의 모든 값은 참이다.
< 83.p >
함수/변수 선언 + 초기화(값 또는 0으로)
printf(), scanf() = 함수원형
'0' 이외의 모든 값은 참이다.
< 83.p >
함수/변수 선언 + 초기화(값 또는 0으로)
printf(), scanf() = 함수원형
- %%는 %를 출력한다
- scanf()함수에서는 변수의 이름 앞에 &연산자를 사용한다.
변환형식
%c - 문자
%d , %x - int
%f , %lf - float ,doble
%s - 문자열 : 문자열의 첫문자에서 끝나는 null이 나올 때까지 출력한다.
< 87.p >
#define 전처리기
printf("aI = %lf \n", a);
printf("MSG = %s \n", MSG);
const float pi =3.14f; 변수를 바꿀 수 없도록 고정. 즉, pi는 변수의 값을 변경하는 = 연산자의 왼쪽에 올 수 없다.
변수 선언은 함수 선언부에 해야한다.
< 91.p >
char=1bite, int/float=4bite, double=8bite
%4f : 4자리 수 출력
%.3f : 소수점 이하 3자리까지 출력
%4.3f : 전체 4자리중 소수점 이하 3자리를 출력
실수는 %f인 경우 암시적으로 소수점6자리까지 출력한다.
%m.nf에서 총자리수인m이 실제 데이터의 크기보다 작을 경우에도 실제 데이터를 따른다.
소수점 이하 자리는n에 지정된 숫자에 따른다.
< 94.p >
getchar() : 버퍼 IO (임의 저장 공간 사용) : 입력받을 때 엔터를 치면 그 값을 가져옮
getch() : 비버퍼 IO : ex단축키, 값을 클릭하면 바로 입력
putchar() = printf("%c",ch);
< * >
가끔 값을 입력받지않고 그냥 다음 프로그렘이 실행되는 경우가 있다.
이는 이전에 실행할때 버퍼에 데이터가 남아있어 그 데이터를 다음에 실행되는 프로그램이
임의로 가져다 쓰게되어 발생된것이다.
-> scanf("%d",&val);
fflush(stdin);
scanf("%c",&temp);
< 98.p >
대입 연산자 "=" (변수 = 값)
a += 2 a -= 2
a = a+2 a = a-2
< 102.p >
관계(비교)연산자 와 논리연산자(||,&&,!)는 항상 참(1) 또는 거짓(0)을 갖는다.
< 103.p >
d = (a >= 0 && a <= 10);
< 104.p >
|| 비트 or 합
&& 비트 and 곱
^ 비트 X or 두 비트가 다를 때만 참(1)을 반환
~ 비트 not 반대로 뒤집는다.
<< 시프트 연산
>>
a=b=c=0 c=0 b=0 a=0
< 107.p >
a++; = a=a+1;
but,
a++; != a+1;
b = a++ : 선 연산 후 증가
b = ++a : 선 증가 후 연산
< 109.p >
& 비트
&a 주소 연산자
< 110.p > 캐스팅 연산자
