Pemrograman Dasar
OLEH:
G41160183
GOLONGAN A
Menulis string C ditunjuk oleh format standard output (stdout). Jika format yang mencakup
Format specifier (subsequences dimulai dengan%), argumen tambahan format berikut
diformat dan dimasukkan ke dalam string yang dihasilkan menggantikan penentu masing-
masing.
Secara opsional dapat berisi tertanam Format specifier yang diganti dengan nilai yang ditentukan
dalam argumen tambahan berikutnya dan diformat seperti yang diminta.
Di mana karakter specifier di akhir adalah komponen yang paling signifikan, karena
mendefinisikan jenis dan interpretasi argumen yang sesuai:
c Karakter
n Tidak dicetak.
Format specifier juga dapat berisi sub-specifier: bendera, lebar, .precision dan pengubah (dalam
urutan itu), yang adalah opsional dan ikuti spesifikasi ini:
bendera deskripsi
- Left-membenarkan dalam lebar lapangan diberikan; pembenaran yang tepat adalah default
(lihat lebar sub-specifier).
+ Angkatan ke mendahului hasil dengan plus atau minus tanda (+ atau -) bahkan untuk bilangan
positif. Secara default, hanya angka negatif didahului dengan tanda -.
(Spasi) Jika ada tanda-tanda yang akan ditulis, ruang kosong dimasukkan sebelum nilai.
# Digunakan dengan o, x atau X specifier nilai yang diawali dengan 0, 0x atau 0X masing-
masing untuk nilai yang berbeda dari nol.
Digunakan dengan, A, e, E, f, F, g atau G memaksa output ditulis ke berisi titik desimal bahkan
jika tidak lebih digit ikuti. Secara default, jika tidak ada angka ikuti, tidak ada titik desimal
ditulis.
0 Kiri-bantalan jumlah dengan nol (0) bukannya ruang ketika padding ditentukan (lihat lebar
sub-specifier).
deskripsi lebar
(Jumlah) Minimal jumlah karakter yang akan dicetak. Jika nilai yang akan dicetak lebih pendek
dari nomor ini, hasilnya diisi dengan spasi kosong. Nilai tidak terpotong bahkan jika hasilnya
lebih besar.
* Lebar tidak ditentukan dalam format string, tapi sebagai argumen nilai integer tambahan
sebelum argumen yang harus diformat.
deskripsi .precision
.number Untuk specifier bilangan bulat (d, i, o, u, x, X): presisi menentukan jumlah digit
minimum harus ditulis. Jika nilai yang akan ditulis lebih pendek dari nomor ini, hasilnya
adalah empuk dengan nol terkemuka. nilai tidak dipotong bahkan jika hasilnya lebih panjang.
Sebuah presisi dari 0 berarti bahwa tidak ada karakter yang ditulis untuk nilai 0.
Untuk, A, e, E, f dan F specifier: ini adalah jumlah digit yang akan dicetak setelah titik desimal
(secara default, ini adalah 6).
Untuk g dan specifier G: Ini adalah jumlah maksimum signifikan digit yang akan dicetak.
Untuk s: ini adalah jumlah maksimal karakter yang akan dicetak. Secara default semua karakter
yang dicetak sampai karakter null berakhir ditemui.
Jika periode yang ditentukan tanpa nilai eksplisit untuk presisi, 0 diasumsikan.
. * Presisi ini tidak ditentukan dalam format string, tapi sebagai argumen nilai integer tambahan
sebelum argumen yang harus diformat.
Panjang sub-specifier memodifikasi panjang tipe data. Ini adalah grafik yang menunjukkan jenis
yang digunakan untuk menafsirkan argumen yang sesuai dengan dan tanpa panjang specifier
(jika jenis yang berbeda digunakan, promosi jenis yang tepat atau konversi dilakukan, jika
diijinkan):
specifier
panjang d i u o x X f F e E g G A c s p n
L ganda panjang
Catatan mengenai c specifier: dibutuhkan int (atau wint_t) sebagai argumen, tapi melakukan
konversi yang tepat untuk nilai char (atau wchar_t a) sebelum memformatnya untuk output.
Input:
/ * Printf contoh * /
#include <stdio.h>
int main ()
printf ("Beberapa tinggal akar yang berbeda:% d% x% o% # x% # o \ n", 100, 100, 100, 100,
100);
return 0;
}
Mengedit & Run
Output:
Karakter: A
trik Lebar: 10
Sebuah benang
Scanf
int sscanf (const char * s, const char * Format, ...);
Membaca data dari dan toko mereka sesuai dengan format parameter ke lokasi yang diberikan
oleh argumen tambahan, seakan scanf digunakan, tetapi membaca dari s bukan standard input
(stdin).
Argumen tambahan harus menunjuk ke sudah dialokasikan objek dari jenis yang ditentukan oleh
format specifier yang sesuai mereka dalam format string.
Input
int main ()
{
char sentence []="Rudolph is 12 years old";
char str [20];
int i;
return 0;
}
Gets
char * gets (char * str);
Sebuah karakter null terminating secara otomatis ditambahkan setelah karakter disalin ke str.
Perhatikan bahwa mendapat cukup berbeda dari fgets: tidak hanya mendapat menggunakan stdin
sebagai sumber, tetapi tidak termasuk karakter baris baru berakhir pada string yang
dihasilkan dan tidak memungkinkan untuk menentukan ukuran maksimum untuk str (yang
dapat menyebabkan penyangga overflows).
Input :
/* gets example */
#include <stdio.h>
int main()
{
char string [256];
printf ("Insert your full address: ");
gets (string); // warning: unsafe (see fgets instead)
printf ("Your address is: %s\n",string);
return 0;
}
Puts
int puts (const char * str);
Menulis string C ditunjuk oleh str ke output standar (stdout) dan menambahkan karakter newline
('\ n').
fungsi mulai menyalin dari alamat yang ditentukan (str) hingga mencapai karakter null
terminating ('\ 0'). Ini mengakhiri null-karakter tidak disalin ke sungai.
Perhatikan bahwa menempatkan tidak hanya berbeda dari fputs karena menggunakan stdout
sebagai tujuan, tetapi juga menambahkan karakter newline pada akhir otomatis (yang fputs
tidak).
Input :
/* puts example : hello world! */
#include <stdio.h>
int main ()
{
char string [] = "Hello world!";
puts (string);
}