C 언어에서 토큰: 초보자 가이드

안녕하세요, 야심 찬 프로그래머 여러분! 오늘 우리는 C 프로그래밍의 세계로 흥미로운 여정을 떠납니다. 여러분의 친절한 이웃 컴퓨터 선생님이자 저는 C 언어의 토큰에 대해 안내해드리려 합니다. 만약 코드를 한 줄도 작성해보지 않았다면 걱정하지 마세요 - 우리는 매우 기본적인 것부터 시작하여 차례대로 진행할 것입니다. 그러니 커피 한 잔 (또는 여러분의 좋아하는 음료)을 들고, 같이 들어보세요!

C - Tokens

C 언어에서 토큰이란?

구체적인 내용에 들어가기 전에 토큰이 무엇인지 이해해보겠습니다. C 프로그래밍에서 토큰은 프로그램의 가장 작은 개별 단위입니다. 코드의 건축 블록이라고 생각하면 됩니다 - 문장을 구성하는 단어처럼, 토큰이 C 프로그램을 구성합니다.

이제 C 언어에서 다양한 유형의 토큰을 탐구해보겠습니다.

C 문자셋

C 문자셋은 C 언어의 알파벳과 같습니다. 다음을 포함합니다:

  1. 소문자 (a-z)
  2. 대문자 (A-Z)
  3. 숫자 (0-9)
  4. 특수 문자 (예: +, -, *, / 등)
  5. 공백 문자 (스페이스, 탭, 개행 문자 등)

이 문자들은 여러분이 작성할 모든 C 프로그램의 기초가 됩니다. 간단한 예를 보겠습니다:

#include <stdio.h>

int main() {
printf("Hello, World!");
return 0;
}

이 전형적인 "Hello, World!" 프로그램에서는 C 문자셋의 여러 문자를 활용할 수 있습니다.

C 키워드

키워드는 C에서 사전 정의된 의미를 가진 특별한 단어입니다. 언어의 비서와 같은 존재입니다 - 그들의 예정된 목적 이외의 용도로 사용할 수 없습니다. 다음은 일반적인 C 키워드의 표입니다:

키워드 설명
int 정수 데이터 타입
float 부동소수점 데이터 타입
if 조건문에 사용
else if와 함께 대체 실행에 사용
while 반복문에 사용
return 함수에서 값을 반환

키워드를 어떻게 사용할 수 있는지 보겠습니다:

int main() {
int age = 25;
if (age >= 18) {
printf("You're an adult!");
} else {
printf("You're a minor.");
}
return 0;
}

이 예제에서는 int, if, else, return 키워드를 사용하고 있습니다. 각각은 프로그램의 논리에서 중요한 역할을 합니다.

C 리터럴

리터럴은 고정된 값을 가진 데이터 항목입니다. 수학 식의 상수와 같은 것입니다. C는 다음과 같은 리터럴을 지원합니다:

  1. 정수 리터럴 (예: 10, -5, 0)
  2. 부동소수점 리터럴 (예: 3.14, -0.5)
  3. 문자 리터럴 (예: 'A', '7', '$')
  4. 문자열 리터럴 (예: "Hello, World!")

다양한 유형의 리터럴을 사용하는 예제를 보겠습니다:

int main() {
int count = 10;
float pi = 3.14159;
char grade = 'A';
printf("There are %d apples. Pi is approximately %.2f. I got an %c in math!", count, pi, grade);
return 0;
}

이 프로그램은 정수, 부동소수점, 문자 리터럴의 사용을 보여줍니다.

C 식별자

식별자는 변수, 함수, 배열 등과 같은 엔티티에 부여된 이름입니다. 프로그램의 nametag와 같은 것입니다. 식별자를 생성하는 규칙은 다음과 같습니다:

  1. 문자, 숫자, 밑줄을 포함할 수 있습니다
  2. 문자나 밑줄로 시작해야 합니다
  3. 대소문자를 구분합니다
  4. 키워드일 수 없습니다

유효한 식별자와 무效한 식별자를 보겠습니다:

int main() {
int validIdentifier = 10;
int _also_valid = 20;
int 123invalid = 30;  // 이는 무效합니다!
int float = 40;       // 이는 무效합니다. float는 키워드입니다!
return 0;
}

C 연산자

연산자는 컴파일러에 특정 수학적이나 논리적 연산을 수행하도록 지시하는 기호입니다. 프로그래밍 언어의 동사와 같은 것입니다. 다음은 일반적인 C 연산자의 표입니다:

연산자 설명
+ 덧셈
- 뺄셈
* 곱셈
/ 나눗셈
% 나머지 (余수)
== 같다
!= 다르다
> 크다
< 작다

이 연산자들을 활용하는 예제를 보겠습니다:

int main() {
int a = 10, b = 3;
printf("Addition: %d\n", a + b);
printf("Subtraction: %d\n", a - b);
printf("Multiplication: %d\n", a * b);
printf("Division: %d\n", a / b);
printf("Modulus: %d\n", a % b);
printf("Is a equal to b? %d\n", a == b);
printf("Is a not equal to b? %d\n", a != b);
printf("Is a greater than b? %d\n", a > b);
printf("Is a less than b? %d\n", a < b);
return 0;
}

이 프로그램은 다양한 산술 및 비교 연산자를 보여줍니다.

C 특수 기호

특수 기호는 C에서 특별한 의미를 가진 문자입니다. 언어의 문장 부호와 같은 것입니다. 다음은 몇 가지 예입니다:

  1. [] (정사각형 괄호) - 배열 인덱싱에 사용
  2. {} (곡사각형 괄호) - 문장을 그룹화하는 데 사용
  3. () (圓形 괄호) - 함수 호출과 표현式中에 사용
  4. ; (세미콜론) - 문장을 종료하는 데 사용
  5. (해시) - 프리프로세서 디렉티브에 사용

이 특수 기호들을 사용하는 예제를 보겠습니다:

#include <stdio.h>

int add(int a, int b) {
return a + b;
}

int main() {
int numbers[] = {1, 2, 3, 4, 5};
int sum = add(numbers[0], numbers[4]);
printf("The sum is: %d", sum);
return 0;
}

이 예제에서는 정사각형 괄호를 배열 인덱싱에, 곡사각형 괄호를 함수 본문 정의에, 圓形 괄호를 함수 호출에, 세미콜론을 문장 종료에, 해시를 포함 디렉티브에 사용하고 있습니다.

이제 여러분은 C 언어의 주요 토큰을 다루었습니다. 기억하세요, 이 토큰들은 여러분이 작성할 모든 C 프로그램의 건축 블록입니다. 프로그래밍 여정을 계속하면서 이 토큰들에 익숙해질 것이며, 사용하는 것이 자연스러워질 것입니다.

프로그래밍은 새로운 언어를 배우는 것과 같습니다 - 시간과 연습이 필요합니다. 바로 이해가 되지 않는다면 낙담하지 마세요. 계속 코딩하고, 실험하고, 가장 중요한 것은 즐겁게 만들어보세요!

미래의 프로그래머 여러분, 행복하게 코딩하세요!

Credits: Image by storyset