C++ Тип данных Char с примерами
Что такое Чар?
Чар - это C++ Тип данных, предназначенный для хранения букв. Char — это сокращение от алфавитно-цифрового символа. Это целочисленный тип данных, то есть значение хранится как целое число. Char занимает объем памяти в 1 байт. Он также хранит один символ.
Что такое ASCII?
Значение char интерпретируется как символ ASCII. Это похоже на то, как логические значения интерпретируются как истинные или ложные. ASCII — это аббревиатура американского стандартного кода обмена информацией. Он определяет особый способ представления английских символов в виде чисел.
Числа находятся в диапазоне от 0 до 127. Например, символ «а» эквивалентен коду ASCII 97.
Декларация Чар
Объявить переменная 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(). Логика программы должна находиться в теле этой функции.
- Объявите три символьные переменные x, y и z. Этим трем присвоены целочисленные значения 65, 66 и 67. Они будут рассматриваться как значения ASCII для символов.
- Распечатайте значение переменной x на консоли. Поскольку x был объявлен как символ, будет возвращен символ со значением ASCII 65, то есть A.
- Выведите значение переменной y на консоль. Поскольку y был объявлен как символ, будет возвращен символ со значением ASCII 66, то есть B.
- Распечатайте значение переменной z на консоли. Поскольку z был объявлен как символ, будет возвращен символ со значением ASCII 67, то есть C.
- Программа должна вернуть значение после успешного завершения.
- Конец тела функции main().
Ввод символов
Мы можем использовать функцию std::cin для чтения символа, введенного пользователем с клавиатуры. std::cin позволит вам вводить множество символов. Однако символьная переменная может содержать только один символ. Это означает, что только первый введенный символ будет извлечен и сохранен в символьной переменной. Остальное останется в буфере, используемом 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 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 Operaторс = и +=
Операторы = и += уже перегружены символами. Их можно использовать для преобразования определенного символа в строку.
Пример 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().
Резюме
- Чарс - это C++ тип данных, используемый для хранения букв.
- C++ Char — это целочисленный тип данных, то есть значение сохраняется как целое число.
- Он занимает объем памяти 1 байт.
- C++ Char хранит только один символ.
- Значения Char интерпретируются как символы ASCII.
- ASCII — это аббревиатура американского стандартного кода обмена информацией.
- В нем говорится об особом способе представления английских символов в виде цифр.
- Чтобы увидеть значение ASCII символа, мы передаем его функции int().
- Чтобы увидеть соответствующее значение char значения ASCII, мы определяем ASCII как символ.