0Pricing
C Academy · Pelajaran

Membaca Karakter

getchar dan putchar.

Membaca Karakter adalah pelajaran C Academy gratis di CoddyKit. Ini adalah pelajaran 3 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.

Membaca Karakter Tunggal

C menyediakan getchar() untuk membaca satu karakter setiap kali dari masukan standar, dan putchar() untuk menulis satu karakter ke keluaran standar.

Keduanya berada dalam <stdio.h>.

#include <stdio.h>

int main(void) {
    putchar('H');
    putchar('i');
    putchar('\n');
    return 0;
}

Dasar-Dasar putchar

putchar(c) menulis karakter c dan mengembalikan karakter yang ditulis, atau EOF jika terjadi kesalahan.

Ini adalah cara paling sederhana untuk mengeluarkan satu byte.

#include <stdio.h>

int main(void) {
    for (char c = 'A'; c <= 'E'; c++) {
        putchar(c);
    }
    putchar('\n');
    return 0;
}

getchar Mengembalikan int

getchar() mengembalikan int, bukan char. Hal ini penting karena fungsi tersebut harus dapat mengembalikan EOF, yaitu nilai yang berbeda dari karakter nyata apa pun.

Selalu simpan hasilnya dalam int.

#include <stdio.h>

int main(void) {
    int c = 'A';
    printf("Stored value: %d\n", c);
    return 0;
}

Apa Itu EOF

EOF berarti akhir berkas. getchar() mengembalikannya ketika tidak ada lagi masukan.

Nilainya biasanya -1. Karena itu, getchar menggunakan int agar nilai tersebut tidak tertukar dengan byte 255.

#include <stdio.h>

int main(void) {
    printf("EOF has value %d\n", EOF);
    return 0;
}

Pola Perulangan Pembacaan

Pola klasik ini membaca karakter hingga EOF. Karena tidak ada masukan interaktif di sini, perulangan langsung berakhir, tetapi inilah bentuk standar yang digunakan.

  • Lakukan penugasan di dalam kondisi.
  • Bandingkan dengan EOF.
#include <stdio.h>

int main(void) {
    int c;
    while ((c = getchar()) != EOF) {
        putchar(c);
    }
    printf("Reached end of input\n");
    return 0;
}

Menghitung Karakter

Tugas yang umum adalah menghitung jumlah karakter yang telah dibaca. Tambahkan nilai pencacah di dalam perulangan pembacaan.

#include <stdio.h>

int main(void) {
    int c;
    long count = 0;
    while ((c = getchar()) != EOF) {
        count++;
    }
    printf("Read %ld characters\n", count);
    return 0;
}

Menggemakan dalam Huruf Besar

Anda dapat mengubah setiap karakter sebelum menulisnya. Di sini, setiap karakter yang dibaca dikonversi menjadi huruf besar menggunakan toupper.

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

int main(void) {
    int c;
    while ((c = getchar()) != EOF) {
        putchar(toupper(c));
    }
    return 0;
}

Menghitung Baris

Menghitung karakter baris baru memberi tahu Anda jumlah baris yang telah dibaca. Uji setiap karakter terhadap '\n'.

#include <stdio.h>

int main(void) {
    int c;
    int lines = 0;
    while ((c = getchar()) != EOF) {
        if (c == '\n') lines++;
    }
    printf("Lines: %d\n", lines);
    return 0;
}

Memasukkan Kembali Char

ungetc(c, stdin) memasukkan satu karakter kembali ke aliran masukan sehingga pembacaan berikutnya mengembalikan karakter tersebut lagi.

Hal ini berguna ketika Anda membaca satu karakter terlalu banyak saat melakukan pemindaian.

#include <stdio.h>

int main(void) {
    ungetc('X', stdin);
    int c = getchar();
    printf("Got back: %c\n", c);
    return 0;
}

getchar vs scanf

getchar memberi Anda kontrol tingkat byte yang presisi, sedangkan scanf mengurai masukan berformat.

Untuk pemrosesan karakter demi karakter seperti pada penyaring dan pemecah token, getchar adalah alat yang tepat.

#include <stdio.h>

int main(void) {
    int c = '5';
    if (c >= '0' && c <= '9') {
        printf("It is a digit: %c\n", c);
    }
    return 0;
}

Kerangka Penyaring Sederhana

Penyaring membaca dari masukan, mengubahnya, lalu menulis hasilnya ke keluaran. Kerangka ini menghapus semua spasi dari aliran masukan.

#include <stdio.h>

int main(void) {
    int c;
    while ((c = getchar()) != EOF) {
        if (c != ' ') {
            putchar(c);
        }
    }
    return 0;
}

Pemeriksaan Singkat

Uji pemahaman Anda tentang pembacaan karakter.

Ringkasan

Anda telah mempelajari cara membaca dan menulis karakter:

  • getchar() membaca satu karakter dan mengembalikan int.
  • putchar(c) menulis satu karakter.
  • EOF menandai akhir masukan; gunakan perulangan while ((c = getchar()) != EOF).
  • ungetc dapat memasukkan kembali karakter ke aliran.

Pertanyaan yang Sering Diajukan

Apakah pelajaran “Membaca Karakter” gratis?

Ya — teks lengkap “Membaca Karakter” 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 “Membaca Karakter”?

getchar dan putchar. 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 3 dari 4.

Berapa lama pelajaran “Membaca Karakter” 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