C 언어는 컴퓨터 프로그래밍의 기초를 배우기에 적합한 언어이다. 참고로 아래 내용은 본인이 되집어보고자 하는 내용 위주로 추려 정리하였으므로 이 점 참고바란다.
1. 전처리기 (Preprocessor)
C 프로그램에서 #include <stdio.h>와 같은 문장은 전처리기 지시어이다. 모든 전처리기 지시어는 # 기호로 시작하며, 보통 코드의 첫 번째 줄부터 작성된다.

헤더 파일(header file)은 코드의 일부가 포함된 텍스트 파일로, .h 확장자를 가진다. 예를 들어 stdio.h는 standard input output의 약자로, 표준 입력 및 출력을 담당하는 라이브러리 함수를 포함하고 있다.
표준 입력과 출력이란 다음을 의미한다:
-
표준 입력: 키보드 입력
-
표준 출력: 모니터 출력
즉, 우리가 자주 사용하는 printf() 함수는 화면에 출력하는 기능을 담당하는데, 이 함수의 정의가 stdio.h에 들어 있기 때문에 반드시 포함해야 한다.

라이브러리 함수란?
개발자들이 자주 사용하는 기능을 미리 구현해 놓은 함수로, 링크 과정에서 실행 파일과 결합된다.
2. 함수 (Function)

C 프로그램에서는 반드시 main() 함수가 필요하며, 이 함수가 가장 먼저 실행된다. 프로그램 내 다른 함수들은 main() 함수에서 직접 또는 간접적으로 호출된다.
함수의 기본 구조
-
int → 반환되는 데이터의 타입 (정수형)
-
main → 함수의 이름 (변경 불가)
-
void → 함수가 입력을 받지 않음을 의미
-
return 0; → 프로그램이 정상 종료되었음을 운영체제에 알림
C에서는 프로그램의 성공적인 실행 여부를 반환 값으로 나타낼 수 있으며, return 0;은 정상 종료를 의미하고 return 1;은 실패를 의미하기도 한다.
3. 변수 (Variable)
변수는 데이터를 저장할 목적으로 사용하는 메모리 공간이다.

이 문장은 정수를 저장할 변수를 선언하는 것이다. C에서는 데이터를 저장하는 방식에 따라 변수의 유형이 정해진다.
자료형 (Data Type)
변수의 자료형은 저장할 데이터의 성격에 따라 달라진다.
int
|
정수형 변수 (예: 1, 100, -5)
|
float
|
실수형 변수 (예: 3.14, -2.5)
|
char
|
문자형 변수 (예: 'A', 'b')
|
C에서는 변수를 사용하기 전에 반드시 선언해야 하며, 이는 메모리 관리를 명확하게 하기 위한 규칙이다.
4. printf( ) 함수: 출력 기능
C에서는 데이터를 화면에 출력하기 위해 printf() 함수를 사용한다.

위의 코드는 "Hello, World!"라는 문자열을 화면에 출력한다.
또한 printf()는 변수의 값을 출력할 때 형식 지정자(format specifier)를 사용할 수 있다.
형식 지정자와 예제
형식 지정자
|
의미
|
사용 예시
|
%d
|
정수 출력
|
printf("%d", 7);
|
%f
|
실수 출력
|
printf("%f", 4.26);
|
%c
|
문자 출력
|
printf("%c", 'S');
|
%s
|
문자열 출력
|
printf("%s", "Goodjob");
|


5. scanf( ) 함수: 입력 기능
사용자로부터 입력을 받으려면 scanf() 함수를 사용한다. 예를 들어, 정수를 입력받아 변수 x에 저장하려면 다음과 같이 작성한다:

-
%d: 정수를 입력받음
-
&x: 입력받은 값을 저장할 변수의 주소를 지정 (C에서는 변수의 주소를 사용해야 한다)
형식 지정자 예제
형식 지정자
|
데이터 타입
|
사용 예시
|
%d
|
정수 입력
|
scanf("%d", &i);
|
%f
|
실수 입력 (float)
|
scanf("%f", &f);
|
%lf
|
실수 입력 (double)
|
scanf("%lf", &d);
|
%c
|
문자 입력
|
scanf("%c", &ch);
|


728x90
'XR개발 > C언어' 카테고리의 다른 글
01_Q&A C언어에서 \n에 대한 물음.zip (0) | 2025.01.21 |
---|---|
C언어 수식과 연산자 (0) | 2025.01.20 |
C언어의 자료형과 변수 (3) | 2025.01.19 |
프로그램 개발 과정 (0) | 2025.01.17 |
프로그래밍의 개념 (3) | 2025.01.16 |