float double 구별위해서 f
붙여준다
%f는 언제나 소수점을 뒤에 붙인다.
안붙이고 f를 사용하면 0이 뜸
printf는 double float 둘다 f로 출력이 가능
하지만 scanf는 각 자료형마다 포맷이 정해져 있다
scanf("%d, &int형변수)
scanf("%lf, &double형변수)
scanf("%f, &float형변수)
&쓰는 이유 값을 저장하기 위해서는 주소가 필요하다(주소/데이터 생각)
관계연산자 결과값은 0(거짓) or 1(참)
for(int i =1; i<5;i++){}
for(int i =1; i<5;++i){}
for(초기식, 조건식, 증감식)에서 증감식이 전위, 후위 증감 연산자의 차이는 없다
각식을 전부 진행해야 넘어가기 때문에 차이가 없다
switch(/*변수*/)
{
case /*값 */:
}
변수부분
정수 계열
(char, short, int, long)값
변수부분에 char 들어가는 이유
char도 아스키코드식으로 정수로 표현이 된다.
(바꾸려는 형) 변수이름
형을 바꾸는 것은 일시적으로 바뀐다
(배열의 변수형) (배열의이름) [원소개수]
원소개수는 생략하면 컴파일러가 알아서 만들어줌
int arr[3] = {1, 2, 3};
arr = {4, 5, 6};
위는 가능 하지만 아래는 불가능하다(C에서)
배열의 크기를 변수로 받아올수가 없다(나중에 동적할당으로 가능)
컴파일러가 배열을 처리할 때 메모리 상의 공간을 잡는데 이는 상수만 가능하기 때문이다
const (상수의형) (상수이름) = (상수의값);
상수는 처음 정의시 그 값이 주어지고 변하지 않는다.