반응형

이 강의는 C언어를 처음 접하는 입문자를 위한 2시간 완성 기초 강좌입니다. 프로그래밍 언어의 기본 개념부터 시작하여, 변수, 연산자, 조건문(if, switch-case), 반복문(for, while, do-while), 사용자 정의 함수에 이르기까지 C언어 학습에 필수적인 핵심 요소들을 쉽고 친절하게 설명합니다. 단순히 문법을 나열하는 것을 넘어, 각 개념이 실제 컴퓨터 메모리에서 어떻게 작동하는지 시각적으로 보여주고, 실용적인 예제 코딩을 통해 직접 따라 하며 프로그래밍의 원리를 체득할 수 있도록 돕습니다. 이 강의를 통해 C언어에 대한 흥미를 느끼고, 더 깊이 있는 학습으로 나아갈 수 있는 탄탄한 기반을 마련할 수 있을 것입니다.

1. C언어 기초 강의 소개 및 개발 환경 설정
1.1. 강의 목표 및 대상
- 이 강의는 C언어를 처음 접하는 입문자를 위한 2시간 완성 기초 강좌이다.
- 강의를 통해 C언어에 흥미를 느끼고, 더 깊이 있는 학습으로 나아갈 수 있는 탄탄한 기반을 마련하는 것이 목표이다.
1.2. 개발 환경: DevC++ 설치
- C언어 강의는 DevC++ 프로그램을 이용하여 진행된다.
- 설치 방법:
- 인터넷에서 DevC++을 검색하여 다운로드한다.
- 다운로드 페이지에서 '다운로드'를 클릭하여 설치를 진행한다.
- DevC++은 무료로 배포되고 있다.
2. C언어 기본 개념 및 특징
2.1. C언어와 C++의 차이점
- C언어:
- 함수 기반의 언어이다.
- 메모리, 함수, 라이브러리 등 기본적인 개념을 이해하는 데 도움이 된다.
- 최초의 프로그래밍 언어를 공부하기에 적합하다.
- C++ 언어:
- 함수와 다른 클래스(객체지향 프로그래밍) 개념을 가지고 있다.
- C언어에 추가된 문법과 OOP(객체지향 프로그래밍) 개념을 더한 언어이다.
2.2. 라이브러리 및 헤더 파일
- 라이브러리:
- 컴파일러(프로그램이 돌아가는 환경) 안에 있는 여러 함수들의 모음이다.
- 도서관에 무수히 많은 책(함수)들이 있듯이, 공통된 기능을 하는 함수들을 라이브러리로 이해할 수 있다.
- 헤더 파일:
- #include <stdio.h>와 같이 사용되며, 표준화된 입출력 함수를 가져다 쓰겠다는 의미이다.
- 헤더 파일을 통해 함수를 정의하거나 가져다 쓸 수 있다.
2.3. C언어의 활용 분야

