C Academy · Pelajaran

Membangun Utilitas Char

Contoh praktis.

Pelajaran 4 dari 413 langkah

Membangun Utilitas Char adalah pelajaran C Academy gratis di CoddyKit. Ini adalah pelajaran 4 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.

Menggabungkan Pengetahuan Anda

Sekarang Anda dapat membuat utilitas karakter kecil yang praktis dengan menggabungkan aritmetika char, pustaka ctype, dan perulangan pada untaian karakter.

Mari kita menulis beberapa fungsi pembantu yang umum.

#include <stdio.h>
#include <ctype.h>

int main(void) {
    char c = 'g';
    printf("Upper: %c\n", toupper(c));
    return 0;
}

Menghitung Vokal

Pencacah vokal memeriksa setiap karakter terhadap himpunan a, e, i, o, u, baik dalam bentuk huruf besar maupun huruf kecil.

#include <stdio.h>
#include <ctype.h>

int count_vowels(const char *s) {
    int n = 0;
    for (int i = 0; s[i]; i++) {
        char c = tolower(s[i]);
        if (c=='a'||c=='e'||c=='i'||c=='o'||c=='u') n++;
    }
    return n;
}

int main(void) {
    printf("%d\n", count_vowels("Education"));
    return 0;
}

Membalikkan Untaian Karakter

Tukarkan karakter dari kedua ujung sambil bergerak ke tengah untuk membalikkan untaian karakter di tempat.

#include <stdio.h>
#include <string.h>

int main(void) {
    char s[] = "hello";
    int n = strlen(s);
    for (int i = 0; i < n / 2; i++) {
        char tmp = s[i];
        s[i] = s[n-1-i];
        s[n-1-i] = tmp;
    }
    printf("%s\n", s);
    return 0;
}

Memeriksa Palindrom

Palindrom dibaca sama dari depan maupun dari belakang. Bandingkan posisi-posisi yang saling berpasangan hingga keduanya bertemu.

#include <stdio.h>
#include <string.h>

int is_palindrome(const char *s) {
    int i = 0, j = strlen(s) - 1;
    while (i < j) {
        if (s[i] != s[j]) return 0;
        i++; j--;
    }
    return 1;
}

int main(void) {
    printf("%d\n", is_palindrome("level"));
    printf("%d\n", is_palindrome("world"));
    return 0;
}

Mengalihkan Huruf Besar dan Kecil

Pengubah besar-kecil huruf mengubah huruf besar menjadi huruf kecil dan sebaliknya, serta membiarkan karakter nonhuruf tetap apa adanya.

#include <stdio.h>
#include <ctype.h>

int main(void) {
    char s[] = "Hello World";
    for (int i = 0; s[i]; i++) {
        if (isupper(s[i])) s[i] = tolower(s[i]);
        else if (islower(s[i])) s[i] = toupper(s[i]);
    }
    printf("%s\n", s);
    return 0;
}

Menghapus Karakter yang Bukan Digit

Pertahankan hanya karakter digit dari sebuah untaian karakter. Cara ini berguna untuk membersihkan nomor telepon.

#include <stdio.h>
#include <ctype.h>

int main(void) {
    char *s = "(555) 123-4567";
    for (int i = 0; s[i]; i++) {
        if (isdigit((unsigned char)s[i])) putchar(s[i]);
    }
    putchar('\n');
    return 0;
}

atoi secara Manual

Konversikan untaian numerik menjadi bilangan bulat dengan mengakumulasikan setiap digit: kalikan total sementara dengan 10 lalu tambahkan nilai digit tersebut.

#include <stdio.h>
#include <ctype.h>

int my_atoi(const char *s) {
    int n = 0;
    for (int i = 0; isdigit((unsigned char)s[i]); i++) {
        n = n * 10 + (s[i] - '0');
    }
    return n;
}

int main(void) {
    printf("%d\n", my_atoi("427") + 3);
    return 0;
}

Menghitung Kata

Hitung kata dengan mendeteksi peralihan dari spasi kosong ke karakter yang bukan spasi.

#include <stdio.h>
#include <ctype.h>

int main(void) {
    char *s = "the quick brown fox";
    int words = 0, in_word = 0;
    for (int i = 0; s[i]; i++) {
        if (isspace((unsigned char)s[i])) in_word = 0;
        else if (!in_word) { in_word = 1; words++; }
    }
    printf("words = %d\n", words);
    return 0;
}

Menjadikan Huruf Awal Kata Huruf Besar

Jadikan huruf pertama setiap kata sebagai huruf besar dengan mengubah menjadi huruf besar setiap huruf yang mengikuti spasi kosong atau mengawali untaian karakter.

#include <stdio.h>
#include <ctype.h>

int main(void) {
    char s[] = "hello there friend";
    int start = 1;
    for (int i = 0; s[i]; i++) {
        if (isspace((unsigned char)s[i])) start = 1;
        else { if (start) s[i] = toupper(s[i]); start = 0; }
    }
    printf("%s\n", s);
    return 0;
}

Sandi ROT13

ROT13 menggeser setiap huruf sebanyak 13 posisi dan berputar kembali saat mencapai akhir alfabet. Menerapkannya dua kali akan mengembalikan bentuk semula.

#include <stdio.h>
#include <ctype.h>

int main(void) {
    char s[] = "Hello";
    for (int i = 0; s[i]; i++) {
        char c = s[i];
        if (isupper(c)) s[i] = 'A' + (c - 'A' + 13) % 26;
        else if (islower(c)) s[i] = 'a' + (c - 'a' + 13) % 26;
    }
    printf("%s\n", s);
    return 0;
}

Frekuensi Karakter

Hitung seberapa sering karakter tertentu muncul dalam sebuah untaian karakter menggunakan perulangan dan perbandingan sederhana.

#include <stdio.h>

int main(void) {
    char *s = "mississippi";
    char target = 's';
    int count = 0;
    for (int i = 0; s[i]; i++) {
        if (s[i] == target) count++;
    }
    printf("'%c' appears %d times\n", target, count);
    return 0;
}

Pemeriksaan Singkat

Uji keterampilan Anda dalam membuat utilitas karakter.

Ringkasan

Anda telah membuat utilitas karakter yang praktis:

  • Menghitung vokal, kata, dan frekuensi karakter.
  • Membalikkan untaian karakter dan memeriksa palindrom.
  • Mengalihkan dan menjadikan huruf besar-kecil.
  • Menerapkan atoi secara manual dan membuat sandi ROT13.
Gratis untuk memulai

Belajar C dengan tutor AI — gratis

Tulis dan jalankan kode asli di browser kamu, dapatkan bantuan instan dari tutor AI 24/7, dan lanjutkan di mana kamu tinggalkan di web atau aplikasi.

Kursus
39
Pelajaran
144

Pertanyaan yang Sering Diajukan

Apakah pelajaran “Membangun Utilitas Char” gratis?

Ya — teks lengkap “Membangun Utilitas Char” 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 “Membangun Utilitas Char”?

Contoh praktis. 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 4 dari 4.

Berapa lama pelajaran “Membangun Utilitas Char” 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.

Semua pelajaran dalam kursus ini

  1. Karakter sebagai Bilangan Bulat
  2. Pustaka ctype
  3. Membaca Karakter
  4. Membangun Utilitas Char
← Kembali ke C Academy