코드의 기본 구조!
#include <stdio.h>
int main(void) {
//함수 본문
return 0;
}
첫줄부터 해석하자면, #include는 전처리기 지시문(processor directive)이라고 합니다.
코드를 작성하고, 이를 컴퓨터가 알아들을 수 있도록 만들어주는(번역 하는) 과정이 필요하므로, 이를 컴파일(Compile)이라 하고, 이 역할을 하는 프로그램을 컴파일러(Compiler)라고 합니다.
따라서 전처리기 지시문은 코드를 작성하는 사람이 컴파일하기 전에 컴파일에 필요한 것들을 컴파일러에게 알려줘야하고, 가장 많이 사용하는 지시문은 위에서 보았던 #include입니다.
그 옆에 위치한 <stdio.h>의 경우에는 표준 입출력(Standard Input Output)함수를 포함한 헤더 파일(header file)입니다.
그 다음 줄에서 확인할 수 있는 int main(void)에서 main() 함수는 모든 프로그램의 시작점으로, 한 프로젝트 안에서 반드시 하나만 존재합니다.
소괄호 안에 든 void는 함수가 전달받는 값인데, void를 넣으면 전달받는 값이 없다는 뜻입니다.
그리고 문장마다 마지막에는 문장의 끝을 나타내는세미클론(;)을 넣고, 함수 마지막에는 return 문을 넣어줍니다.
자료형
먼저 int는 자료형을 나타냅니다.
자료형은 프로그래밍에서 사용하는 여러 값인 데이터(data)의 형태를 나타냅니다.
자료형은 값의 따라 정수형, 실수형, 문자형 등이 있으며, int는 정수형에 속합니다.
변수 선언과 초기화
변수를 만드는 이유는 프로그래밍에서 값을 사용하려면 컴퓨터가 값을 기억해야 하며, 컴퓨터 내에서 기억하는 역할은 메모리가 합니다.
변수를 만들면 컴푸터는 값을 저장하겠다는 신호로 알고 메모리에 변수명으로 공간을 할당하고, 이 과정을 '변수 선언'이라고 합니다.
변수에 넣을 값의 자료형과 변수명을 작성하고 세미클론을 붙이면 변수 선언은 끝납니다.
변수에 대입 연산자(=)를 사용해 변수에 넣은 값을 초기값이라고 하고, 초깃값을 넣는 과정을 초기화라고 합니다.
int(자료형) age(변수명) = 30(값)
초기화는 변수를 선언한 후 따로 할수도 있고, 선언과 동시에 할 수도 있습니다.
변수 사용하기
#include <stdio.h>
int main(void) {
int age = 30;
printf("%d\n", age);
return 0;
}
위 코드에서 출력 코드인 'printf' 괄호 안에서 확인되는 %d를 서식 지정자(format specifier)라고 합니다.
서식 지정자의 유형은 출력할 값의 자룔형에 따라 달라집니다.
추가적으로 변수명 age는 말그대로 변수이기 때문에 초기값으로 고정이 된 것이 아닙니다.
예를 들어
#include <stdio.h>
int main(void) {
int age = 30; // 초기화
printf("%d\n", age); // 초기값인 30 이 출력
age = 25; // 변수값을 25로 재 지정
printf("%d\n", age); // 25가 출력
return 0;
}
위 코드의 output은
30
25
위처럼 변수 지정 후 그 다음 라인에서 값을 재 지정한 뒤에 출력을 하게 되면 초기값이 아닌, 값을 재 지정한 값(25)가 출력되는것이 확인 가능합니다.
실수형 변수
실수를 나타낼 때는 자료형에 float을 씁니다.
그리고 자료형에 float을 쓸 때는 할상 되에 f를 붙입니다.
또한, printf() 함수는 실수형 변수의 값을 출력할때 기본(defoult)값이 소수점 이하 여섯자리까지 출력합니다.
때문에 아래와 같이 필요에 따라 출력값의 자릿수를 지정해 주면, 지정한 출력값 (n)+1 자릿수에서 반올림 된 값이 출력됩니다.
#include <stdio.h>
int main(void) {
float = t = 46.4567f; // *
printf("%.2f\n", t); // %.(n)+1f
return 0;
}
output
46.46
상수값
상수값은 변하지 않는 값(수)입니다.
그래서 상수로 한 번 선언하면 더 이상 변수의 값을 바꿀 수 없습니다.
상수를 만들려면 변수를 만들 때 앞에 'const'를 넣으면 되고, 변수명을 대문자로 작성합니다.
#include <stdio.h>
int main(void) {
int YEAR = 1972;
printf("C 언어가 발표된 연도 : %d\n", YEAR);
YEAR = 1973; // 식이 수정할 수 있는 lvalue(left value, 즉 = 왼쪽에 있는 변수 YEAR를 가리킵니다.)여야 합니다.
return 0;
}