Apa itu Char?
Char adalah jenis data C ++ yang direka untuk penyimpanan huruf. Char adalah akronim untuk watak. Ini adalah jenis data tidak terpadu, yang bermaksud nilainya disimpan sebagai bilangan bulat. Arang memerlukan ukuran memori 1 bait. Ia juga menyimpan satu watak.
Dalam tutorial C ++ ini, anda akan belajar:
- Apa itu Char?
- Apa itu ASCII?
- Akuan Char
- Sintaks:
- Mencetak Nilai ASCII
- Nilai Mencetak
- Memasukkan Huruf
- Menukar Watak ke Rentetan
Apa itu ASCII?
Nilai char ditafsirkan sebagai watak ASCII. Ini serupa dengan bagaimana nilai Boolean ditafsirkan sebagai benar atau salah. ASCII adalah singkatan dari American Standard Code for Information Interchange. Ia mendefinisikan cara tertentu untuk mewakili aksara Inggeris sebagai angka.
Nombornya berkisar antara 0 dan 127. Contohnya, watak 'a' bersamaan dengan kod ASCII 97.
Akuan Char
Untuk menyatakan pemboleh ubah char dalam C ++, kami menggunakan kata kunci char. Ini harus diikuti dengan nama pemboleh ubah. Pemboleh ubah dapat diinisialisasi pada saat pengisytiharan. Nilai pemboleh ubah harus dimasukkan dalam tanda petik tunggal.
Sintaks:
Berikut adalah sintaks untuk pengisytiharan char di C ++:
char variable-name;
Nama pemboleh ubah adalah nama yang akan diberikan kepada pemboleh ubah.
Sekiranya suatu nilai akan ditetapkan pada masa pengisytiharan, anda boleh menggunakan sintaks ini:
char variable-name = 'value';
- Nama pemboleh ubah adalah nama pemboleh ubah char.
- Nilai adalah nilai yang akan diberikan kepada pemboleh ubah char.
Contoh 1:
#includeusing namespace std;int main() {char grade = 'B';cout << "I scored a: "< Pengeluaran:
Berikut adalah tangkapan skrin kod:
Penjelasan Kod:
- Termasuk fail header iostream dalam kod kami untuk menggunakan fungsinya.
- Termasuk ruang nama std dalam kod kami untuk menggunakan kelasnya tanpa memanggilnya.
- Memanggil fungsi utama (). Logik program harus ditambahkan dalam badan fungsi ini.
- Menyatakan pemboleh ubah watak bernama gred. Pemboleh ubah juga telah diberi nilai B. Perhatikan nilai pemboleh ubah tersebut dilampirkan dalam tanda petik tunggal.
- Cetak nilai gred pemboleh ubah bersama teks lain di konsol.
- Program mesti mengembalikan nilai setelah berjaya diselesaikan.
- Akhir badan utama () fungsi.
Mencetak Nilai ASCII
Seperti yang dinyatakan di atas, setiap watak ditafsirkan sebagai watak ASCII. Anda mungkin boleh mendapatkan nilai ASCII bagi setiap watak. Anda hanya menyerahkan watak ke fungsi int (). Proses ini dipanggil pemutus jenis. Mari tunjukkan ini:
Contoh 2:
#includeusing namespace std;int main() {char ch;cout << "Enter any character: ";cin >> ch;cout << "The ASCII Value of " << ch << " is " << int(ch);return 0;} Pengeluaran:
![]()
Berikut adalah tangkapan skrin kod:
Penjelasan Kod:
- Termasuk fail header iostream ke dalam kod kami untuk menggunakan fungsinya.
- Termasuk ruang nama std ke dalam kod kami untuk menggunakan kelasnya tanpa memanggilnya.
- Memanggil fungsi utama (). Logik program harus ditambahkan dalam badan fungsi ini.
- Menyatakan pemboleh ubah char bernama ch.
- Cetak sebilangan teks pada konsol. Teks meminta pengguna memasukkan nilai bagi pemboleh ubah ch.
- Baca input pengguna dari papan kekunci dan simpan dalam pemboleh ubah ch.
- Cetak sebilangan teks pada konsol. Teks akan merangkumi watak yang anda masukkan untuk pemboleh ubah ch, nilai ASCII watak ini, dan teks lain.
- Program mesti mengembalikan nilai setelah berjaya diselesaikan.
- Akhir badan utama () fungsi.
Nilai Mencetak
Dengan nilai ASCII, penyusun C ++ dapat mengembalikan watak yang sesuai. Anda menyatakan pemboleh ubah char dan memberikannya nilai integer. Ia akan ditukar kepada nilai watak yang sepadan.
Contoh 3:
#includeusing namespace std;int main() {char x = 64, y = 66, z = 71;cout << x;cout << y;cout << z;return 0;} Pengeluaran:
Berikut adalah tangkapan skrin kod:
Penjelasan Kod:
- Termasuk fail header iostream ke dalam kod. Kami kemudian akan menggunakan fungsinya tanpa mendapat kesalahan.
- Sertakan ruang nama std ke dalam kod. Kami akan menggunakan kelasnya tanpa menyebutnya.
- Memanggil fungsi utama (). Logik program harus masuk ke dalam bahagian fungsi ini.
- Menyatakan tiga pemboleh ubah char x, y, dan z. Ketiganya telah diberikan nilai integer 65, 66, dan 67. Ini akan dianggap sebagai nilai ASCII untuk watak.
- Cetak nilai pemboleh ubah x pada konsol. Oleh kerana x dinyatakan sebagai char, char dengan nilai ASCII 65 akan dikembalikan, iaitu, A.
- Cetak nilai pemboleh ubah y pada konsol. Oleh kerana y dinyatakan sebagai char, char dengan nilai ASCII 66 akan dikembalikan, yaitu, B.
- Cetak nilai pemboleh ubah z pada konsol. Oleh kerana z dinyatakan sebagai char, char dengan nilai ASCII 67 akan dikembalikan, iaitu, C.
- Program mesti mengembalikan nilai setelah berjaya diselesaikan.
- Bahagian akhir fungsi utama ().
Memasukkan Huruf
Kita dapat menggunakan fungsi std :: cin untuk membaca char yang dimasukkan oleh pengguna melalui papan kekunci. Std :: cin akan membolehkan anda memasukkan banyak aksara. Walau bagaimanapun, pemboleh ubah watak hanya boleh memuatkan satu watak. Ini bermaksud hanya watak pertama yang dimasukkan akan diekstrak dan disimpan dalam pemboleh ubah watak. Selebihnya akan tinggal di buffer yang digunakan oleh std :: cin. Untuk mengekstraknya, buat panggilan seterusnya ke std :: cin.
Contoh 4:
#includeusing namespace std;int main() {cout << "Type a sequence of characters: ";char ch;cin >> ch;cout <<"The ASCII code of "<< ch << " is "<< int(ch) << '\n';cin >> ch;cout <<"The ASCII code of " << ch << " is "<< int(ch) << '\n';return 0;} Pengeluaran:
![]()
Berikut adalah tangkapan skrin kod:
![]()
Penjelasan Kod:
- Termasuk fail header iostream dalam kod kami untuk menggunakan fungsinya.
- Sertakan ruang nama std dalam kod kami untuk menggunakan kelasnya tanpa memanggilnya.
- Memanggil fungsi utama (). Logik program harus ditambahkan dalam badan fungsi ini.
- Cetak sebilangan teks pada konsol.
- Menyatakan pemboleh ubah watak bernama ch.
- Baca input pengguna dari papan kekunci. Input akan disimpan dalam pemboleh ubah ch. Oleh kerana pengguna akan menaip urutan watak seperti abc, hanya watak pertama, a, yang akan disimpan dalam pemboleh ubah ch.
- Mencetak watak pertama yang dimasukkan, kod ASCII dan teks lain di konsol. Kod ASCII ditentukan dengan meneruskan pemboleh ubah watak ke fungsi int ().
- Baca watak seterusnya yang dimasukkan oleh pengguna. Pengguna tidak akan diminta memasukkan watak baru. Ia akan membaca watak kedua yang dimasukkan, iaitu, b.
- Mencetak watak kedua yang dimasukkan, kod ASCII dan teks lain di konsol. Kod ASCII ditentukan dengan meneruskan pemboleh ubah watak ke fungsi int ().
- Program mesti mengembalikan nilai setelah berjaya diselesaikan.
- Akhir badan utama () fungsi.
Menukar Watak ke Rentetan
Terdapat beberapa cara yang dapat kita gunakan untuk menukar watak menjadi rentetan.
Mari kita bincangkan mereka:
# 1: Menggunakan Konstruktor yang diberikan oleh String Class
Ini dapat dilakukan dengan menggunakan sintaks berikut:
string st(int n,char x);Parameter n menunjukkan ukuran rentetan yang akan dihasilkan.
Parameter x adalah watak untuk ditukar menjadi rentetan.
Fungsi mengembalikan rentetan.
Contoh 5:
#include#include using namespace std;int main() {string st(1, 'C');cout << "The resulting string is : " << st;return 0;} Pengeluaran:
Berikut adalah tangkapan skrin kod:
Penjelasan Kod:
- Termasuk fail header iostream dalam kod kami untuk menggunakan fungsinya.
- Sertakan fail tajuk rentetan dalam kod kami untuk menggunakan fungsinya.
- Sertakan ruang nama std dalam kod kami untuk menggunakan kelasnya tanpa memanggilnya.
- Memanggil fungsi utama (). Logik program harus ditambahkan dalam badan fungsi ini.
- Tukarkan watak "C" menjadi rentetan panjang 1 dan tetapkan rentetan yang dihasilkan kepada pemboleh ubah st.
- Cetak nilai rentetan pada konsol bersama teks lain.
- Program mesti mengembalikan nilai setelah berjaya diselesaikan.
- Akhir badan utama () fungsi.
# 2) Menggunakan std :: string Operator = dan + =
Pengendali = dan + = sudah dibebani aksara. Keduanya dapat digunakan untuk mengubah watak tertentu menjadi rentetan.
Contoh 6:
#include#include using namespace std;int main() {string st;char b = 'B';st = 'A';st += b;cout << "The resulting string is : " << st;return 0;} Pengeluaran:
Berikut adalah tangkapan skrin kod:
Penjelasan Kod:
- Sertakan fail tajuk iostream dalam kod kami untuk menggunakan fungsinya.
- Sertakan fail tajuk rentetan dalam kod kami untuk menggunakan fungsinya.
- Sertakan ruang nama std dalam kod kami untuk menggunakan kelasnya tanpa memanggilnya.
- Memanggil fungsi utama (). Logik program harus ditambahkan dalam badan fungsi ini.
- Buat pemboleh ubah rentetan bernama st.
- Buat watak bernama b dengan nilai B.
- Berikan nilai A pada rentetan bernama st.
- Gunakan operator + = untuk menukar watak menjadi rentetan.
- Cetak nilai rentetan pada konsol bersama teks lain.
- Program mesti mengembalikan nilai setelah berjaya diselesaikan.
- Akhir badan utama () fungsi.
# 3: Menggunakan kaedah std :: string
Kelas std :: string dilengkapi dengan banyak fungsi yang terlalu banyak yang dapat membantu anda menukar watak menjadi rentetan.
Ia merangkumi:
- menolak kembali
Fungsi ini memberikan watak tertentu ke hujung rentetan. Terlalu banyak untuk watak.
Ia memerlukan sintaks berikut:
void push_back(char ch)Parameter ch adalah watak yang akan diubah menjadi string.
- tambahkan
Ia memberikan banyak salinan watak tertentu ke rentetan.
Fungsi tersebut mengambil sintaks berikut:
string& append(size_t n,char ch)Parameter n menunjukkan masa watak akan ditambahkan.
Parameter ch adalah watak untuk ditambahkan ke rentetan.
- memberi
Fungsi ini menggantikan kandungan rentetan semasa dengan n salinan watak yang ditentukan.
Ia memerlukan sintaks berikut:
string& assign(size_t n,char ch);Parameter n menunjukkan jumlah salinan untuk watak tersebut.
Parameter ch adalah watak untuk disalin ke dalam rentetan.
- masukkan
Fungsi sisipan memasukkan n salinan watak pada posisi awal rentetan, seperti yang ditentukan dalam argumen.
Ia memerlukan sintaks berikut:
string& insert(size_t p,size_t n,char ch);Parameter p menunjukkan kedudukan dari awal di mana watak akan dimasukkan.
Parameter n menunjukkan jumlah salinan untuk watak tersebut.
Parameter ch adalah watak yang akan dimasukkan dalam rentetan.
Contoh 7:
#include#include using namespace std;int main() {string st;st.push_back('A');cout << "push_back A returns : " << st << endl;st = "";st.append(1, 'C');cout << "append C returns : " << st << endl;st = "";st.assign(1, 'D');cout << "assign D returns : " << st << endl;st.insert(0, 1, 'E');cout << "insert single character returns : " << st << endl;return 0;} Pengeluaran:
Berikut adalah tangkapan skrin kod:
- Sertakan fail tajuk iostream dalam kod kami untuk menggunakan fungsinya.
- Sertakan fail tajuk rentetan dalam kod kami untuk menggunakan fungsinya.
- Sertakan ruang nama std dalam kod kami untuk menggunakan kelasnya tanpa memanggilnya.
- Memanggil fungsi utama (). Logik program harus ditambahkan dalam badan fungsi ini.
- Buat pemboleh ubah rentetan bernama st.
- Berikan watak A ke hujung rentetan.
- Cetak nilai rentetan pada konsol bersama teks lain. Endl (garisan akhir) menggerakkan kursor ke baris seterusnya.
- Tetapkan nilai rentetan ke kosong.
- Tugaskan watak tunggal C pada rentetan bernama st.
- Cetak nilai rentetan pada konsol bersama teks lain. Endl (garisan akhir) menggerakkan kursor ke baris seterusnya.
- Tetapkan nilai rentetan ke kosong.
- Gantikan kandungan untuk rentetan dengan watak tunggal D.
- Cetak nilai rentetan pada konsol bersama teks lain. Endl (garisan akhir) menggerakkan kursor ke baris seterusnya.
- Masukkan watak tunggal E ke rentetan bernama st dari indeks pertamanya.
- Cetak nilai rentetan pada konsol bersama teks lain. Endl (garisan akhir) menggerakkan kursor ke baris seterusnya.
- Program mesti mengembalikan nilai setelah berjaya diselesaikan.
- Akhir badan utama () fungsi.
# 4: Menggunakan std :: stringstream
Untuk menggunakan kelas ini untuk menukar watak ke rentetan, masukkan watak ke dalam aliran.
Mereka akan ditulis ke tali.
Contoh 8:
#include#include #include using namespace std;int main() {string st;stringstream myst;myst << 'A';myst >> st;cout << "The conversion of the single character returns the string: " << st;return 0;} Pengeluaran:
Berikut adalah tangkapan skrin kod:
Penjelasan Kod:
- Sertakan fail tajuk iostream dalam kod kami untuk menggunakan fungsinya.
- Sertakan fail tajuk rentetan dalam kod kami untuk menggunakan fungsinya.
- Sertakan fail header sstream dalam kod kami untuk menggunakan fungsinya.
- Sertakan ruang nama std dalam kod kami untuk menggunakan kelasnya tanpa memanggilnya.
- Memanggil fungsi utama (). Logik program harus ditambahkan dalam badan fungsi ini.
- Buat pemboleh ubah rentetan bernama st.
- Buat pemboleh ubah aliran bernama myst.
- Masukkan watak A ke dalam objek aliran bernama myst.
- Tukarkan objek aliran menjadi rentetan.
- Cetak nilai rentetan pada konsol bersama teks lain. Endl (garisan akhir) menggerakkan kursor ke baris seterusnya.
- Program mesti mengembalikan nilai setelah berjaya diselesaikan.
- Akhir badan utama () fungsi.
Ringkasan:
- Char adalah jenis data C ++ yang digunakan untuk penyimpanan huruf.
- C ++ Char adalah jenis data integral, yang bermaksud nilainya disimpan sebagai bilangan bulat.
- Ia menempati ukuran memori 1 bait.
- C ++ Char hanya menyimpan watak tunggal.
- Nilai char ditafsirkan sebagai watak ASCII.
- ASCII adalah singkatan dari American Standard Code for Information Interchange.
- Ia menyatakan cara khusus untuk mewakili aksara Inggeris dalam bentuk angka.
- Untuk melihat nilai ASCII watak, kami meneruskannya ke fungsi int ().
- Untuk melihat nilai char ASCII yang sesuai, kami mendefinisikan ASCII sebagai watak.