C프로그램의 구성 요소
1) 예약어(Keyword)
C언어에서 사용자가 변수명이나 식별자 등으로 쓰면 안되는 것들이 있음. 변수는 기억장소를 의미 상수 값을 잠시 기억시켜서 그 안의 값들을 변경 시킬때 이용.
사용자에 의해서 변수나 이름으로 사용 할 수 없는 것을 예약어(Keyword)라고 함.
예약어는 말 그대로 C언어 자체에서 그 기능과 사용 용도가 미리 예약되어 있다는 것을 뜻함
예약어 종류
㉠ 전처리문 : #include<stdio.h>,#if, #else, #define ....
㉡ 표준함수명 : printf, scanf, gets, puts, ...
㉢ 데이더 형 정의 : char, int, long, float, double, short, typedef, const, extern
㉣ 연산자 : sizeof
㉤ 제어문 : if, else, for, do, while, switch, case, continue, break, default, return ...
전처리문은 #을 같이써야만 함.(그렇지 않을 경우에는 변수로 인식[예 : #include])
그리고 표준 함수를 정의해 놓은 표준헤더 파일은 <stdio.h>와 같이 써야 함. <>를 생략하면 변수처럼 취급.
2) 식별자(Identifier)
식별자 또는 명칭은 사용자가 변수 이름, 함수이름, 배열이름, 구조체 이름, 공요체 이름, 데이터 형의 제정의(typedef 연산자) 이름 등을 지정할 때 사용.
식별자는 예약어를 제외한 이름으로 정하면 되나, 다음과 같은 제약 사항이 있음.
㉠ 영문자, 숫자, 밑줄(_)로 사용하여 지정
㉡ 숫자로 시작해서는 안됨
㉢ 대문자와 소문자는 구별된다.
㉣ 예약어를 명칭으로 사용해서는 안됨
㉤ 식별자 중간에 공백이 있으면 안됨
㉥ 특수문자를 식별자로 사용하면 안됨
㉦ 최대 32자 까지 작성
3) 연산자 (Operator)
연산자는 연산을 수행할 때 사용하는데 C언어에서는 다른 언어와는 달리 풍부한 연산자를 제공. C프로그램을 효율적으로 작성할 수 있는 환경을 제공.
4) 상수 (Constant)
상수는 변하지 않는 값. 상수라고 하면 숫자만 생각하기 쉬우나, C언어에서는 문자 상수도 지원. 문자이지만 내부적으로 ASCII코드 값으로 처리.
또한 문자열 상수도 제공.(원래는 문자열 상수라는 말은 없지만 문자들의 나열이라고 해서 한 덩어리로 제어할 수 있는 환경을 지원)
5) 구분기호(Punctuator)
구분기호는 각 항목을 나타내는 기호.
㉠ ; (세미콜론) - 실행문의 끝에 반드시 쓴다. (예 : char ch;)
㉡ : (콜론) - switch case문, goto문에 쓴다. (예: exit:, switch~ case식 :)
㉢ { } - 함수의 시작과 끝에 씀. 또는 제어문과 루프문, 기타 한단위가 복수개의 실행문으로 이루어져 있을 때 (예: main(){ ..... })
㉣ [ ] - 배열을 선언할 때 슨다. (예 : char str[]);
㉤ ( ) - 함수명, 연산, 제어문, 루프문 , 형변환 연산자로 사용 (예: main(), while(), if(), (char)3.14;)
㉥ '(작은 따옴표) - 한문자의 상수를 나타낸다. (예: char a='A';, char b='b';)
㉦ "(큰따옴표) - 문자열을 나타낸다 (예: char name[] = "블루네군;")
㉧ < > - 외부 파일을 편입할 때 사용(헤더 파일) (예 : #include <stdio.h>
6) 공백 문자 (White Character)
공백문자는 스페이스, 탭, 엔터키를 말함, 이 세가지는 공백문자라고 해서 C언어에서는 공백 문자를 여러번 반복해서 사용해도 됨. 모든 C코드를 한 라인에 모두 써도 되고, 보기 좋게 공백 문자를 이용하여 각 요소를 구분지어 사용할 수 도 있음. 일반적으로는 한 라인에 복잡하게 사용하지 않고 각 요소를 구분지어서 사용
7) 주석 (Comment)
주석은 설명문으로 주석을 달아야 할 실행문의 시작에 /* 끝에 */ 을 기입하면 됩니다. 컴파일러가 주석문을 만났을 경우 컴파일러는 번역을 하지 않고 넘어 갑니다.