C++ Тип даних Char із прикладами
Що таке Чар?
Чар є a C++ тип даних, призначений для зберігання листів. Char — це абревіатура буквено-цифрового символу. Це інтегральний тип даних, тобто значення зберігається як ціле число. Розмір пам'яті char становить 1 байт. Він також зберігає один символ.
Що таке ASCII?
Значення char інтерпретується як символ ASCII. Це подібно до того, як логічні значення інтерпретуються як істинні чи хибні. ASCII — це абревіатура американського стандартного коду для обміну інформацією. Він визначає певний спосіб представлення англійських символів у вигляді чисел.
Числа коливаються від 0 до 127. Наприклад, символ «a» еквівалентний коду ASCII 97.
Оголошення Char
Оголосити a char змінна в C++, ми використовуємо ключове слово char. Після цього має слідувати ім’я змінної. Змінна може бути ініціалізована під час оголошення. Значення змінної має бути взято в одинарні лапки.
синтаксис
Ось синтаксис для оголошення char у C++:
char variable-name;
Ім'я змінної - це ім'я, яке буде присвоєно змінній.
Якщо значення має бути призначено під час оголошення, ви можете використовувати цей синтаксис:
char variable-name = 'value';
- Ім'я змінної - це ім'я змінної char.
- Значення — це значення, яке буде присвоєно змінній char.
Приклад 1:
#include <iostream> using namespace std; int main() { char grade = 'B'; cout << "I scored a: "<<grade; return 0; }
вихід:
Ось скріншот коду:
Пояснення коду:
- Включення файлу заголовка iostream у наш код для використання його функцій.
- Включення простору імен std у наш код, щоб використовувати його класи без його виклику.
- Виклик функції main(). Логіку програми слід додати в тіло цієї функції.
- Оголошіть символьну змінну з іменем grade. Змінній також присвоєно значення B. Зверніть увагу, що значення змінної взято в одинарні лапки.
- Надрукуйте значення змінної оцінки поряд з іншим текстом на консолі.
- Після успішного завершення програма повинна повернути значення.
- Кінець тіла функції main().
Друк значення ASCII
Як зазначено вище, кожен символ інтерпретується як символ ASCII. Ви можете отримати значення ASCII будь-якого символу. Ви просто передаєте символ у функцію int(). Цей процес називається приведенням типу. Давайте продемонструємо це:
Приклад 2:
#include <iostream> using namespace std; int main() { char ch; cout << "Enter any character: "; cin >> ch; cout << "The ASCII Value of " << ch << " is " << int(ch); return 0; }
вихід:
Ось скріншот коду:
Пояснення коду:
- Включення файлу заголовка iostream у наш код, щоб використовувати його функції.
- Включення простору імен std у наш код, щоб використовувати його класи без його виклику.
- Виклик функції main(). Логіку програми слід додати в тіло цієї функції.
- Оголошіть змінну char з іменем ch.
- Надрукуйте текст на консолі. Текст просить користувача ввести значення для змінної ch.
- Зчитувати введені користувачем дані з клавіатури та зберігати їх у змінній ch.
- Надрукуйте текст на консолі. Текст міститиме символ, який ви ввели для змінної ch, значення ASCII цього символу та інший текст.
- Після успішного завершення програма повинна повернути значення.
- Кінець тіла функції main().
Друк значення символу
Якщо задано значення ASCII, C++ компілятор може повернути відповідний символ. Ви оголошуєте змінну char і присвоюєте їй ціле значення. Його буде перетворено на відповідне значення символу.
Приклад 3:
#include <iostream> using namespace std; int main() { char x = 64, y = 66, z = 71; cout << x; cout << y; cout << z; return 0; }
вихід:
Ось скріншот коду:
Пояснення коду:
- Включення файлу заголовка iostream у код. Потім ми будемо використовувати його функції без помилок.
- Включіть простір імен std у код. Ми будемо використовувати його класи, не викликаючи його.
- Виклик функції main(). Логіка програми повинна входити в тіло цієї функції.
- Оголошіть три змінні char x, y та z. Цьому трьом було призначено цілі числа 65, 66 і 67. Вони розглядатимуться як значення ASCII для символів.
- Виведіть на консоль значення змінної x. Оскільки x було оголошено як char, буде повернено char зі значенням ASCII 65, тобто A.
- Виведіть на консоль значення змінної y. Оскільки y було оголошено як char, буде повернено char із значенням ASCII 66, тобто B.
- Виведіть на консоль значення змінної z. Оскільки z було оголошено як char, буде повернено char зі значенням ASCII 67, тобто C.
- Після успішного завершення програма повинна повернути значення.
- Кінець тіла функції main().
Введення символів
Ми можемо використовувати функцію std::cin, щоб прочитати символ, введений користувачем за допомогою клавіатури. std::cin дозволить вам ввести багато символів. Однак символьна змінна може містити лише один символ. Це означає, що лише перший введений символ буде вилучено та збережено у змінній character. Решта залишиться в буфері, який використовує std::cin. Щоб отримати його, зробіть наступні виклики std::cin.
Приклад 4:
#include <iostream> using 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; }
вихід:
Ось скріншот коду:
Пояснення коду:
- Включення файлу заголовка iostream у наш код для використання його функцій.
- Включіть простір імен std у наш код, щоб використовувати його класи без його виклику.
- Виклик функції main(). Логіку програми слід додати в тіло цієї функції.
- Надрукуйте текст на консолі.
- Оголошіть символьну змінну з іменем ch.
- Читання введених користувачем даних з клавіатури. Вхідні дані зберігатимуться у змінній ch. Оскільки користувач буде вводити послідовність символів, наприклад abc, лише перший символ, a, буде зберігатися в змінній ch.
- Друк першого введеного символу, його коду ASCII та іншого тексту на консолі. Код ASCII визначається передачею символьної змінної функції int().
- Прочитайте наступний символ, який ввів користувач. Користувачеві не потрібно буде вводити новий символ. Замість цього буде прочитано другий введений символ, тобто b.
- Друк другого введеного символу, його коду ASCII та іншого тексту на консолі. Код ASCII визначається передачею символьної змінної функції int().
- Після успішного завершення програма повинна повернути значення.
- Кінець тіла функції main().
Перетворення символу в рядок
Існує кілька способів, за допомогою яких ми можемо конвертувати символи струни.
Давайте обговоримо їх:
#1: Використання конструктора, заданого класом String
Це можна зробити за допомогою такого синтаксису:
string st(int n,char x);
Параметр n позначає розмір рядка, який має бути згенерований.
Параметр x — це символ, який потрібно перетворити на рядок.
Функція повертає рядок.
Приклад 5:
#include<iostream> #include <string> using namespace std; int main() { string st(1, 'C'); cout << "The resulting string is : " << st; return 0; }
вихід:
Ось скріншот коду:
Пояснення коду:
- Включення файлу заголовка iostream у наш код для використання його функцій.
- Включіть файл заголовка рядка в наш код, щоб використовувати його функції.
- Включіть простір імен std у наш код, щоб використовувати його класи без його виклику.
- Виклик функції main(). Логіку програми слід додати в тіло цієї функції.
- Перетворіть символ «C» на рядок довжиною 1 і призначте отриманий рядок змінній st.
- Виведіть значення рядка st на консолі поряд з іншим текстом.
- Після успішного завершення програма повинна повернути значення.
- Кінець тіла функції main().
#2) Використання std::string Operators = і +=
Оператори = і += вже перевантажені символами. Ці два можна використовувати для перетворення певного символу в рядок.
Приклад 6:
#include<iostream> #include <string> using namespace std; int main() { string st; char b = 'B'; st = 'A'; st += b; cout << "The resulting string is : " << st; return 0; }
вихід:
Ось скріншот коду:
Пояснення коду:
- Включіть файл заголовка iostream у наш код, щоб використовувати його функції.
- Включіть файл заголовка рядка в наш код, щоб використовувати його функції.
- Включіть простір імен std у наш код, щоб використовувати його класи без його виклику.
- Виклик функції main(). Логіку програми слід додати в тіло цієї функції.
- Створіть рядкову змінну з іменем st.
- Створіть символ з іменем b зі значенням B.
- Призначте значення A рядку з назвою st.
- Використовуйте оператор += для перетворення символів у рядок.
- Виведіть значення рядка st на консолі поряд з іншим текстом.
- Після успішного завершення програма повинна повернути значення.
- Кінець тіла функції main().
#3: Використання методів std::string
Клас std::string містить багато перевантажених функцій, які можуть допомогти вам перетворити символи на рядки.
Вони включають в себе:
- відсунути Ця функція призначає певний символ до кінця рядка. Він перевантажений для символів. Він приймає такий синтаксис:
void push_back(char ch)
Параметр ch - це символ, який потрібно змінити на рядок.
- додавати Вона призначає багато копій певного символу рядку. Функція має такий синтаксис:
string& append(size_t n,char ch)
Параметр n позначає кількість разів, коли символ буде додано.
Параметр ch — це символ, який додається до рядка.
- призначати Ця функція замінює поточний вміст рядка на n копій зазначеного символу. Вона приймає такий синтаксис:
string& assign(size_t n,char ch);
Параметр n позначає загальну кількість копій для символу.
Параметр ch — це символ, який потрібно скопіювати в рядок.
- вставити Функція вставки вставляє n копій символу в початкову позицію рядка, як зазначено в аргументах. Він приймає такий синтаксис:
string& insert(size_t p,size_t n,char ch);
Параметр p позначає позицію від початку, куди буде вставлено символи.
Параметр n позначає загальну кількість копій для символу.
Параметр ch - це символ, який потрібно вставити в рядок.
Приклад 7:
#include<iostream> #include <string> 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; }
вихід:
Ось скріншот коду:
- Включіть файл заголовка iostream у наш код, щоб використовувати його функції.
- Включіть файл заголовка рядка в наш код, щоб використовувати його функції.
- Включіть простір імен std у наш код, щоб використовувати його класи без його виклику.
- Виклик функції main(). Логіку програми слід додати в тіло цієї функції.
- Створіть рядкову змінну з іменем st.
- Призначте символ A до кінця рядка.
- Виведіть значення рядка st на консолі поряд з іншим текстом. Endl (кінцевий рядок) переміщує курсор до наступного рядка.
- Встановіть значення рядка st порожнім.
- Призначте один символ C до рядка з іменем st.
- Виведіть значення рядка st на консолі поряд з іншим текстом. Endl (кінцевий рядок) переміщує курсор до наступного рядка.
- Встановіть значення рядка st порожнім.
- Замініть вміст для рядка st одним символом D.
- Виведіть значення рядка st на консолі поряд з іншим текстом. Endl (кінцевий рядок) переміщує курсор до наступного рядка.
- Вставте один символ E у рядок з іменем st з його першого індексу.
- Виведіть значення рядка st на консолі поряд з іншим текстом. Endl (кінцевий рядок) переміщує курсор до наступного рядка.
- Після успішного завершення програма повинна повернути значення.
- Кінець тіла функції main().
#4: Використання std::stringstream
Щоб використовувати цей клас для перетворення символу в рядок, вставте символ у потік.
Вони будуть записані в рядок.
Приклад 8:
#include<iostream> #include <string> #include <sstream> 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; }
вихід:
Ось скріншот коду:
Пояснення коду:
- Включіть файл заголовка iostream у наш код, щоб використовувати його функції.
- Включіть файл заголовка рядка в наш код, щоб використовувати його функції.
- Включіть файл заголовка sstream у наш код, щоб використовувати його функції.
- Включіть простір імен std у наш код, щоб використовувати його класи без його виклику.
- Виклик функції main(). Логіку програми слід додати в тіло цієї функції.
- Створіть рядкову змінну з іменем st.
- Створіть змінну потоку з іменем myst.
- Вставте символ A в об’єкт потоку під назвою myst.
- Перетворіть об'єкт потоку в рядок.
- Виведіть значення рядка st на консолі поряд з іншим текстом. Endl (кінцевий рядок) переміщує курсор до наступного рядка.
- Після успішного завершення програма повинна повернути значення.
- Кінець тіла функції main().
Підсумки
- Символ - це a C++ тип даних, який використовується для зберігання листів.
- C++ Char є інтегральним типом даних, тобто значення зберігається як ціле число.
- Він займає пам'ять розміром 1 байт.
- C++ Char зберігає лише один символ.
- Значення символів інтерпретуються як символи ASCII.
- ASCII — це абревіатура американського стандартного коду для обміну інформацією.
- У ньому вказується конкретний спосіб представлення англійських символів у формі чисел.
- Щоб побачити значення ASCII символу, ми передаємо його у функцію int().
- Щоб побачити відповідне значення char для значення ASCII, ми визначаємо ASCII як символ.