Какво е Чар?
Char е C ++ тип данни, предназначен за съхранение на писма. Char е съкращение от герой. Това е интегрален тип данни, което означава, че стойността се съхранява като цяло число. Char заема размер на паметта от 1 байт. Той също така съхранява един знак.
В този урок за C ++ ще научите:
- Какво е Чар?
- Какво е ASCII?
- Декларация на Чар
- Синтаксис:
- Отпечатване на ASCII стойност
- Отпечатване на Char стойност
- Въвеждане на символи
- Преобразуване на символ в низ
Какво е ASCII?
Стойността char се интерпретира като ASCII символ. Това е подобно на начина, по който логическите стойности се интерпретират като истински или неверни. ASCII е съкращение от Американски стандартен кодекс за обмен на информация. Той дефинира специфичен начин за представяне на английските символи като числа.
Числата варират между 0 и 127. Например, знакът „a“ е еквивалентен на ASCII код 97.
Декларация на Чар
За да декларираме променлива char в C ++, използваме ключовата дума char. Това трябва да бъде последвано от името на променливата. Променливата може да бъде инициализирана по време на декларацията. Стойността на променливата трябва да бъде затворена в единични кавички.
Синтаксис:
Ето синтаксиса на char декларацията в C ++:
char variable-name;
Името на променливата е името, което се присвоява на променливата.
Ако по време на декларацията трябва да бъде присвоена стойност, можете да използвате този синтаксис:
char variable-name = 'value';
- Името на променливата е името на променливата char.
- Стойността е стойността, която трябва да бъде присвоена на променливата char.
Пример 1:
#includeusing namespace std;int main() {char grade = 'B';cout << "I scored a: "< Изход:
Ето екранна снимка на кода:
Обяснение на кода:
- Включване на заглавния файл на iostream в нашия код, за да се използват неговите функции.
- Включване на std пространството от имена в нашия код, за да използваме класовете му, без да го извикваме.
- Извикване на функцията main (). Логиката на програмата трябва да бъде добавена в тялото на тази функция.
- Декларирайте символна променлива с име grade. Променливата също е получила стойност B. Забележете, че стойността на променливата е затворена в единични кавички.
- Отпечатайте стойността на променливата клас заедно с друг текст на конзолата.
- Програмата трябва да върне стойност при успешно завършване.
- Край на тялото на основната () функция.
Отпечатване на ASCII стойност
Както беше посочено по-горе, всеки знак се интерпретира като ASCII знак. Възможно е да получите ASCII стойността на всеки символ. Просто предавате символа на функцията int (). Този процес се нарича отливане на тип. Нека да демонстрираме това:
Пример 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;} Изход:
![]()
Ето екранна снимка на кода:
Обяснение на кода:
- Включване на заглавния файл на iostream в нашия код, за да се използват неговите функции.
- Включване на std пространството от имена в нашия код, за да използваме класовете му, без да го извикваме.
- Извикване на функцията main (). Логиката на програмата трябва да бъде добавена в тялото на тази функция.
- Декларирайте променлива char с име ch.
- Отпечатайте малко текст на конзолата. Текстът изисква от потребителя да въведе стойност за променливата ch.
- Прочетете потребителския вход от клавиатурата и го запазете в променливата ch.
- Отпечатайте малко текст на конзолата. Текстът ще включва символа, който сте въвели за променлива ch, ASCII стойността на този символ и друг текст.
- Програмата трябва да върне стойност при успешно завършване.
- Край на тялото на основната () функция.
Отпечатване на Char стойност
Като се има предвид ASCII стойност, компилаторът C ++ може да върне съответния знак. Декларирате променлива char и й присвоявате цяла стойност. Той ще бъде преобразуван в съответната стойност на символа.
Пример 3:
#includeusing 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, ще се върне символът със стойност ASCII 65, т.е.
- Отпечатайте стойността на променлива y на конзолата. Тъй като y е деклариран като char, ще се върне символът със стойност ASCII 66, т.е.
- Отпечатайте стойността на променлива z на конзолата. Тъй като z е деклариран като char, ще се върне символът със стойност ASCII 67, т.е.
- Програмата трябва да върне стойност при успешно завършване.
- Краят на тялото на основната () функция.
Въвеждане на символи
Можем да използваме функцията std :: cin, за да прочетем знак, въведен от потребителя чрез клавиатурата. Std :: cin ще ви позволи да въведете много символи. Символната променлива обаче може да съдържа само един знак. Това означава, че само първият въведен знак ще бъде извлечен и съхранен в променливата на символа. Останалото ще остане в буфера, използван от std :: cin. За да го извлечете, направете последващи повиквания към std :: cin.
Пример 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;} Изход:
![]()
Ето екранна снимка на кода:
![]()
Обяснение на кода:
- Включване на заглавния файл на iostream в нашия код, за да се използват неговите функции.
- Включете std пространството от имена в нашия код, за да използвате класовете му, без да го извиквате.
- Извикване на функцията main (). Логиката на програмата трябва да бъде добавена в тялото на тази функция.
- Отпечатайте малко текст на конзолата.
- Декларирайте символна променлива с име ch.
- Прочетете потребителския вход от клавиатурата Входът ще се съхранява в променливата ch. Тъй като потребителят ще въведе последователност от символи като abc, само първият знак, a, ще се съхранява в променлива ch.
- Отпечатване на първия въведен знак, неговия ASCII код и друг текст на конзолата. ASCII кодът се определя чрез предаване на символната променлива на функцията int ().
- Прочетете следващия знак, въведен от потребителя. От потребителя няма да се изисква да въвежда нов символ. Вместо това ще прочете втория въведен знак, т.е. b.
- Отпечатване на втория въведен знак, неговия ASCII код и друг текст на конзолата. ASCII кодът се определя чрез предаване на символната променлива на функцията int ().
- Програмата трябва да върне стойност при успешно завършване.
- Край на тялото на основната () функция.
Преобразуване на символ в низ
Съществуват редица начини, по които можем да преобразуваме символите в низове.
Нека ги обсъдим:
# 1: Използване на конструктор, даден от низ клас
Това може да стане чрез следния синтаксис:
string st(int n,char x);Параметърът n означава размера на низа, който трябва да бъде генериран.
Параметърът x е символът, който трябва да се преобразува в низ.
Функцията връща низ.
Пример 5:
#include#include using namespace std;int main() {string st(1, 'C');cout << "The resulting string is : " << st;return 0;} Изход:
Ето екранна снимка на кода:
Обяснение на кода:
- Включване на заглавния файл на iostream в нашия код, за да се използват неговите функции.
- Включете заглавния файл на низа в нашия код, за да използвате неговите функции.
- Включете std пространството от имена в нашия код, за да използвате класовете му, без да го извиквате.
- Извикване на функцията main (). Логиката на програмата трябва да бъде добавена в тялото на тази функция.
- Преобразувайте символа "C" в низ с дължина 1 и присвойте получения низ на променливата st.
- Отпечатайте стойността на низа st на конзолата заедно с друг текст.
- Програмата трябва да върне стойност при успешно завършване.
- Край на тялото на основната () функция.
# 2) Използване на операторите std :: string = и + =
Операторите = и + = вече са претоварени със знаци. Двете могат да се използват за конвертиране на определен символ в низ.
Пример 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;} Изход:
Ето екранна снимка на кода:
Обяснение на кода:
- Включете заглавния файл на iostream в нашия код, за да използвате неговите функции.
- Включете заглавния файл на низа в нашия код, за да използвате неговите функции.
- Включете std пространството от имена в нашия код, за да използвате класовете му, без да го извиквате.
- Извикване на функцията main (). Логиката на програмата трябва да бъде добавена в тялото на тази функция.
- Създайте низова променлива с име st.
- Създайте символ на име b със стойност B.
- Присвояване на стойност A на низа, наречен st.
- Използвайте оператора + =, за да конвертирате символи в низ.
- Отпечатайте стойността на низа st на конзолата заедно с друг текст.
- Програмата трябва да върне стойност при успешно завършване.
- Край на тялото на основната () функция.
# 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#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;} Изход:
Ето екранна снимка на кода:
- Включете заглавния файл на iostream в нашия код, за да използвате неговите функции.
- Включете заглавния файл на низа в нашия код, за да използвате неговите функции.
- Включете std пространството от имена в нашия код, за да използвате класовете му, без да го извиквате.
- Извикване на функцията main (). Логиката на програмата трябва да бъде добавена в тялото на тази функция.
- Създайте низова променлива с име st.
- Задайте символа A в края на низа.
- Отпечатайте стойността на низа st на конзолата заедно с друг текст. Endl (краен ред) премества курсора на следващия ред.
- Задайте стойността на низа st на празно.
- Присвояване на единичен знак C на низа, наречен st.
- Отпечатайте стойността на низа st на конзолата заедно с друг текст. Endl (краен ред) премества курсора на следващия ред.
- Задайте стойността на низа st на празно.
- Заменете съдържанието на низ st с единичен символ D.
- Отпечатайте стойността на низа st на конзолата заедно с друг текст. Endl (краен ред) премества курсора на следващия ред.
- Вмъкнете единичен знак E в низа, наречен st от първия му индекс.
- Отпечатайте стойността на низа st на конзолата заедно с друг текст. Endl (краен ред) премества курсора на следващия ред.
- Програмата трябва да върне стойност при успешно завършване.
- Край на тялото на основната () функция.
# 4: Използване на std :: stringstream
За да използвате този клас за конвертиране на символ в низ, вмъкнете го в поток.
Те ще бъдат записани в низа.
Пример 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;} Изход:
Ето екранна снимка на кода:
Обяснение на кода:
- Включете заглавния файл на iostream в нашия код, за да използвате неговите функции.
- Включете заглавния файл на низа в нашия код, за да използвате неговите функции.
- Включете заглавния файл sstream в нашия код, за да използвате неговите функции.
- Включете std пространството от имена в нашия код, за да използвате класовете му, без да го извиквате.
- Извикване на функцията main (). Логиката на програмата трябва да бъде добавена в тялото на тази функция.
- Създайте низова променлива с име st.
- Създайте променлива на потока с име myst.
- Вмъкнете символа A в обект на поток с име myst.
- Конвертирайте обекта на потока в низ.
- Отпечатайте стойността на низа st на конзолата заедно с друг текст. Endl (краен ред) премества курсора на следващия ред.
- Програмата трябва да върне стойност при успешно завършване.
- Край на тялото на основната () функция.
Резюме:
- Char е тип данни на C ++, използван за съхранение на писма.
- C ++ Char е интегрален тип данни, което означава, че стойността се съхранява като цяло число.
- Той заема памет от 1 байт.
- C ++ Char съхранява само един символ.
- Стойностите на Char се интерпретират като ASCII символи.
- ASCII е съкращение от Американски стандартен кодекс за обмен на информация.
- Той посочва специфичен начин за представяне на английските символи под формата на числа.
- За да видим ASCII стойността на даден символ, ние го предаваме на функцията int ().
- За да видим съответната стойност на символа на ASCII стойност, ние дефинираме ASCII като символ.