(C++) Pembolehubah. Format output


Pembolehubah

Komputer tidak akan diperlukan jika ia tidak mempunyai keupayaan untuk menyimpan pelbagai maklumat dalam ingatannya dan dapat memproses jenis maklumat yang sama menggunakan algoritma yang sama. Untuk mencipta atur cara yang lebih menarik, seseorang mesti belajar cara menyimpan maklumat dalam ingatan komputer. Pada masa yang sama, kita perlu belajar bagaimana untuk mengakses sel memori komputer. 
Dalam pengaturcaraan, seperti dalam kehidupan, untuk merujuk kepada mana-mana bahagian memori komputer, ia berlaku mengikut nama. Menggunakan nama ini, anda boleh membaca maklumat dan menulisnya di sana.
 
Pembolehubah ialah lokasi dalam memori komputer yang mempunyai nama dan menyimpan beberapa nilai yang sepadan dengan jenis .

Perkataan "pembolehubah" memberitahu kita bahawa nilainya boleh berubah semasa pelaksanaan program.  Apabila nilai pembolehubah baharu disimpan, nilai lama dipadamkan.


Untuk komputer, semua maklumat adalah data dalam ingatannya - set sifar dan satu (secara ringkasnya, sebarang maklumat dalam komputer hanyalah nombor, dan ia memprosesnya dengan cara yang sama). Walau bagaimanapun, kita tahu bahawa integer dan nombor pecahan berfungsi secara berbeza. Oleh itu, setiap bahasa pengaturcaraan mempunyai jenis data yang berbeza, yang diproses menggunakan kaedah yang berbeza.

Contohnya,
integer pembolehubah – taip int (daripada bahasa Inggeris integer – integer), menduduki 4 bait dalam memori;
sebenar pembolehubah yang boleh mempunyai bahagian pecahan (taip float – daripada bahasa Inggeris titik terapung – titik terapung) , menduduki 4 bait dalam ingatan, atau taip double, yang menduduki 8 bait;
aksara (taip char – daripada bahasa Inggeris aksara – aksara), occupy 1 bait dalam ingatan.

Mari cuba tambah beberapa pembolehubah pada program kami.
Sebelum menggunakan pembolehubah, anda perlu memberitahu komputer untuk memperuntukkan ruang dalam memori untuknya. Untuk melakukan ini, pembolehubah mesti diisytiharkan, iaitu, nyatakan jenis nilai yang akan disimpan dan beri nama.
Anda juga boleh menetapkan nilai awal kepadanya jika perlu. 

Contoh
Buka program. #include <iosrtream> menggunakan ruang nama std; utama(){ int a = 6, b; // mengisytiharkan dua pembolehubah jenis integer, // nilai 6 telah segera disimpan ke pembolehubah а. // Pembolehubah b belum ditetapkan kepada nilai awal, // apa yang akan ada dalam ingatan dalam kes ini, kita tidak tahu. }

Kalkulator


Mari cuba menulis kalkulator mudah.
Tugas kami ialah memaparkan beberapa ungkapan aritmetik pada skrin dan membuat komputer mengiranya.
Contohnya: 
5+7=12
Selain itu, bukannya 5 dan 7 mungkin terdapat nombor yang berbeza bergantung pada nilai pembolehubah a dan b dalam program.

Dalam pernyataan output, anda boleh memaparkan bukan sahaja teks, tetapi juga nilai pembolehubah, serta hasil ungkapan aritmetik. Selain itu, urutan keluaran mungkin berbeza. Sebagai contoh, untuk memaparkan ungkapan di atas, anda perlu menulisnya seperti ini: cout << a << "+" << b << "=" << a+b;
Jika kita ingin memaparkan nilai pembolehubah, maka kita hanya perlu menentukan namanya tanpa petikan. Jika kita ingin memaparkan hasil ungkapan aritmetik, maka sudah cukup untuk menulis ungkapan aritmetik dengan betul.
 
Perlu diingat!
Pembolehubah, teks dan ungkapan aritmetik dipisahkan antara satu sama lain dengan <<.
 
*** Mendalam: Perbezaan C***
Dalam rentetan format, bilangan penentu output tidak terhad, perkara utama bagi setiap penentu selepas rentetan format ialah menyenaraikan semua nilai yang dipisahkan dengan koma, yang akan digantikan untuk templat.
Sebagai contoh: printf("%d+%d=%d",a,b,a+b);
Rentetan format mengandungi tiga penentu format output (%d).
Penentukan format - urutan yang dibentuk oleh tanda peratusan pendahuluan (%), yang digunakan untuk menentukan jenis dan format data.

Penentu %d menunjukkan bahawa nilai integer mesti dikeluarkan.  Perintah penggantian adalah langsung.  Itu. bukannya templat pertama %d, nilai pembolehubah a akan dipaparkan, bukannya yang kedua - nilai pembolehubah b dan  bukannya yang ketiga - nilai ungkapan  a+b.

Memasukkan nilai pembolehubah

Agar pengguna dapat menetapkan nilai pembolehubah itu sendiri, adalah perlu untuk dapat memasukkan nilai dari papan kekunci. 
Pernyataan input ditulis seperti ini: cin>> a; Selepas pernyataan ini, data yang dimasukkan daripada papan kekunci disimpan dalam pembolehubah tertentu.
Anda juga boleh menggabungkan beberapa pernyataan cin menjadi satu.

