컴퓨터공학/C언어

C 언어 2 - 1 C언어 기본구조

Arkeiyou 2021. 9. 25. 14:48
학습내용
1. C프로그램 구조 이해
2. 주석, 전처리기, 함수 이해
3. 변수, 수식, 연산 이해
※ 실습 : 간단한 프로그램 실수

학습목표
1. C프로그램 구조를 설명할 수 있다.
2. 주석, 전처리기, 함수가 무엇인지 설명할 수 있다.
3. 변수, 수식, 연산이 무엇인지 설명할 수 있다.

 

1. C프로그램 구조 이해

 

1) 프로그램 기본 구조

-- 주석, 전처리기 지시어, 함수, 문장 

 

   ※ C프로그램의 기본 구조 ※ 

/* 기본 구조 */

#include <stdio.h>

int main(void) {

   printf("Hello World!");

   return 0:

}
→ 주석

→ 전처리기 지시어

→ 함수 시작

→ 문장



→ 함수 종료

 

2) 프로그램 작성 규칙

-- 모든 문장은 세미콜론(;)으로 끝난다.

-- 가능하면 한 줄에 한 개의 문장만 사용한다. 

예시_

int a, b, c; a = 10;
b = 5; c = a + b;
실행은 가능하지만 보기가 지저분하고 한 눈에 파악하기 어렵다.
int a, b, c;
a = 10;
b = 5;
c = a + b;
( ○ )

-- 블록은 중괄호({})를 사용해서 구분한다.

-- 빈칸과 공백줄을 적절히 사용해 가독성을 높인다.

예시_

int a;
a=10;
a=a+5;
int a;


a = 10;

a = a + 5;

-- 블록에 있는 문장들은 들여쓰기한다.

 

 

 

2. 주석, 전처리기, 함수, 문장 

 

1) 주석(Comment)

/* 기본 구조 */
// 기본 구조

-- 여러 줄로 된 주석을 표기할때는 /* 와 */로 표시하며, 한 줄로 된 주석은 //을 이용해 표기한다.

-- 프로그램을 설명하는 문장으로, 프로그램의 실행에는 영향을 끼치지 않는다. 컴파일러는 주석을 무시한다.

-- 이는 컴퓨터를 위한 것이 아니고 프로그램을 하는 사람을 위한 것으로, 프로그램의 가독성을 높이는 효과가 있다.

-- 주석은 아무리 많아도 실행 프로그램의 크기가 커지지 않으며, 일반적으로 이해를 돕는 내용의 주석은 많을수록 좋다.

 

2) 전처리기 지시어

#include <stdio.h>

-- 전처리기 지시어(지시자) : 전처리기가 할 일을 가르쳐주는 문장. C언어의 첫 번째 열에서 선언된다. 전처리기 지시어는 세미콜론으로 끝맺지 않으며, #로 시작하는 행을 가리킨다.

예시_

     #include

     #define

     #if

     #error

-- #include : 라이브러리를 프로그램에서 사용하고 싶을때 헤더파일을 소스 코드의 #include위치에 포함시키는 동작. 즉, 예시의 #include <stdio.h>는 헤더파일 stdio.h을 소스프로그램의 #include 위치에 포함시키라는 의미이다.

-- 전처리기(Preprocessor) : 컴파일러가 번역하기 전에 소스코드를 처리하는 별도의 프로그램이다. 프리컴파일러라고도 부른다. 헤더 파일을 추가하거나 매크로 상수 또는 매크로 함수 등을 사용하는 동작을 수행한다.

-- 헤더파일(.h) : 코드의 일부분이 들어있는 텍스트 파일로, 컴파일러가 필요로 하는 정보를 가지고 있다.

※ stdio.h : Standart Input Output, 표준입출력에 대한 라이브러리 함수들의 정의를 포함한다.

 

3) 함수

