อักขระในฐานะจำนวนเต็ม
ค่า ASCII
อักขระในฐานะจำนวนเต็ม เป็นบทเรียน C Academy ฟรีบน CoddyKit นี่คือบทเรียนที่ 1 จากทั้งหมด 4 บทเรียน คุณสามารถอ่านบทเรียนทั้งหมดด้านล่างฟรี — จากนั้นลองปฏิบัติด้วยตัวคุณเองในเบราว์เซอร์พร้อมตัวแก้ไขโค้ดในตัวและติวเตอร์ AI ตลอด 24/7 บทเรียนนี้เป็นส่วนหนึ่งของเส้นทางการเรียน C Academy และความก้าวหน้าของคุณจะซิงค์ข้ามเว็บและแอป CoddyKit คอร์ส C Academy มีบทเรียนทั้งหมด 4 บทเรียน
อักขระคือตัวเลข
ในภาษา C char เป็นเพียงจำนวนเต็มขนาดเล็ก ทุกอักขระมีค่าตัวเลขตามตาราง ASCII
ตัวอักษร 'A' จะถูกเก็บเป็นตัวเลข 65 ส่วน 'B' คือ 66 และเรียงต่อไป
#include <stdio.h>
int main(void) {
char c = 'A';
printf("The character %c has value %d\n", c, c);
return 0;
}การพิมพ์ค่า ASCII
ใช้ตัวระบุรูปแบบ %d เพื่อพิมพ์ char เป็นค่าจำนวนเต็ม และใช้ %c เพื่อพิมพ์เป็นอักขระ
สามารถมองตัวแปรเดียวกันได้ทั้งสองแบบ
#include <stdio.h>
int main(void) {
char letter = 'z';
printf("As char: %c\n", letter);
printf("As int: %d\n", letter);
return 0;
}ตัวเลขก็มีรหัสเช่นกัน
อักขระ '0' ไม่ใช่ตัวเลข 0 แต่มีค่า ASCII เป็น 48
อักขระตัวเลขตั้งแต่ '0' ถึง '9' อยู่ที่รหัส 48 ถึง 57 ตามลำดับ
#include <stdio.h>
int main(void) {
printf("'0' = %d\n", '0');
printf("'9' = %d\n", '9');
return 0;
}การแปลง char เป็นตัวเลข
เนื่องจากอักขระตัวเลขเรียงต่อเนื่องกัน คุณจึงแปลงอักขระตัวเลขเป็นค่าตัวเลขได้โดยลบด้วย '0'
'7' - '0' มีค่าเท่ากับ 7
#include <stdio.h>
int main(void) {
char d = '7';
int value = d - '0';
printf("The digit value is %d\n", value);
return 0;
}การคำนวณทางเลขคณิตกับอักขระ
เนื่องจาก char เป็นจำนวนเต็ม คุณจึงสามารถนำมาคำนวณทางคณิตศาสตร์ได้ การบวก 1 ให้กับ 'A' จะได้รหัสของ 'B'
วิธีนี้ใช้ได้เพราะตัวอักษรในชุดอักษรเรียงต่อเนื่องกันใน ASCII
#include <stdio.h>
int main(void) {
char c = 'A';
char next = c + 1;
printf("After A comes %c\n", next);
return 0;
}การวนลูปผ่านชุดอักษร
คุณสามารถวนลูปตั้งแต่ 'a' ถึง 'z' โดยใช้ char เป็นตัวนับลูปได้
ลูปจะเปรียบเทียบรหัสอักขระเช่นเดียวกับจำนวน
#include <stdio.h>
int main(void) {
for (char c = 'a'; c <= 'z'; c++) {
printf("%c", c);
}
printf("\n");
return 0;
}ช่องว่างระหว่างตัวพิมพ์
ตัวอักษรพิมพ์ใหญ่และพิมพ์เล็กมีระยะห่างกัน 32 ใน ASCII โดย 'a' คือ 97 และ 'A' คือ 65
ดังนั้น 'a' - 'A' จึงมีค่าเท่ากับ 32
#include <stdio.h>
int main(void) {
printf("'A' = %d\n", 'A');
printf("'a' = %d\n", 'a');
printf("Gap = %d\n", 'a' - 'A');
return 0;
}การแปลงตัวพิมพ์ด้วยตนเอง
เมื่อทราบว่าระยะห่างคือ 32 คุณก็สามารถแปลงตัวพิมพ์เล็กเป็นตัวพิมพ์ใหญ่ได้ด้วยการลบ 32
ภายในแล้ว toupper ทำงาน בדיוקเช่นนี้
#include <stdio.h>
int main(void) {
char lower = 'm';
char upper = lower - 32;
printf("%c becomes %c\n", lower, upper);
return 0;
}อักขระพิเศษ
อักขระควบคุมก็มีรหัสเช่นกัน อักขระขึ้นบรรทัดใหม่ '\n' คือ 10 แท็บ '\t' คือ 9 และตัวจบค่าว่าง '\0' คือ 0
อักขระเว้นวรรคมีค่า 32
#include <stdio.h>
int main(void) {
printf("newline = %d\n", '\n');
printf("tab = %d\n", '\t');
printf("space = %d\n", ' ');
return 0;
}Char เก็บจำนวนขนาดเล็ก
char โดยทั่วไปเก็บค่าได้ตั้งแต่ -128 ถึง 127 (มีเครื่องหมาย) หรือ 0 ถึง 255 (ไม่มีเครื่องหมาย)
คุณสามารถเก็บจำนวนเต็มขนาดเล็กไว้ใน char ได้โดยตรง
#include <stdio.h>
int main(void) {
char small = 100;
small = small + 5;
printf("small = %d\n", small);
return 0;
}การสร้างการเลื่อนแบบซีซาร์
เมื่อนำแนวคิดเหล่านี้มารวมกัน รหัสซีซาร์อย่างง่ายจะเลื่อนตัวอักษรแต่ละตัวไปเป็นจำนวนคงที่โดยใช้การคำนวณกับอักขระ
ในที่นี้เราจะเลื่อนตัวอักษรไปข้างหน้า 3 ตำแหน่ง
#include <stdio.h>
int main(void) {
char c = 'x';
char shifted = 'a' + (c - 'a' + 3) % 26;
printf("%c shifted by 3 = %c\n", c, shifted);
return 0;
}ตรวจสอบความเข้าใจ
ทดสอบความเข้าใจเรื่องการมองอักขระเป็นจำนวนเต็ม
สรุปทบทวน
คุณได้เรียนรู้ว่าในภาษา C:
charเป็นจำนวนเต็มขนาดเล็กที่เก็บรหัส ASCII%cแสดงค่าเป็นอักขระ ส่วน%dแสดงเป็นจำนวน- ตัวเลข
'0'-'9'และตัวอักษรเรียงต่อเนื่องกัน จึงสามารถนำมาคำนวณได้ c - '0'แปลงอักขระตัวเลขเป็นค่าของมัน และระยะห่างระหว่างตัวพิมพ์คือ 32
คำถามที่พบบ่อย
บทเรียน “อักขระในฐานะจำนวนเต็ม” ฟรีหรือไม่
ใช่ — ข้อความเต็มของ “อักขระในฐานะจำนวนเต็ม” ฟรีให้อ่านที่นี่บนเว็บ เพื่อปฏิบัติแบบโต้ตอบ (ตัวแก้ไขโค้ดในตัวและติวเตอร์ AI ตลอด 24/7) และปลดล็อคส่วนที่เหลือของคอร์ส C Academy ให้อัปเกรดเป็น CoddyKit PRO คอร์ส C Academy มีบทเรียนทั้งหมด 4 บทเรียน
คุณจะเรียนรู้อะไรในบทเรียน “อักขระในฐานะจำนวนเต็ม”
ค่า ASCII คุณปฏิบัติ C Academy ด้วยโค้ดที่ใช้งานได้จริงที่คุณเรียกใช้โดยตรงในเบราว์เซอร์ และติวเตอร์ AI ตลอด 24/7 ตอบคำถามของคุณขณะที่คุณไปผ่านบทเรียน
คุณต้องมีประสบการณ์ก่อนที่จะเริ่มเรียน C Academy หรือไม่
ไม่จำเป็นต้องมีประสบการณ์มาก่อน C Academy บน CoddyKit ออกแบบมาสำหรับผู้เริ่มต้นไปจนถึงผู้เรียนขั้นสูง คุณสามารถเริ่มต้นที่นี่หรือเริ่มจากตัวแรกและเรียนด้วยความเร็วของคุณเอง นี่คือบทเรียนที่ 1 จากทั้งหมด 4 บทเรียน
บทเรียน “อักขระในฐานะจำนวนเต็ม” ใช้เวลานานแค่ไหน
บทเรียน CoddyKit ส่วนใหญ่ใช้เวลาประมาณ 5–10 นาที แต่ละบทเรียนจึงสั้นและเป็นแบบโต้ตอบ คุณสามารถก้าวหน้าอย่างต่อเนื่องและกลับมาเรียนต่อจากตรงที่เพิ่งหยุดบนเว็บและแอปได้เลย
ฉันเขียนและรันโค้ดในบทเรียน C Academy นี้ได้ไหม
ได้ บทเรียน C Academy ทุกบทมีตัวแก้ไขโค้ดในตัว คุณจึงเขียนและรันโค้ดจริงได้เลยในเบราว์เซอร์ และได้รับข้อเสนอแนะจาก AI ในทันที — ไม่ต้องติดตั้งในเครื่องของคุณ
บทเรียนทั้งหมดในหลักสูตรนี้
- อักขระในฐานะจำนวนเต็ม
- ไลบรารี ctype
- การอ่านอักขระ
- การสร้างเครื่องมืออักขระ