Posted
Filed under 공부한 것들/C/C++

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)

주석은 설명문으로 주석을 달아야 할 실행문의 시작에  /* 끝에 */ 을 기입하면 됩니다. 컴파일러가 주석문을 만났을 경우 컴파일러는 번역을 하지 않고 넘어 갑니다.

2007/05/14 18:19 2007/05/14 18:19
Posted
Filed under 공부한 것들/C/C++

C프로그램의 기본 골격
 

사용자 삽입 이미지

프로그램 구성 요소

1) 전처리문

전처리문은 소스 파일이 컴파일 되기전에 먼처 처리되는 문장.
컴파일이 되기 전에 일련의 코드들이 프로그램 첫 부분에 추가되어 컴파일 된다는 뜻.

전처리문 기술 예

● #include 문 : 헤더 파일을 편입시킴
   예) #include <stdio.h>

● define문 : 문자열을 상수 값으로 정의.(매크로 정의라고도 함.)
    예) #define    PI    3.14

● 그 외 #if, #ifdef, #ifndef, #else 등등..


2)사용자 함수, 외부 변수 선언
사용자가 직접만든 함수를 컴파일러가 인식 할 수 있도록 이곳에다 그 함수를 기술해야만 컴파일러는 에러를 내지 않고 무사히 컴파일 할 수 있음. 또한 외부 변수도 여기에다 기술, 외부 변수는 프로그램 전체에 대하여 영향을 받는 변수

내부 변수는 그 함수 내에서만 영향을 받는 변수, 컴파일러에게 이러이러한 것들을 사용하겠다 라고 알려주는 역할을 선언(Declaration)이라고 함. 사용자가 만든 함수나 변수들은 반드시 선언을 해야만 에러가 나지 않음.

3) main 함수
main 함수는 C 프로그램에 핵, C 프로그램은 main 함수가 반드시 있어야 하며 전체 프로그램에서 단 한 개의 main함수가 존재. main함수 안에 사용자 정의 함수, 내부 변수들이 올 수 있음. 사용자 저으이 함수는 main함수 안에 선언하기도 하지만, 일반적으로 전처리문 다음, 메인 함수 앞에 선언.

4) 실행문
실행문은 컴파일러가 번역되는 문장, 실행문에는 변수, 상수, 제어문, 반복문, 수식 등으로 이루어지며 실행문 끝에는 반드시 ';'(세미콜론)으로 마무리 해야 함(선언문도 마찬가지). 만약 ';' 으로 마무리 하지 않은 경우에는 컴파일러는 그 문장이 이어진다고 생각하고 특정 부분에 가서는 에러 메시지를 띄움.
초보자들이 범하기 쉬운 실수 중 하나.

5) 함수(인수1, 인수2)

선언했던 사용자 함수의 실제 내용을 기술, =>(함수의 정의 (Definition)
C언어는 함수의 언어, C프로그램은 수백 개의 표준 함수와 사용자가 직접 만든 사용자 정의함수로 구성 됨. 사용자 정의 함수는 말 그대로 사용자가 필요에 의해 직접 만들어 쓰는 함수이고, 표준함수는 C언어에서 제공해주는 함수.

인수1, 인수2 는 함수가 데리고 다니는 자식들(자식이 없는 부모가 있드시, 함수에도 인자가 없을 수 있음.)
사용자 정의 함수는 꼭 필요한 항목은 아님.

2007/05/13 16:57 2007/05/13 16:57