-- 함수의 개요 : 프로그래밍에서 함수(fucntion)란 하나의 특별한 목적의 작업을 수행하기 위해 독립적으로 설계된 프로그램 코드의 집합으로 정의할 수 있다. C프로그램은 이러한 함수들로 구성되며, 포함된 함수들을 사용하여 프로그램의 목적을 달성하게 된다. (출처 : http://tcpschool.com/c/c_function_basic) 

-- 함수는 입력(argument)에 대해서 → 출력(return value)을 만들어낸다. 특정 기능을 수행하는 문장들의 모임이라고 할 수도 있다. 함수는 C 언어에서 프로그램을 구성하는 기본적인 단위가 된다. 즉, 프로그램은 함수들의 집합이다. 이 중에서도 main함수는 가장 먼저 실행되는 함수이다.

-- 함수는 '사용자 정의 함수'와 '라이브러리 함수'의 두 가지 종류로 나뉜다. 함수는 '헤더'와 '몸체'로 구성된다. 함수를 사용하기 위해서 함수를 불러오는 과정이 있는데 이것은 곧 함수를 '호출(Call)'하는 것이다. 함수를 호출할 때에는 함수의 반환 타입, 함수의 이름, 함수의 인자 타입을 차례로 입력한다. 함수는 위에서 아래로 순차적으로 실행된다.

함수의 기본 구성. 

-- 함수의 호출

※ main() 함수 ※

int main(void) {

... ...

return 0;

}

     main() 함수는 프로그램의 시작과 종료 위치를 알리는 특별한 함수이다. 운영체제에 의해 호출된다.

     C 프로그램은 반드시 한 개의 main() 함수를 포함해야 하며, 반드시 오직 한 개만 포함해야 한다.

     C 프로그램은 main() 함수로 시작하여 main() 함수로 종료된다. 즉 main() 함수가 종료되면 프로그램이 종료된다. 다른 함수를 사용하려면 main() 함수 안에서 호출하여 사용하게 된다.

     C 언어 표준으로 main()함수의 마지막에 정수가 반환되어야 하는 규정이 있다. return 문장에 관한 것인데, 함수가 종료되면서 값을 반환하는 키워드를 말한다. 이때 0을 반환하면 정상적으로 종료된다는 의미가 있다. 즉 함수 마지막에 return 0; 이라는 문장은 운영체제로 0을 반환하여 정상적으로 종료되었음을 알리는 것이다.

 

4) 문장(Statement)

   printf("Hello World!");

     프로그램을 이루는 가장 기본적인 단위.

     프로그램 > 함수 > 문장

     문장이 끝날때는 문장의 끝이라는 표시로 세미콜론(;)을 넣는다.

 

-- 들여쓰기(Indentation)

     같은 수준(level)에 있는 문장들을 왼쪽 끝에서 몇 자 안으로 들여쓰는 것이다.

     이는 소스코드의 가독성을 높인다. 반드시 할 것을 강력하게 권장하고 있다.

 

 

3. 변수, 수식, 연산 이해

 

1) 변수(Variable)

-- 변수와 상수

     변수(variable) : 프로그램이 사용하는 데이터를 일시적으로 저장하는 메모리 공간

     상수(constant) : 프로그램이 실행되는 동안 그 값이 변하지 않는 수.

      예_ 100, 3.14, 'A', "Hello World!"

-- 변수 선언

     변수의 선언 : 컴파일러에게 어떤 타입의 변수가 사용되는지를 미리 알리는 것.

     형식 : (자료형) (변수명);

     예_ int iNum;

-- 자료형(Data Type)

     자료형이란 변수가 저장할 데이터가 어떤 타입인지를 나타내는 단어이다.

     표준 자료형 : 정수형(short, int, long), 실수형(double, float), 문자형(char)

-- 변수 선언 및 값 대입

char ch;   //문자형 변수 선언
int iData;   //정수형 변수 선언
double dData;   //실수형 변수 선언


ch = 'a';   //변수 ch에 문자 'a'를 대입
iData = 60;   //변수 iData에 60을 대입
dData - 4.9;   //변수 dData에 4.9를 대입

-- 변수 초기화

     변수에 문자나 숫자를 대입하는 것을 변수를 초기화한다고 말한다.

-- 변수 사용

int iData1 = 10;
int iData2 ;
iData2 = iData1;   //변수 사용

 

2) 수식(Expression)

-- 상수, 변수, 연산자의 조합

-- 연산자와 피연산자로 구성된 식을 말한다.

 

3) 연산

-- 대입 연산

iData = 100 ;

     대입 연산(assignment operation)이란 : 변수에 값을 저장하는 연산

     대입 연산 = 배정 연산 = 할당 연산

-- 산술 연산

iSum = x + y ;

※ 연산자 ※

연산자 기호
덧셈 +
뺄셈 -
곱셈 *
나눗셈 /
나머지 %

 

학습정리
1. C 프로그램 구조 이해

   - C 언어는 함수 기반 언어로, 하나 이상의 함수로 구성된다.
   - C 프로그램에서 main() 함수는 반드시 필요하다. 이는 프로그램의 시작 위치가 된다.
※ 함수 : 특정한 작업을 수행하도록 한 개 이상의 문장으로 구성된 독립된 코드.

2. 주석, 전처리기, 함수 이해
   - 주석은 프로그램의 가독성을 높이며, 일반적으로 많을 수록 좋음
   - #include 전처리기 지시자는 헤더파일을 소스 코드의 #include 위치에 포함시키라는 의미임
   - main() 함수는 대개 운영체제가 호출
   - C 프로그램은 main() 함수로 시작하여 main() 함수가 종료되면 프로그램도 종료됨
   - 다른 함수를 사용하려면 main() 함수에서 직간접적으로 호출하여 사용함

3. 변수, 수식, 연산 이해

   - 변수는 프로그램이 사용하는 데이터를 일시적으로 저장할 목적으로 사용하는 메모리 공간임
   - 변수 선언은 컴파일러에게 어떤 타입의 변수가 사용되는지를 미리 알리는 것
   - 수식은 연산자와 피연산자로 구성된 식
   - 대입 연산(assignment operation)은 변수에 값을 저장하는 연산임