28 Oktober 2014

C Program - Menghitung Baris

Program berikutnya menghitung baris input. Seperti telah disebutkan di atas, perpustakaan standar memastikan bahwa aliran input teks muncul sebagai urutan baris, masing-masing diakhiri oleh baris baru. Oleh karena itu, menghitung garis hanya menghitung baris:

#include
/* count lines in input */
main()
{
int c, nl;
nl = 0;
while ((c = getchar()) != EOF) if (c == '\n')
++nl; printf("%d\n", nl);
}

Tubuh while sekarang terdiri dari if, yang pada gilirannya mengontrol kenaikan ++ nl. Jika pernyataan menguji kondisi kurung, dan jika kondisi benar, mengeksekusi pernyataan (atau kelompok pernyataan dalam kawat gigi) yang mengikuti. Kami telah kembali menjorok untuk menunjukkan apa yang dikendalikan oleh apa.
double Equals tanda == adalah notasi C untuk `` sama dengan '' (seperti Pascal tunggal = atau Fortran dunia .EQ.).
Simbol ini digunakan untuk membedakan ujian kesetaraan dari = tunggal yang menggunakan C untuk tugas. Sebuah kata dari hati-hati: pendatang baru ke C sesekali menulis = ketika mereka berarti ==. Seperti yang akan kita lihat dalam Bab 2, hasilnya biasanya ekspresi hukum, sehingga Anda akan mendapatkan tidak ada peringatan.
Sebuah karakter yang ditulis antara tanda kutip tunggal merupakan nilai integer sama dengan nilai numerik dari karakter dalam set karakter mesin. Ini disebut konstanta karakter, meskipun hanya cara lain untuk menulis bilangan bulat kecil. Jadi, misalnya, 'A' adalah konstanta karakter; dalam karakter ASCII set nilainya adalah 65, representasi internal dari karakter A. Tentu saja, 'A' yang akan disukai lebih dari 65: artinya jelas, dan itu tidak tergantung dari set karakter tertentu.
Urutan escape yang digunakan dalam konstanta string juga hukum dalam konstanta karakter, jadi '\ n' singkatan dari nilai karakter baris baru, yang 10 di ASCII. Anda harus mencatat dengan seksama bahwa '\ n' adalah karakter tunggal, dan dalam ekspresi hanya sebuah integer; di sisi lain, '\ n' adalah konstanta string yang terjadi hanya berisi satu karakter. Topik string dibandingkan karakter dibahas lebih lanjut dalam artikel lainnya.

Latihan. Tulis program untuk menghitung blank/kosong, tab, dan baris baru.
Latihan. Tulis program untuk menyalin input ke output-nya, menggantikan setiap string dari satu atau lebih kosong dengan kosong tunggal.

Latihan. Tulis program untuk menyalin input ke output-nya, menggantikan setiap tab dengan \ t, masing-masing backspace oleh \ b, dan masing-masing backslash oleh \\. Hal ini membuat tab dan backspaces terlihat dalam suatu cara yang jelas.

C Program - Menghitung karakter

#include
/* count characters in input; 1st version */ main()
{
long nc;
nc = 0;
while (getchar() != EOF)++nc;
printf("%ld\n", nc);
}

pernyataan
++ nc;
menyajikan operator baru, ++, yang berarti kenaikan per satu. Anda malah bisa menulis nc = nc + 1 tapi ++ nc lebih ringkas dan sering lebih efisien. Ada operator yang sesuai - untuk pengurangan dengan 1. Operator ++ dan - dapat berupa operator prefix (++ nc) atau operator postfix (nc ++); dua bentuk ini memiliki nilai yang berbeda dalam ekspresi, seperti akan ditunjukkan dalam artikel lain, tapi ++ nc dan nc ++ kedua nc kenaikan. Untuk saat ini kami akan akan menempel pada bentuk awalan.
Program menghitung karakter terakumulasi hitungan dalam variabel panjang bukan int. bilangan bulat panjang setidaknya 32 bit. Meskipun pada beberapa mesin, int dan panjang adalah ukuran yang sama, pada orang lain int adalah 16 bit, dengan nilai maksimum 32.767, dan itu akan mengambil relatif sedikit masukan meluap int counter. Spesifikasi konversi% ld Ia minta agar printf bahwa argumen yang sesuai adalah bilangan bulat panjang.
Dimungkinkan untuk mengatasi angka yang lebih besar dengan menggunakan ganda (float presisi ganda). Kami juga akan menggunakan untuk pernyataan bukannya sementara, untuk menggambarkan cara lain untuk menulis loop.

#include
/* count characters in input; 2nd version */ main()
{
double nc;
for (nc = 0; gechar() != EOF; ++nc);
printf("%.0f\n", nc);
}

printf menggunakan %f untuk kedua float dan double. %.0f Menekan pencetakan titik desimal dan bagian fraksi, yang adalah nol.
Tubuh ini untuk loop kosong, karena semua pekerjaan dilakukan dalam tes dan kenaikan bagian. Tapi aturan tata bahasa dari C akan meminta untuk pernyataan memiliki tubuh. Koma terisolasi, yang disebut pernyataan null, ada untuk memenuhi kebutuhan itu. Kami meletakkannya di baris terpisah untuk membuatnya terlihat.

Sebelum kita meninggalkan karakter program menghitung, amati bahwa jika input tidak mengandung karakter, sementara atau untuk tes gagal pada panggilan pertama untuk getchar, dan program menghasilkan nol, jawaban yang benar. Hal ini penting. Salah satu hal yang menyenangkan tentang sementara dan adalah bahwa mereka menguji di bagian atas loop, sebelum melanjutkan dengan tubuh. Jika tidak ada hubungannya, tidak ada yang dilakukan, bahkan jika itu berarti tidak akan melalui tubuh lingkaran. Program harus bertindak cerdas ketika diberi masukan nol-panjang. Sementara dan untuk laporan membantu memastikan bahwa program melakukan hal-hal yang wajar dengan kondisi batas.

KLIPING KERAGAMAN BUDAYA INDONESIA 5 PROVINSI

Keragaman Budaya Indonesia 5 Provinsi - Indonesia sangatlah kaya dengan keaneka ragaman istiadat pun budaya, tentu saja hal tersebut disebab...