문자 상수 — 작은따옴표·아스키 코드와 %c·%d 출력 | 기초 C언어 3.4.1
기초 C언어Chapter 03 상수 › Section 04 문자
3.4.1 문자
작은따옴표로 글자 하나를 표현하고, 아스키 코드로 문자와 정수의 관계를 살펴봄. 같은 값을 printf의 %c와 %d로 출력하며 문자 모양과 코드 값을 연결함.
영상 주소 https://www.youtube.com/watch?v=A37ulrx16ao · C언어 강의실 채널
01문자 상수 — 글자 하나를 코드에 적기교재 54p
- 문자(Character) — 이 절에서는 A, b, 5, +처럼 단 하나의 글자를 다룸. 글자 모양이 숫자나 기호여도 문자로 표현할 수 있음.
- 문자 상수 — 단일 문자를 코드에 직접 적어 놓은 것. 작은따옴표로 감싼
'A','b','5','+'가 예. - 숫자와 숫자 모양의 문자 — 정수 5는 계산할 수치이고, 문자
'5'는 숫자 모양의 글자. 따옴표까지 함께 읽어야 두 값을 구별할 수 있음.
02작은따옴표 — 문자·문자열·이름을 구별교재 54p
- 문자 상수의 표기 — 반드시 작은따옴표로 감쌈. 따옴표는 장식이 아니라 코드의 의미를 결정하는 기호.
- 큰따옴표는 문자열 —
"A"는 한 글자만 들어 있어도 문자열 상수. 다음 절에서 끝을 표시하는 널 문자까지 함께 살펴봄. - 따옴표 없는 A — 문자 상수가 아니라 식별자, 즉 프로그램 안에서 사용하는 이름. 선언 없이 변수처럼 사용하면 오류가 생김.
| 코드 표기 | 읽는 방법 | 확인할 점 |
|---|---|---|
| 'A' | 문자 상수 | 작은따옴표 |
| "A" | 문자열 상수 | 큰따옴표 |
| A | 식별자 | 선언된 이름인지 확인 |
따옴표는 값의 종류를 알려 주는 표지
- A라는 모양만 보면 비슷하지만, 작은따옴표와 큰따옴표는 서로 다른 표지를 붙임. 코드를 읽을 때는 안쪽 글자와 바깥쪽 따옴표를 한 묶음으로 확인.
- 문자 하나를 출력하려는 상황이라면 먼저 작은따옴표를 썼는지 확인. 따옴표를 바꾸는 것은 단순한 글꼴 변경이 아님.
03아스키 코드 — 문자에 대응하는 번호교재 54p
- 문자를 숫자로 다루기 — 컴퓨터는 문자 모양 대신 문자에 대응하는 번호를 저장하고 처리함. 화면에는 그 번호에 대응하는 글자가 표시됨.
- ASCII — American Standard Code for Information Interchange의 약자. 문자와 숫자의 대응 규칙이며, 교재의 예제는 ASCII와 호환되는 환경을 기준으로 읽음.
- 대문자·소문자 구별 — A와 a는 모양뿐 아니라 코드 값도 다름. 대문자 A는 65, 소문자 a는 97로 구별됨.
| 문자 | ASCII 코드 값 | 구별할 점 |
|---|---|---|
| 'A' | 65 | 대문자 A |
| 'B' | 66 | 대문자 B |
| 'a' | 97 | 소문자 a |
| '0' | 48 | 정수 0과 다른 값 |
이름과 출석 번호처럼 연결해서 읽기
- 학생의 이름과 출석 번호를 연결하듯, 문자 모양과 코드 값을 연결해 생각할 수 있음. 같은 대상을 이름으로 부르거나 번호로 나타내는 것과 비슷함.
- 다만 번호를 정하는 규칙이 있어야 서로 같은 뜻으로 읽을 수 있음. 이 글의 65, 97, 48은 ASCII 코드 표를 기준으로 한 값.
04문자와 정수 — 같은 값을 두 방식으로 보기교재 55p
- 문자 상수의 정수 성격 — C에서 보통의 문자 상수는 정수형 값을 가짐. ASCII 호환 환경에서
'A'의 값은 65. - %c — printf에서 해당 값을 문자 모양으로 출력할 때 사용. 예제에서는 화면에 A가 나타남.
- %d — 같은 값을 10진 정수로 출력할 때 사용. 예제에서는 65가 나타남.
- 출력 모양과 저장된 값 구별 — 변환 지정자는 화면에 보여 주는 방식을 결정함. %c에서 %d로 바꿨다고 변수가 다른 값으로 바뀌는 것은 아님.
| 변환 지정자 | 보여 주는 모습 | 예제의 출력 |
|---|---|---|
| %c | 문자 | A |
| %d | 10진 정수 | 65 |
05코드 읽기 — char와 printf 연결교재 55p
CODE 3.5 · 문자와 아스키 코드 값 출력
#include <stdio.h>int main(void) {char myChar = 'A';printf("문자 그대로 출력: %c\n", myChar);printf("아스키 코드 값으로 출력: %d\n", myChar);return 0;}
- 03줄 — 문자형 변수 myChar를 선언하고 문자 A를 넣음. char는 문자 값을 담는 데 사용하는 자료형.
- 04줄 — 같은 변수 myChar를 %c에 연결하여 문자 모양으로 출력. 뒤의
\n은 줄을 바꾸는 제어 문자. - 05줄 — myChar를 %d에 연결하여 정수 값으로 출력. 두 printf에 전달한 변수는 같고, 변환 지정자가 다름.
06실행 결과 — A와 65를 함께 읽기교재 55p
실행 결과 · ASCII 호환 환경
문자 그대로 출력: A아스키 코드 값으로 출력: 65
- 첫째 줄 — %c가 문자 모양 A를 보여 줌. 문자 상수를 적을 때 썼던 작은따옴표 자체는 출력되지 않음.
- 둘째 줄 — %d가 코드 값 65를 보여 줌. 코드에 직접 65를 적지 않아도 문자에 대응하는 정수 값을 확인할 수 있음.
- 실습에서 볼 것 — 변환 지정자, 전달한 값, 실행 결과를 차례로 연결. 문자와 정수의 관계가 이후 문자 처리의 바탕이 됨.
- 자료형의 크기 — char 변수는 1바이트이지만 C의 문자 상수
'A'자체는 int형. 문자형 변수와 문자 상수의 자료형을 같은 것으로 단정하지 않음.
이 절의 핵심 정리
- 문자 상수는 글자 하나를 작은따옴표로 감싼다.
- 'A', "A", A는 각각 문자·문자열·식별자로 구별한다.
- ASCII 호환 환경에서 'A'는 65, 'a'는 97이다.
- printf의 %c는 문자, %d는 10진 정수로 출력한다.
- 같은 문자 값을 모양과 코드 값이라는 두 측면에서 읽는다.
강의 자료3.4.1 문자
1 / 9
번호를 누르면 해당 장으로 바로 이동합니다 · 방향키 ← → 로도 넘길 수 있습니다
다음 절 · 3.4.2 문자열 교재 56p~58p — 큰따옴표와 널 종료 문자를 통해 문자열의 저장 구조를 살펴봅니다.
더 자세한 내용은 교재에서
이 글은 『기초 C언어』 54p~55p의 내용을 강의 영상에 맞춰 핵심만 간추린 요약입니다. 각 개념의 상세한 설명과 예제, 실습 코드, 임용시험 기출문제 풀이는 교재에서 다루고 있습니다.
댓글
댓글 쓰기