- 운영체제 개발: 유닉스, 리눅스 등이 C언어로 만들어졌다.
- 임베디드 시스템:
- TV, IPTV 등 콘솔(제어 프로그램)에 들어가는 프로그램이 C언어이다.
- 아두이노와 같이 회로도를 구성하고 키트를 동작시키기 위한 프로그램도 C언어이다.
- 고성능 게임 개발: 서버 운영체제 제어 및 API(구조화된 함수 개념)를 통해 고성능 게임을 만들 때 적합하다.
2.4. 통합 개발 환경(IDE) 비교
- DevC++:
- 사용자 친화적이며, 배포 버전으로 통합된 개발 환경이다.
- 입문자용으로 더 적합하다고 판단된다.
- 코드 블록(Code::Blocks) / 비주얼 스튜디오(Visual Studio):
- 사양이 좋고 괜찮은 통합 개발 환경 프로그램이다.
- 개인적으로 C언어를 처음 공부하는 사람들에게는 DevC++이 더 적합하다고 판단된다.
2.5. 프로그래밍 관련 용어
- 플랫폼: 프로그램이 실행되는 환경을 의미한다 (예: 스마트폰, 노트북, 데스크탑).
- 콘솔: 실행 파일을 동작시키는 물리적 장치를 의미한다 (예: 방송국에서 음향 조절하는 장치).
- 함수(Function): 명령어의 집합으로, 어떤 실행을 위한 단위이다.
3. C언어 자료 출력 및 변수 이해
3.1. 기본 출력: printf 함수
- printf 함수 사용법:
- #include <stdio.h> 헤더 파일을 정의한다.
- main 함수 안에 printf("출력할 내용"); 형식으로 작성한다.
- 문장 끝에는 반드시 세미콜론(;)을 붙여야 한다.
- 컴파일 및 실행:
- 컴파일: 작성된 코드를 컴퓨터가 이해할 수 있는 이진 코드로 번역하고 오류를 확인하는 과정이다.
- 단축키 F9를 눌러 컴파일하고, F10을 눌러 실행한다.
- 오류가 없으면 안녕하세요와 같은 내용이 출력된다.
- 제어 문자: `
` (줄 바꿈):
- `
`을 사용하면 다음 줄로 넘어간다.
- `printf("안녕하세요
");`와 같이 사용하면 "안녕하세요" 출력 후 줄이 바뀐다.
- 습관적으로 문장 뒤에 `
`을 써주는 것이 좋다.
3.2. 다양한 제어 문자
- `
`: 다음 줄로 이동 (줄 바꿈).
- \a: 스피커를 통해 비프음이 들린다.
- \": 큰따옴표(")를 출력한다.
- printf("처음엔 \"입니다\"");와 같이 사용하면 "처음엔 "입니다""가 출력된다.
- 이러한 문자들을 제어 문자라고 부른다.
3.3. 변수와 메모리 이해: 정수형 int
- 변수 선언 및 할당:
- int a;는 정수형 변수 a를 선언하는 것이다.
- 이는 컴퓨터 메모리(RAM)에 4바이트(32비트) 크기의 빈 공간을 확보하고 그 이름을 'a'라고 정하는 것을 의미한다.
- a = 2;는 숫자 2를 변수 a가 할당된 메모리 공간에 넣으라는 의미이다.
- 프로그래밍 언어에서 =는 '같다'가 아니라 '오른쪽 값을 왼쪽에 넣어라'는 의미이다.
- int a = 2;와 같이 선언과 동시에 값을 할당할 수도 있다.
- 메모리 크기:
- int형 변수는 4바이트(32비트) 공간을 할당받는다.
- 이 공간에는 약 -21억부터 +21억까지의 정수를 저장할 수 있다.
- 이 범위를 벗어나는 숫자를 넣으면 오버플로우(overflow)가 발생하여 엉뚱한 결과가 나올 수 있다.
- printf와 int 변수 출력:
- printf("a에 입력된 숫자는 %d 입니다.", a);와 같이 사용한다.
- %d는 십진 정수(decimal integer)를 의미하며, 변수 a의 값이 이 자리에 출력된다.
- 여러 변수를 출력할 때는 printf("a는 %d, b는 %d 입니다.", a, b);와 같이 쉼표(,)로 구분하여 순서대로 변수 이름을 써준다.
- 변수 간의 연산 결과도 printf로 출력할 수 있다 (예: a + b).
3.4. 문자형 char
- 변수 선언 및 할당:
- char x;는 문자형 변수 x를 선언하는 것이다.
- 이는 메모리에 1바이트(8비트) 크기의 공간을 확보하고 그 이름을 'x'라고 정하는 것을 의미한다.
- 문자(캐릭터)를 표현할 때는 작은따옴표(' ')로 묶어준다 (예: x = 'a';).
- 메모리 크기:
- char형 변수는 1바이트(8비트) 공간을 할당받는다.
- C언어는 초기 개발 당시 메모리 크기에 민감했기 때문에 효율적인 메모리 사용에 중점을 두었다.
- printf와 char 변수 출력:
- printf("입력된 문자는 %c 입니다.", x);와 같이 사용한다.
- %c는 문자(character)를 의미하며, 변수 x의 값이 이 자리에 출력된다.
- 숫자와 문자의 차이:
- char y = '1';은 숫자 1이 아니라 문자 '1'을 의미한다.
- int z = 1;은 숫자 1을 의미하며, 4바이트 공간에 저장된다.
- char에 저장된 '1'은 1바이트 공간에 '1' 모양의 그림이 들어간 것으로 이해할 수 있다.
- 형식 지정자 일치:
- %c에는 문자, %d에는 정수가 들어가야 한다.
- 만약 %c에 숫자를 넣으면 해당 숫자에 해당하는 특수 문자가 출력될 수 있다.
- 따라서 형식 지정자와 변수의 자료형을 반드시 일치시켜야 한다.
3.5. 문자열 char[]
- 문자열 선언 및 할당:
- char xx[7];은 문자열 xx를 선언하고 7바이트의 메모리 공간을 할당하는 것이다.
- 문자열은 큰따옴표(" ")로 묶어준다 (예: xx = "처음엔";).
- 문자열은 여러 개의 문자가 연속된 형태로 저장된다.
- 문자열의 길이에 따라 충분한 바이트 수를 할당해야 한다.
- printf와 문자열 출력:
- printf("안녕하세요, %s 입니다.", xx);와 같이 사용한다.
- %s는 문자열(string)을 의미하며, 변수 xx에 저장된 문자열이 출력된다.
[맨처음 C언어 기초 2시간 완성] C언어 공부를 맨처음 시작하는 분들을 위한 입문강의 나머지 분량
[맨처음 C언어 기초 2시간 완성] C언어 공부를 맨처음 시작하는 분들을 위한 입문강의 - 하나이프
이 강의는 C언어를 처음 접하는 입문자를 위한 2시간 완성 기초 강좌입니다. 프로그래밍 언어의 기본 개념부터 시작하여, 변수, 연산자, 조건문(if, switch-case), 반복문(for, while, do-while), 사용자 정
hanaif.co.kr
반응형
'인터넷' 카테고리의 다른 글
| 리액트 19버전 강의(2. 리액트 실행하기 with Vite, Node.js) (0) | 2025.09.12 |
|---|---|
| 리액트 19버전 강의(1. 리액트의 핵심 원리 단 하나) (0) | 2025.09.12 |
| 자바 강의 2시간 완성 초보자용 (1분 자바) (0) | 2025.09.12 |
| 아이폰17 결국 이렇게 나온다… 디자인, 가격, 무게, 출시일, 색상 (0) | 2025.09.08 |
| 자바스크립트 강의 EP_18 | 연산자(Operator)2 (논리) | ES6+ 최신 문법 | DOM API | BOM API (0) | 2025.09.07 |