Format Specifiers in C

Helo di sana, pemrogram yang berhasrat! Hari ini, kita akan menyelam ke dunia yang menarik tentang format specifier di C. Jangan khawatir jika anda belum pernah menulis satu baris kod sebelum ini - saya akan menjadi pemandu yang mesra anda dalam perjalanan yang menarik ini. Pada akhir tutorial ini, anda akan menggunakan format specifier seperti seorang profesional!

C - Format Specifiers

Mengapa Kita Menggunakan Format Specifiers di C?

Bayangkan anda ingin memberitahu kawan anda tentang nombor kesukaan anda. Anda mungkin akan katakan, "Nombor kesukaan saya adalah 7, dan saya suka nombor 3.14." Di dalam pemrograman C, kita perlu satu cara untuk memberitahu komputer tentang jenis informasi yang kita tangani. Itulah di mana format specifier datang ke tempatnya!

Format specifier adalah seperti penterjemah kecil yang membantu program kita memahami jenis data yang kita kerahkan. Mereka sangat berguna apabila kita ingin mencetak nilai atau membaca input dari pengguna.

Format Specifiers dalam Fungsi printf()

Mari kita mula dengan fungsi printf(), yang kita gunakan untuk menunjukkan output. Ini adalah contoh yang simple:

#include <stdio.h>

int main() {
int umur = 25;
printf("Saya berumur %d tahun.\n", umur);
return 0;
}

Dalam kod ini, %d adalah format specifier kami. Ia memberitahu printf() bahwa kita sedang berurusan dengan integer (nombor bulat). Apabila anda menjalankan program ini, ia akan mengeluarkan:

Saya berumur 25 tahun.

Adakah yang keren? %d digantikan oleh nilai umur. Ia seperti sihir, tetapi sebenarnya hanya C melakukan tindakannya!

Format Specifiers dalam Fungsi scanf()

Sekarang, mari kita lihat scanf(), yang kita gunakan untuk mendapatkan input dari pengguna. Ini adalah contoh:

#include <stdio.h>

int main() {
int nombor_kesukaan;
printf("Nombor kesukaan anda adalah apa? ");
scanf("%d", &nombor_kesukaan);
printf("Wah, %d adalah nombor yang bagus!\n", nombor_kesukaan);
return 0;
}

Di sini, kita menggunakan %d lagi, tetapi kali ini ia memberitahu scanf() untuk mengharapkan input integer dari pengguna. & sebelum nombor_kesukaan adalah penting - ia memberitahu C di mana untuk menyimpan input. Jangan bimbang terlalu banyak tentang itu untuk masa ini; kita akan membahasnya lebih detail kemudian.

Jenis Format Specifiers

Ada banyak jenis format specifier di C, masing-masing dirancang untuk jenis data yang spesifik. Mari kita lihat beberapa yang paling umum:

Integer Format Specifiers

Specifier Keterangan Contoh
%d Integer desimal yang ditandatangani 42, -17
%u Integer desimal yang tidak ditandatangani 42
%o Oktal yang tidak ditandatangani 52
%x atau %X Integer heksadesimal yang tidak ditandatangani 2A atau 2a

Lihatlah ini dalam tindakan:

#include <stdio.h>

int main() {
int num = 42;
printf("Desimal: %d\n", num);
printf("Tidak ditandatangani: %u\n", num);
printf("Oktal: %o\n", num);
printf("Heksadesimal: %x\n", num);
return 0;
}

Ini akan mengeluarkan:

Desimal: 42
Tidak ditandatangani: 42
Oktal: 52
Heksadesimal: 2a

Format Titik Berkait

Specifier Keterangan Contoh
%f Titik bergerak desimal 3.14
%e atau %E Notasi ilmiah 3.14e+00 atau 3.14E+00
%g atau %G Gunakan %f atau %e, yang mana yang lebih pendek Berubah

Ini adalah contoh yang menyenangkan:

#include <stdio.h>

int main() {
float pi = 3.14159;
printf("Pi adalah kira-kira %.2f\n", pi);
printf("Dalam notasi ilmiah: %e\n", pi);
return 0;
}

Ini akan memberikan kita:

Pi adalah kira-kira 3.14
Dalam notasi ilmiah: 3.141590e+00

Perhatikan bagaimana kita menggunakan .2 dalam %.2f untuk membatasi jumlah tempat desimal? Itu adalah trik yang keren untuk mengawal presisi!

Format String

Specifier Keterangan Contoh
%s String "Helo, World!"
%c Satu karakter 'A'

Mari kita gunakan ini:

#include <stdio.h>

int main() {
char nama[] = "Alice";
char inisial = 'A';
printf("Helo, %s! Nama anda dimulai dengan %c.\n", nama, inisial);
return 0;
}

Ini akan mengeluarkan:

Helo, Alice! Nama anda dimulai dengan A.

Format Specifiers dalam Fungsi I/O Fail

Format specifier tidak hanya untuk I/O konsole. Mereka juga digunakan dalam fungsi I/O fail seperti fprintf() dan fscanf(). Ini bekerja secara serupa dengan printf() dan scanf(), tetapi dengan fail. Ini adalah contoh yang cepat:

#include <stdio.h>

int main() {
FILE *file = fopen("data.txt", "w");
if (file != NULL) {
int umur = 30;
float tinggi = 1.75;
fprintf(file, "Umur: %d, Tinggi: %.2f\n", umur, tinggi);
fclose(file);
}
return 0;
}

Kod ini membuat fail bernama "data.txt" dan menulis beberapa data yang diformat kepadanya.

Dan itu adalah semua, rakyat! Kita telah membahas dasar-dasar format specifier di C. Ingat, latihan membuat perfect. Cobalah untuk menulis beberapa program menggunakan format specifier yang berbeza. Eksperimen, buat kesilapan, dan belajar darinya. Itu adalah cara terbaik untuk menjadi pemrogram yang hebat!

Sebelum saya menamatkan, ini adalah sedikit joke pemrogram untuk anda: Mengapa pemrogram suka mode gelap? Karena cahaya menarik penyakit! ?

Happy coding, dan may your compile errors be few and your successes many!

(Saat ini, saya hanya menerjemahkan teks asli ke dalam Bahasa Melayu. Jika anda ingin saya untuk menjalankan kod C atau membuat penjelasan tambahan, tolong beritahu saya!)

Credits: Image by storyset