C, C++

[C언어] C언어 기초 정리 #1 (C 프로그램 구성 / 데이터형, 변수, 상수)

명도환 2025. 3. 16. 13:12

 

[ 목차 ]

1. C프로그램 구성

2. 데이터형 / 변수 / 상수

3. 입출력

4. 연산자

5. 제어문

6. 1차원 배열

7. 다차원 배열

8. 함수

9. 포인터의 이해

10. 문자열

11. 메모리 동적 할당

12. 구조체


1. C프로그램의 구성

  C언어는 한 개 이상의 함수로 프로그램이 작성되는데 프로그램 실행 시 가장 먼저 호출되는 함수가 main함수이다.

때문에 C프로그램은 단 한 개의 main함수가 반드시 존재해야 한다.

 

 1.1. 프로그램의 기본구조

  C언어는 대문자와 소문자를 구별하는데 일반적으로 소문자를 기초하여 작성한다. 모든 명령문은 반드시 세미콜론(;)으로 끝나야 한다. 단, #으로 시작하는 구문 뒤에는 세미콜론(;)을 붙이지 않는다.

 

 1.2. 프로그램 기본구조 분석

  1) int main()

             - C프로그램은 main함수에서 시작된다. main 다음의 괄호 ( () )는 컴파일러에게 main이

               함수라는 것을 알려준다.

  2) { }

             - 중괄호는 여러 문장들을 함께 묶는데 사용된다. main함수 다음의 중괄호는 함수의

               시작과 끝을 의미하게 된다.

  3) return 0;

             - return 0;의 의미는 리턴타입이 int 일 경우 return 0;을 쓰면 프로그램이 정상 종료를

               의미한다.

  4) #include <stdio.h>

             - stdio.h 헤더파일을 포함하라는 구문이다. 헤더 파일이란 C 컴파일러가 제공하는 표준

              함수들의 원형이 선언된 파일을 말한다. stdio.h는 표준 입출력(standard input ouput)에

              관련된 헤더파일로 입,출력 함수를 사용하기 위해 추가해야 하는 헤더파일이다.

 

 1.3. 프로그램 실행

  1) 컴파일(Compile) : 기계어로 번역하는 작업

  2) 링킹(Linking) : 목적파일을 실행 가능한 파일(로드모듈)로 만드는 과정

  3) 실행(Execute)

 

 1.4. Escape Sequence

  키보드에 나타나지 않는 문자나 화면에 출력되지 않는 문자들은 역 슬래시(\)를 사용하여 표현할 수 있다. 이 문자들을 이스케이프 시퀀스(출력제어문자)라고 한다.

문 자 기 능 문 자 기 능
\n 다음 줄로 이동 (newline) \t 탭 간격만큼 이동 (8byte)
\r 줄의 처음으로 이동 (carriage return) \a 내부 스피커를 통해 경고음 출력
\b 왼쪽으로 커서이동(backspace) \0 널 문자
\\ 백 슬러시(\) 문자 출력 \" 큰 따옴표 출력

 

 

* \t는 현재 있는 위치에서 가까운 탭 구간으로 이동

 

 1.5. 주석

  주석은 /* */ 사이에 쓴다. 컴파일러는 주석을 무시한다. // 다음의 내용은 한 줄 주석으로 처리

 


 

2. 데이터형 / 변수 / 상수

  데이터형(Data type) - 정수,  실수, 문자를 구분하며 또한 데이터의 범위나 부호의 사용여부 등을 결정짓는 것을 말한다.

 

 2.1. 정수 데이터형

  소수점 이하를 표현하지 못함. 무한대의 범위는 지원하지 않는다.

데이터형 앞에 unsigned를 쓰면 음수를 표현할 수 없다.

short 형 : -32,768 ~ 32,767 - 2byte

int 형 : -2,147,483,648 ~ 2,147,483,647 - 4byte

int형의 크기는 규정되어 있지 않지만, 시스템에 따라 2byte(MS-DOS)일수도 있고, 4byte(Windows, UNIX)일수도 있다.

 

 2.2. 실수 데이터형

 

float(단정도) 형   : -3.4*10-37 ~ 3.4*1038 - 4byte

double(배정도) 형 : -1.7*10-307 ~ 3.4*10308 - 8byte

  - 실수 데이터형에는 unsigned를 쓸 수 없다.

 

 2.3. 문자형 데이터형

  컴퓨터는 0과 1만 가지고 데이터를 저장하기 때문에 문자를 표현할 수 없다. 이에 문자 인코딩 방식으로 ASCII를 사용하여 문자를 표현한다.

Char 형 : -128 ~ 127 - 1byte (값에 문자가 예약)

* 0 ~ 32 - 제어문자, 33 ~ - 출력문자

 

 2.4. 변수

  데이터를 저장하기 위한 공간으로 저장된 값의 변경이 가능하다.

 

 2.4.1. 변수 선언

  변수 선언을 하면 메모리 공간을 할당 받아 사용할 수 있게 된다. 선언되지 않은 변수를 사용하면 에러가 발생하며 변수 선언은 반드시 함수 선두에 해야 한다. 최초 변수의 선언 시 의미 없는 값이 저장되는데 이를 쓰레기 값(Garbage Value)라고 한다.

 

 2.4.2. 변수 작성 규칙

  1) 영문자, 숫자, 밑줄문자(_)를 조합하여 만든다.

  2) 첫 변수 명에 숫자는 올 수 없다. (반드시 영문자나 밑줄문자로 시작)

  3) 대, 소문자를 구분한다.

  4) 공백, 특수문자는 포함할 수 없다.

  5) 예약어는 사용할 수 없다.

 

 2.4.3. 변수 초기화

  선언된 변수에 값을 대입하는 과정을 초기화라 한다. 문자를 쓸 때는 반드시 작은따옴표(‘ ’)안에 써야 한다.

 

 2.4.4. 출력 변환 문자

  출력문자와 대응되는 뒤쪽의 인수를 문자열 안에 넣어 같이 출력한다.

%d (decimal) - 10진 정수 출력

%f (floating) - 고정 소수점 출력 (소수점 이하 6자리 출력)

%c (character) - 문자 출력

 

 2.5. 상수(const)

  한번 값을 초기화하면 변경할 수 없는 공간으로 선언하면서 바로 초기 값을 설정해야 한다.