ไลบรารี ctype
isdigit, isalpha, toupper
ไลบรารี ctype เป็นบทเรียน C Academy ฟรีบน CoddyKit นี่คือบทเรียนที่ 2 จากทั้งหมด 4 บทเรียน คุณสามารถอ่านบทเรียนทั้งหมดด้านล่างฟรี — จากนั้นลองปฏิบัติด้วยตัวคุณเองในเบราว์เซอร์พร้อมตัวแก้ไขโค้ดในตัวและติวเตอร์ AI ตลอด 24/7 บทเรียนนี้เป็นส่วนหนึ่งของเส้นทางการเรียน C Academy และความก้าวหน้าของคุณจะซิงค์ข้ามเว็บและแอป CoddyKit คอร์ส C Academy มีบทเรียนทั้งหมด 4 บทเรียน
ctype.h คืออะไร
ส่วนหัว <ctype.h> มีฟังก์ชันสำหรับจำแนกประเภทและแปลงอักขระ
ส่วนนี้ช่วยให้คุณไม่ต้องจำช่วงของ ASCII และเขียนการเปรียบเทียบด้วยตนเอง
#include <stdio.h>
#include <ctype.h>
int main(void) {
printf("Is 'A' alpha? %d\n", isalpha('A'));
return 0;
}isdigit
isdigit(c) คืนค่าที่ไม่ใช่ศูนย์ หาก c เป็นอักขระตัวเลข '0'-'9' และคืนค่า 0 ในกรณีอื่น
#include <stdio.h>
#include <ctype.h>
int main(void) {
printf("isdigit('7') = %d\n", isdigit('7'));
printf("isdigit('x') = %d\n", isdigit('x'));
return 0;
}isalpha
isalpha(c) คืนค่าที่ไม่ใช่ศูนย์หาก c เป็นตัวอักษร ไม่ว่าจะเป็นตัวพิมพ์ใหญ่หรือตัวพิมพ์เล็ก
ตัวเลขและสัญลักษณ์จะคืนค่า 0
#include <stdio.h>
#include <ctype.h>
int main(void) {
printf("isalpha('G') = %d\n", isalpha('G'));
printf("isalpha('3') = %d\n", isalpha('3'));
return 0;
}isalnum และ isspace
isalnum(c) เป็นจริงสำหรับตัวอักษรหรือตัวเลข ส่วน isspace(c) เป็นจริงสำหรับอักขระช่องว่าง เช่น ช่องว่าง แท็บ และอักขระขึ้นบรรทัดใหม่
#include <stdio.h>
#include <ctype.h>
int main(void) {
printf("isalnum('9') = %d\n", isalnum('9'));
printf("isspace(' ') = %d\n", isspace(' '));
printf("isspace('a') = %d\n", isspace('a'));
return 0;
}isupper และ islower
isupper(c) ตรวจสอบตัวอักษรพิมพ์ใหญ่ ส่วน islower(c) ตรวจสอบตัวอักษรพิมพ์เล็ก
ฟังก์ชันเหล่านี้มีประโยชน์ก่อนตัดสินใจแปลงตัวพิมพ์
#include <stdio.h>
#include <ctype.h>
int main(void) {
printf("isupper('A') = %d\n", isupper('A'));
printf("islower('A') = %d\n", islower('A'));
return 0;
}ispunct
ispunct(c) คืนค่าที่ไม่ใช่ศูนย์สำหรับอักขระวรรคตอนที่พิมพ์ได้ เช่น ! ? และ , ซึ่งไม่ใช่ตัวอักษร ตัวเลข หรือช่องว่าง
#include <stdio.h>
#include <ctype.h>
int main(void) {
printf("ispunct('!') = %d\n", ispunct('!'));
printf("ispunct('a') = %d\n", ispunct('a'));
return 0;
}toupper
toupper(c) คืนค่าอักขระพิมพ์ใหญ่ของตัวอักษร หาก c ไม่ใช่ตัวอักษรพิมพ์เล็ก จะคืนค่า c โดยไม่เปลี่ยนแปลง
#include <stdio.h>
#include <ctype.h>
int main(void) {
printf("%c\n", toupper('h'));
printf("%c\n", toupper('5'));
return 0;
}tolower
tolower(c) คืนค่าอักขระพิมพ์เล็กของตัวอักษรพิมพ์ใหญ่ หรือคืนอักขระเดิมหากไม่ใช่ตัวพิมพ์ใหญ่
#include <stdio.h>
#include <ctype.h>
int main(void) {
printf("%c\n", tolower('H'));
printf("%c\n", tolower('z'));
return 0;
}การจำแนกประเภทสตริง
วนลูปผ่านสตริงและใช้ฟังก์ชัน ctype เพื่อนับตัวเลขและตัวอักษร
#include <stdio.h>
#include <ctype.h>
int main(void) {
char *s = "abc123";
int letters = 0, digits = 0;
for (int i = 0; s[i]; i++) {
if (isalpha(s[i])) letters++;
if (isdigit(s[i])) digits++;
}
printf("letters=%d digits=%d\n", letters, digits);
return 0;
}การเปลี่ยนสตริงทั้งชุดเป็นตัวพิมพ์ใหญ่
ใช้ toupper ร่วมกับลูปเพื่อแปลงสตริงทั้งหมดเป็นตัวพิมพ์ใหญ่ทีละอักขระ
#include <stdio.h>
#include <ctype.h>
int main(void) {
char s[] = "Hello";
for (int i = 0; s[i]; i++) {
s[i] = toupper(s[i]);
}
printf("%s\n", s);
return 0;
}ส่งค่า int ไม่ใช่ char ติดลบ
ฟังก์ชัน ctype รับค่า int ที่สามารถแทนด้วย unsigned char ได้ หรือเป็น EOF
การส่งค่า char ติดลบโดยตรงมีพฤติกรรมที่ไม่ได้กำหนดไว้ หากไม่แน่ใจ ให้แปลงเป็น unsigned char
#include <stdio.h>
#include <ctype.h>
int main(void) {
char c = 'Q';
int result = isalpha((unsigned char)c);
printf("safe isalpha = %d\n", result);
return 0;
}ตรวจสอบความเข้าใจ
ทดสอบความรู้เกี่ยวกับไลบรารี ctype
สรุปทบทวน
ไลบรารี <ctype.h> ช่วยให้คุณ:
- จำแนกประเภทด้วย
isdigit,isalpha,isalnum,isspace,ispunct,isupper,islower - แปลงค่าด้วย
toupperและtolower - ส่งค่าที่แปลงเป็น
unsigned charเสมอ เพื่อหลีกเลี่ยงพฤติกรรมที่ไม่ได้กำหนดไว้
เรียนรู้ C ด้วย AI tutor — ฟรี
เขียนและเรียกใช้โค้ดจริงในเบราว์เซอร์ของคุณ รับความช่วยเหลือทันทีจาก AI tutor 24/7 และเรียนรู้ต่อจากที่คุณหยุดบนเว็บหรือในแอป
- คอร์ส
- 39
- บทเรียน
- 144
คำถามที่พบบ่อย
บทเรียน “ไลบรารี ctype” ฟรีหรือไม่
ใช่ — ข้อความเต็มของ “ไลบรารี ctype” ฟรีให้อ่านที่นี่บนเว็บ เพื่อปฏิบัติแบบโต้ตอบ (ตัวแก้ไขโค้ดในตัวและติวเตอร์ AI ตลอด 24/7) และปลดล็อคส่วนที่เหลือของคอร์ส C Academy ให้อัปเกรดเป็น CoddyKit PRO คอร์ส C Academy มีบทเรียนทั้งหมด 4 บทเรียน
คุณจะเรียนรู้อะไรในบทเรียน “ไลบรารี ctype”
isdigit, isalpha, toupper คุณปฏิบัติ C Academy ด้วยโค้ดที่ใช้งานได้จริงที่คุณเรียกใช้โดยตรงในเบราว์เซอร์ และติวเตอร์ AI ตลอด 24/7 ตอบคำถามของคุณขณะที่คุณไปผ่านบทเรียน
คุณต้องมีประสบการณ์ก่อนที่จะเริ่มเรียน C Academy หรือไม่
ไม่จำเป็นต้องมีประสบการณ์มาก่อน C Academy บน CoddyKit ออกแบบมาสำหรับผู้เริ่มต้นไปจนถึงผู้เรียนขั้นสูง คุณสามารถเริ่มต้นที่นี่หรือเริ่มจากตัวแรกและเรียนด้วยความเร็วของคุณเอง นี่คือบทเรียนที่ 2 จากทั้งหมด 4 บทเรียน
บทเรียน “ไลบรารี ctype” ใช้เวลานานแค่ไหน
บทเรียน CoddyKit ส่วนใหญ่ใช้เวลาประมาณ 5–10 นาที แต่ละบทเรียนจึงสั้นและเป็นแบบโต้ตอบ คุณสามารถก้าวหน้าอย่างต่อเนื่องและกลับมาเรียนต่อจากตรงที่เพิ่งหยุดบนเว็บและแอปได้เลย
ฉันเขียนและรันโค้ดในบทเรียน C Academy นี้ได้ไหม
ได้ บทเรียน C Academy ทุกบทมีตัวแก้ไขโค้ดในตัว คุณจึงเขียนและรันโค้ดจริงได้เลยในเบราว์เซอร์ และได้รับข้อเสนอแนะจาก AI ในทันที — ไม่ต้องติดตั้งในเครื่องของคุณ