[C] C언어 기초

[C] Visual Studio 2022 설치 및 C언어 기초

ITsubin 2022. 3. 16. 23:55

먼저 개발 환경부터 세팅하겠습니다.

Google에서 visual studio 2022 검색.


무료 버전인 Community 2022를 클릭해서 인스톨러를 다운로드합니다..


워크로드 창이 뜬다면
[ C++를 사용한 데스크톱 개발 ] [ Visual Studio 확장 개발 ]
을 찾아서 체크 후 설치 진행합니다.
(이미 설치가 완료된 상태라면 도구 탭 => 도구 및 기능 가져오기로 워크로드 창을 불러올 수 있습니다.)
Visual Studio에서는 C++ 안에 C가 포함되어 있기 때문에 C++ 개발 도구를 설치해줍니다.


객체 지향 언어인 Java, Python, C++과 달리 C언어는 절차 지향(절차적) 언어입니다.

새로운 소스 파일을 만들어서 실습해보겠습니다.

우측의 솔루션 탐색기 => 소스 파일 우클릭 => 추가 => 새 항목 => C++ 파일 선택


C++ 파일을 선택하셨다면 파일의 확장자가 C++의 확장자인 [ .cpp ]로 자동 지정됩니다.
파일의 이름은 상관없지만, 확장자는 꼭 [ .c ]로 지정해줘야 합니다.
저는 first.c로 명명하겠습니다.

혹시 모를 에러에 대비하여 위치에는 한글이 들어가지 않는 것이 좋습니다.
저는 C드라이브 아래에 Cprogramming이라는 폴더를 생성하여 사용하겠습니다.


아래의 예시는 C언어의 기초 구문입니다. ( |는 행을 표시하기 위해 임의로 넣었습니다.)

1 | #include <stdio.h>
2 |
3 | int main(void) {
4 | printf("First C Programming");
5 | return 0;
6 | }


상단의 로컬 Windows 디버거를 클릭하면 자동으로 컴파일 및 실행을 진행합니다.


1번째 행의 #include <stdio.h>에서의 #이 바로 전처리 지시자입니다.
stdio는 standard input/output의 약자로, 표준 입출력을 의미합니다.
h는 header 즉, 헤더 파일을 의미합니다.
결국 가장 먼저 stdio.h라는 헤더 파일에 선언된 내용을 포함한다는 의미입니다.
예시문을 보면 두 개의 블록으로 나뉘어있다고 볼 수 있습니다.
(1번째 행 / 중괄호로 묶여있는 3~6번째 행)

1 | #include <stdio.h> // 전처리 지시자
3 | int main(void) {
4 | printf("First C Programming");
5 | return 0;
6 | }


#include <stdio.h>는 앞서 말했듯이 전처리 지시를 나타내는 행이며, 이는 “링커”로 아래의 블록과 연결되어 있습니다.

아래 블록 안의 int main(void)는 main이라는 함수입니다.
단어 뒤에 괄호가 붙어있으면 함수입니다.

단어( ) : 함수
단어[ ] : 배열
단어{ } : 블록문

main 앞의 int자료형 중 하나입니다.
int정수 자료형이며, 결국 int main(void)라는 문장은 “메인 함수는 정수 값(int형)을(int형) 반환한다.”라고 볼 수 있습니다.

C언어에서의 자료형은 아래와 같습니다.

short : 정수
int : 정수
float : 실수
double : 실수
char : 문자

문자는 ‘a’, ‘C’, ‘s’처럼 무조건 한 자를 의미합니다.
‘abc’, ‘dEf’처럼 문자가 두 개 이상 있으면 문자열이라고 합니다.
하지만 C에서는 문자열 타입이 따로 존재하지 않습니다. 문자열을 포함하려면 위의 예시와 같이
큰 따옴표(" ")사용해야 합니다.
작은따옴표(' ') 문자를 나타냅니다.

ex)
printf(“test”); “ ” : 문자열을 나타냄.
printf(test);  : 변수를 나타냄
printf(10 + 20); : 정수를 나타냄
printf(‘A’);  : 문자를 나타냄
printf(10.5);  : 실수(부동소수점)를 나타냄

return은 리턴 문입니다.. 프로그램이 정상적으로 종료하였음을 알려주며, 결과값을 실행한 함수에게 돌려주는 역할을 합니다. 위 예시에서는 main함수가 실행하였습니다.

1 | #include <stdio.h>
2 |
3 | int main(void) {
4 | printf("First Line\n");
5 | printf("Second Line");
6 | return 0;
7 | // 한 줄 주석
8 | /* 여러 줄
9 | 주석 */
10 | }

위 예시에서의 \nnew line 즉, 개행을 의미합니다. 폰트에 따라서 역슬래시와 원 표시가 나뉠 수 있지만, 둘 다 같은 역할을 합니다.

예시에서의 //주석을 나타냅니다.
// 뒤의 문장은 컴파일되지 않습니다. 이를 한 줄 주석이라고 합니다.
여러 줄 주석은 /* */로 나타내며, 이 사이의 문장 또한 컴파일되지 않습니다.

C언어에서의 에러(Error)는 크게 두 가지로 나뉩니다.
- 문법적인 에러 // 문법적인 오류가 있을 때.(오,탈자 등)
- 예외 구문 에러 // 들어올 수 없는 값이 들어왔을 때.