Pustaka ctype
isdigit, isalpha, toupper.
Pustaka ctype adalah pelajaran C Academy gratis di CoddyKit. Ini adalah pelajaran 2 dari 4. Kamu bisa membaca pelajaran lengkapnya di bawah secara gratis — lalu praktikkan langsung di browser dengan editor kode bawaan dan tutor AI 24/7. Ini adalah bagian dari jalur belajar C Academy, dan progresmu tersinkronisasi di web dan aplikasi CoddyKit. Kursus C Academy mencakup 4 pelajaran total.
Apa Itu ctype.h
Header <ctype.h> menyediakan fungsi untuk mengklasifikasikan dan mengonversi karakter.
Header ini membebaskan Anda dari keharusan menghafal rentang ASCII dan menulis perbandingan secara manual.
#include <stdio.h>
#include <ctype.h>
int main(void) {
printf("Is 'A' alpha? %d\n", isalpha('A'));
return 0;
}isdigit
isdigit(c) mengembalikan nilai bukan nol jika c adalah karakter digit '0'-'9', dan mengembalikan 0 jika tidak.
#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) mengembalikan nilai bukan nol jika c adalah huruf, baik huruf besar maupun huruf kecil.
Digit dan simbol menghasilkan nilai 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 dan isspace
isalnum(c) bernilai benar untuk huruf atau digit. isspace(c) bernilai benar untuk karakter spasi kosong seperti spasi, tab, dan baris baru.
#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 dan islower
isupper(c) menguji apakah karakter merupakan huruf besar, sedangkan islower(c) menguji apakah karakter merupakan huruf kecil.
Keduanya berguna sebelum menentukan apakah perlu mengonversi besar-kecil huruf.
#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) mengembalikan nilai bukan nol untuk karakter tanda baca yang dapat dicetak seperti !, ?, dan , yang bukan huruf, digit, atau spasi.
#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) mengembalikan versi huruf besar dari suatu huruf. Jika c bukan huruf kecil, fungsi ini mengembalikan c tanpa perubahan.
#include <stdio.h>
#include <ctype.h>
int main(void) {
printf("%c\n", toupper('h'));
printf("%c\n", toupper('5'));
return 0;
}tolower
tolower(c) mengembalikan versi huruf kecil dari suatu huruf besar, atau mengembalikan karakter tersebut tanpa perubahan jika bukan huruf besar.
#include <stdio.h>
#include <ctype.h>
int main(void) {
printf("%c\n", tolower('H'));
printf("%c\n", tolower('z'));
return 0;
}Mengklasifikasikan Untaian Karakter
Lakukan perulangan pada untaian karakter dan gunakan fungsi ctype untuk menghitung digit dan huruf.
#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;
}Mengubah Seluruh Untaian Karakter Menjadi Huruf Besar
Gabungkan toupper dengan perulangan untuk mengonversi seluruh untaian karakter menjadi huruf besar, karakter demi karakter.
#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;
}Teruskan int, Bukan char Negatif
Fungsi ctype menerima int yang harus dapat direpresentasikan sebagai unsigned char atau berupa EOF.
Meneruskan char negatif secara langsung merupakan perilaku yang tidak terdefinisi. Jika ragu, lakukan konversi ke 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;
}Pemeriksaan Singkat
Uji pengetahuan Anda tentang pustaka ctype.
Ringkasan
Pustaka <ctype.h> memungkinkan Anda untuk:
- Mengklasifikasikan dengan
isdigit,isalpha,isalnum,isspace,ispunct,isupper, danislower. - Mengonversi dengan
toupperdantolower. - Selalu meneruskan nilai yang dikonversi ke
unsigned charuntuk menghindari perilaku yang tidak terdefinisi.
Pertanyaan yang Sering Diajukan
Apakah pelajaran “Pustaka ctype” gratis?
Ya — teks lengkap “Pustaka ctype” gratis dibaca di sini di web. Untuk praktiknya secara interaktif (editor kode bawaan dan tutor AI 24/7) dan buka sisa kursus C Academy, upgrade ke CoddyKit PRO. Kursus C Academy mencakup 4 pelajaran total.
Apa yang akan aku pelajari di “Pustaka ctype”?
isdigit, isalpha, toupper. Kamu berlatih C Academy dengan kode praktik yang langsung kamu jalankan di browser, dan tutor AI 24/7 menjawab pertanyaanmu saat kamu mengerjakan pelajaran ini.
Apakah aku perlu pengalaman untuk memulai C Academy?
Tidak diperlukan pengalaman sebelumnya. C Academy di CoddyKit dirancang untuk pemula hingga pelajar tingkat lanjut, jadi kamu bisa memulai di sini atau dari awal dan belajar sesuai kecepatan kamu sendiri. Ini adalah pelajaran 2 dari 4.
Berapa lama pelajaran “Pustaka ctype” memakan waktu?
Sebagian besar pelajaran CoddyKit memakan waktu sekitar 5–10 menit. Setiap pelajaran ringkas dan interaktif, jadi kamu membuat kemajuan stabil dan melanjutkan dari tempat kamu tinggalkan di web dan aplikasi.
Bisakah aku menulis dan menjalankan kode dalam pelajaran C Academy ini?
Ya. Setiap pelajaran C Academy menyertakan editor kode bawaan, jadi kamu menulis dan menjalankan kode nyata langsung di browser dan mendapatkan umpan balik AI instan — tidak diperlukan penyiapan lokal.