20. C 언어: 출력문부터 함수까지 복습하기
프로그래밍 학습은 기본적으로 하나의 프로젝트를 만들고 이곳에 소스 코드를 작성하여 실행하는 과정을 통해서 진행됩니다. 이번 시간에는 C 언어의 기본 내용을 복습하는 시간을 갖겠습니다.
20.1. C 언어의 기본 구조
C 언어는 절차지향 프로그래밍 언어로, 프로그램의 실행 흐름을 단계별로 기술합니다. C 프로그램은 함수들로 구성되며, 그 중 main
함수가 프로그램의 시작점입니다.
다음은 C 언어의 기본적인 프로그램 구조입니다.
파일명: review_basic_structure.c
#include <stdio.h> // 표준 입출력 라이브러리 포함
int main(void)
{
// 출력문
printf("Hello, World!\n");
return 0; // 프로그램 종료
}
20.1.1. #include
지시어
#include
지시어는 프로그램에 필요한 라이브러리를 포함시키는 역할을 합니다. 위 예제에서는 표준 입출력 함수들을 사용하기 위해 <stdio.h>
헤더 파일을 포함하고 있습니다.
20.1.2. main
함수
main
함수는 C 프로그램의 시작점이며, 여기서부터 프로그램이 실행됩니다. 함수는 반환형, 함수 이름, 그리고 매개변수로 구성됩니다. main
함수의 반환형은 int
이며, 프로그램이 정상적으로 종료되면 0
을 반환합니다.
20.1.3. 출력문
printf
함수는 표준 출력(보통은 콘솔)에 텍스트를 출력하는 함수입니다.
20.2. 출력문
C 언어에서 출력을 하기 위해서는 printf
함수를 사용합니다. printf
함수는 포맷 문자열을 사용하여 다양한 형식의 데이터를 출력할 수 있습니다.
파일명: review_print_statements.c
#include <stdio.h>
int main(void)
{
printf("Hello, World!\n");
printf("정수: %d\n", 123);
printf("실수: %.2f\n", 3.14);
printf("문자열: %s\n", "C Programming");
return 0;
}
20.2.1. printf
포맷 문자열
%d
: 정수(decimal)%f
: 실수(float)%s
: 문자열(string)\n
: 줄 바꿈(new line)
20.3. 변수
C 언어에서 변수는 특정 타입의 데이터를 저장할 수 있는 메모리 공간을 의미합니다. 변수는 반드시 선언 후 사용해야 하며, 변수의 타입은 선언 시 결정됩니다.
파일명: review_variables.c
#include <stdio.h>
int main(void)
{
int number = 123;
float pi = 3.14;
char letter = 'A';
char string[] = "Hello";
printf("정수: %d\n", number);
printf("실수: %.2f\n", pi);
printf("문자: %c\n", letter);
printf("문자열: %s\n", string);
return 0;
}
20.3.1. 변수 타입
int
: 정수를 저장하는 변수 타입float
: 실수를 저장하는 변수 타입char
: 문자를 저장하는 변수 타입char[]
: 문자열을 저장하는 배열 타입
20.4. 연산자
C 언어는 다양한 연산자를 지원합니다. 산술, 비교, 논리, 대입 연산자를 사용할 수 있습니다.
파일명: review_operators.c
#include <stdio.h>
int main(void)
{
int a = 5;
int b = 3;
int sum = a + b;
int diff = a - b;
int product = a * b;
int quotient = a / b;
int remainder = a % b;
printf("합: %d\n", sum);
printf("차: %d\n", diff);
printf("곱: %d\n", product);
printf("몫: %d\n", quotient);
printf("나머지: %d\n", remainder);
return 0;
}
20.4.1. 주요 연산자
+
: 덧셈-
: 뺄셈*
: 곱셈/
: 나눗셈%
: 나머지 연산
20.5. 제어문
C 언어는 조건문과 반복문을 사용하여 프로그램의 흐름을 제어할 수 있습니다.
20.5.1. 조건문
조건문은 주어진 조건에 따라 다른 코드를 실행합니다.
파일명: review_conditional_statements.c
#include <stdio.h>
int main(void)
{
int num = 10;
if (num > 0)
{
printf("양수입니다.\n");
}
else if (num < 0)
{
printf("음수입니다.\n");
}
else
{
printf("0입니다.\n");
}
return 0;
}
20.5.2. 반복문
반복문은 특정 조건을 만족하는 동안 코드를 반복 실행합니다.
파일명: review_loops.c
#include <stdio.h>
int main(void)
{
for (int i = 0; i < 5; i++)
{
printf("%d\n", i);
}
return 0;
}
20.6. 배열
배열은 동일한 타입의 여러 데이터를 하나의 변수에 저장할 수 있는 자료구조입니다.
파일명: review_arrays.c
#include <stdio.h>
int main(void)
{
int numbers[] = {10, 20, 30, 40, 50};
for (int i = 0; i < 5; i++)
{
printf("numbers[%d] = %d\n", i, numbers[i]);
}
return 0;
}
20.6.1. 배열 선언 및 초기화
int numbers[5];
: 크기가 5인 정수형 배열 선언int numbers[] = {10, 20, 30, 40, 50};
: 배열 선언과 동시에 초기화
20.7. 함수
C 언어에서 함수는 특정 작업을 수행하는 코드 블록입니다. 함수는 선언부와 정의부로 구성되며, 필요에 따라 호출하여 사용할 수 있습니다.
파일명: review_functions.c
#include <stdio.h>
// 함수 선언
void sayHello(void);
// `main` 함수
int main(void)
{
sayHello(); // 함수 호출
return 0;
}
// 함수 정의
void sayHello(void)
{
printf("Hello, World!\n");
}
20.7.1. 함수 선언 및 정의
- 함수 선언: 반환형, 함수 이름, 매개변수로 구성
- 함수 정의: 함수의 실제 구현 부분
20.8. 마무리
이번 강의를 통해 C 언어의 기본 문법과 주요 개념들을 복습했습니다. 앞으로도 다양한 예제와 프로젝트를 통해 C 언어의 깊이 있는 이해와 응용을 목표로 학습을 진행하시기 바랍니다.