Sebagai contoh, entri: cin>> a; cin>> b; melakukan tindakan yang sama seperti menulis: cin>> a>> b; iaitu, data yang pertama dimasukkan dimasukkan ke dalam pembolehubah a, yang kedua ke dalam pembolehubah b.
 
***Bahan mendalam***
Untuk memasukkan data dari papan kekunci dalam bahasa C, operator input digunakan, yang secara umum mempunyai struktur berikut: scanf("format input", <alamat pembolehubah>);

Format input – ialah rentetan petikan yang menyenaraikan satu atau lebih penentu format.

Sebagai contoh, yang paling biasa digunakan: %d - input integer (int type variable); %f - memasukkan nombor nyata (float type variable);< / pra> %c - Memasukkan aksara tunggal (pembolehubah jenis char). Sebagai contoh: scanf("%d%d", &a, &b); Operator ini meminta nilai dua pembolehubah integer daripada papan kekunci. Nombor pertama yang dimasukkan daripada papan kekunci akan masuk ke dalam pembolehubah  a, yang kedua ke dalam pembolehubah  b.
 
Selepas format input, nama pembolehubah disenaraikan, dipisahkan dengan koma, dengan ikon alamat (&), di mana nilai yang dimasukkan harus disimpan. Nilai pembolehubah sentiasa dimasukkan dengan menyatakan alamat pembolehubah ini. Oleh itu, sebelum nama pembolehubah, anda mesti meletakkan tanda ampersand: &a - alamat pembolehubah a.
Perlu diingat!
Bilangan format input  dan bilangan pembolehubah mesti sepadan!
 

Lebar dan ketepatan medan keluaran
*** Bahan mendalam: untuk mereka yang berminat dengan bahasa C ***
Penentu output tambahan membolehkan anda mengawal output nombor dalam format tertentu.


Lebar medan minimum

Contoh:
%04d  - nombor akan dipaparkan dalam 4 kedudukan, jika terdapat kurang daripada empat digit, maka yang pertama akan menjadi sifar. int a=34; printf("%04d",a); //pada skrin:0 0 3 4    garis bawah diletakkan di sini khusus untuk paparan visual output nombor.   

%4d – yang sama, hanya sebagai ganti sifar akan ada ruang int a=34; printf("%4d",a); //pada skrin: _ _ 3 4


Output dengan ketepatan tertentu

Output dengan ketepatan tertentu digunakan untuk mengeluarkan nombor nyata. Secara lalai, nombor nyata dipaparkan dengan ketepatan sehingga 6 tempat perpuluhan. Tetapi ada kalanya anda perlu memaparkan nombor dengan ketepatan yang berbeza. Dalam kes ini, anda perlu menentukan bilangan tempat kebiasaan untuk diperuntukkan untuk nombor itu sendiri dan berapa banyak selepas titik perpuluhan.
Contohnya,
%9.3f   - nombor nyata akan dipaparkan dalam 9 kedudukan (termasuk kedudukan di bawah titik), dengan tiga aksara selepas titik (pemisah antara integer dan bahagian pecahan ialah titik). dua kali ganda a=34.24356; printf("%9.3f",a); // pada skrin: _ _ _ 3 2 . 2 4 4

Paparkan nilai pembolehubah pada skrin. Penentu output *** Bahan mendalam ***
Bagaimana untuk memaparkan nilai pembolehubah pada skrin?
Untuk melakukan ini, di dalam rentetan format dalam pernyataan output, anda mesti menentukan beberapa templat, sebagai ganti nilai pembolehubah akan dipaparkan.
Templat mana yang hendak digunakan bergantung pada jenis pembolehubah. 
Corak ini dipanggil penentu output dan dibentangkan dalam jadual. Bilangan penentu yang mencukupi diberikan. Tidak perlu menghafal kesemuanya. 
Dalam kebanyakan kes, kami akan menggunakan penentu untuk mengeluarkan integer, nombor nyata, serta aksara dan rentetan. Tetapi anda boleh kembali ke pelajaran ini pada bila-bila masa dan melihat templat yang anda perlukan.
 
Untuk memaparkan pembolehubah seperti short int  pengubah suai h digunakan (contohnya, %hd).
Untuk memaparkan nilai pembolehubah jenis long int, gunakan pengubah suai l (contohnya, %ld).
Pengubah suai L boleh digunakan sebagai awalan sebelum penentu e, f, g. Ini bermakna bahawa nilai jenis double panjang  dipaparkan pada skrin. (cth. %Lf).

 

Kod Format
%c Simbol
%d Integer perpuluhan yang ditandatangani
%i Integer perpuluhan yang ditandatangani
%e Format saintifik (huruf kecil e)
%E Format saintifik (modal E)
%f Apungan sebenar 
%g Bergantung pada format yang lebih pendek, sama ada %e atau %f digunakan
%G Bergantung pada format yang lebih pendek, sama ada %E atau %f digunakan
%o Oktal yang ditandatangani
%s Rentetan aksara
%u Integer perpuluhan tidak ditandatangani
%x Nombor perenambelasan tidak ditandatangani (huruf kecil)
%X Nombor perenambelasan tidak ditandatangani (huruf besar)
%p Indeks
%n Tuding kepada pembolehubah integer. Penentu menyebabkan pembolehubah integer ini diberikan bilangan aksara yang dicetak sebelum ia
%% Tandatangan %