Тип данни на C ++ Char с примери

Съдържание:

Anonim

Какво е Чар?

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:

#include using namespace std;int main() {char grade = 'B';cout << "I scored a: "<

Изход:

Ето екранна снимка на кода:

Обяснение на кода:

  1. Включване на заглавния файл на iostream в нашия код, за да се използват неговите функции.
  2. Включване на std пространството от имена в нашия код, за да използваме класовете му, без да го извикваме.
  3. Извикване на функцията main (). Логиката на програмата трябва да бъде добавена в тялото на тази функция.
  4. Декларирайте символна променлива с име grade. Променливата също е получила стойност B. Забележете, че стойността на променливата е затворена в единични кавички.
  5. Отпечатайте стойността на променливата клас заедно с друг текст на конзолата.
  6. Програмата трябва да върне стойност при успешно завършване.
  7. Край на тялото на основната () функция.

Отпечатване на ASCII стойност

Както беше посочено по-горе, всеки знак се интерпретира като ASCII знак. Възможно е да получите ASCII стойността на всеки символ. Просто предавате символа на функцията int (). Този процес се нарича отливане на тип. Нека да демонстрираме това:

Пример 2:

#include using namespace std;int main() {char ch;cout << "Enter any character: ";cin >> ch;cout << "The ASCII Value of " << ch << " is " << int(ch);return 0;}

Изход:

Ето екранна снимка на кода:

Обяснение на кода:

  1. Включване на заглавния файл на iostream в нашия код, за да се използват неговите функции.
  2. Включване на std пространството от имена в нашия код, за да използваме класовете му, без да го извикваме.
  3. Извикване на функцията main (). Логиката на програмата трябва да бъде добавена в тялото на тази функция.
  4. Декларирайте променлива char с име ch.
  5. Отпечатайте малко текст на конзолата. Текстът изисква от потребителя да въведе стойност за променливата ch.
  6. Прочетете потребителския вход от клавиатурата и го запазете в променливата ch.
  7. Отпечатайте малко текст на конзолата. Текстът ще включва символа, който сте въвели за променлива ch, ASCII стойността на този символ и друг текст.
  8. Програмата трябва да върне стойност при успешно завършване.
  9. Край на тялото на основната () функция.

Отпечатване на Char стойност

Като се има предвид ASCII стойност, компилаторът C ++ може да върне съответния знак. Декларирате променлива char и й присвоявате цяла стойност. Той ще бъде преобразуван в съответната стойност на символа.

Пример 3:

#include using namespace std;int main() {char x = 64, y = 66, z = 71;cout << x;cout << y;cout << z;return 0;}

Изход:

Ето екранна снимка на кода:

Обяснение на кода:

  1. Включване на заглавния файл на iostream в кода. След това ще използваме неговите функции, без да получаваме грешки.
  2. Включете std пространството от имена в кода. Ще използваме класовете му, без да го извикваме.
  3. Извикване на функцията main (). Логиката на програмата трябва да влезе в тялото на тази функция.
  4. Декларирайте три променливи char, x, y и z. На трите са присвоени целочислени стойности 65, 66 и 67. Те ще бъдат третирани като ASCII стойности за символи.
  5. Отпечатайте стойността на променлива x на конзолата. Тъй като x е деклариран като char, ще се върне символът със стойност ASCII 65, т.е.
  6. Отпечатайте стойността на променлива y на конзолата. Тъй като y е деклариран като char, ще се върне символът със стойност ASCII 66, т.е.
  7. Отпечатайте стойността на променлива z на конзолата. Тъй като z е деклариран като char, ще се върне символът със стойност ASCII 67, т.е.
  8. Програмата трябва да върне стойност при успешно завършване.
  9. Краят на тялото на основната () функция.

Въвеждане на символи

Можем да използваме функцията std :: cin, за да прочетем знак, въведен от потребителя чрез клавиатурата. Std :: cin ще ви позволи да въведете много символи. Символната променлива обаче може да съдържа само един знак. Това означава, че само първият въведен знак ще бъде извлечен и съхранен в променливата на символа. Останалото ще остане в буфера, използван от std :: cin. За да го извлечете, направете последващи повиквания към std :: cin.

Пример 4:

#include 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;}

Изход:

Ето екранна снимка на кода:

Обяснение на кода:

  1. Включване на заглавния файл на iostream в нашия код, за да се използват неговите функции.
  2. Включете std пространството от имена в нашия код, за да използвате класовете му, без да го извиквате.
  3. Извикване на функцията main (). Логиката на програмата трябва да бъде добавена в тялото на тази функция.
  4. Отпечатайте малко текст на конзолата.
  5. Декларирайте символна променлива с име ch.
  6. Прочетете потребителския вход от клавиатурата Входът ще се съхранява в променливата ch. Тъй като потребителят ще въведе последователност от символи като abc, само първият знак, a, ще се съхранява в променлива ch.
  7. Отпечатване на първия въведен знак, неговия ASCII код и друг текст на конзолата. ASCII кодът се определя чрез предаване на символната променлива на функцията int ().
  8. Прочетете следващия знак, въведен от потребителя. От потребителя няма да се изисква да въвежда нов символ. Вместо това ще прочете втория въведен знак, т.е. b.
  9. Отпечатване на втория въведен знак, неговия ASCII код и друг текст на конзолата. ASCII кодът се определя чрез предаване на символната променлива на функцията int ().
  10. Програмата трябва да върне стойност при успешно завършване.
  11. Край на тялото на основната () функция.

Преобразуване на символ в низ

Съществуват редица начини, по които можем да преобразуваме символите в низове.

Нека ги обсъдим:

# 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;}

Изход:

Ето екранна снимка на кода:

Обяснение на кода:

  1. Включване на заглавния файл на iostream в нашия код, за да се използват неговите функции.
  2. Включете заглавния файл на низа в нашия код, за да използвате неговите функции.
  3. Включете std пространството от имена в нашия код, за да използвате класовете му, без да го извиквате.
  4. Извикване на функцията main (). Логиката на програмата трябва да бъде добавена в тялото на тази функция.
  5. Преобразувайте символа "C" в низ с дължина 1 и присвойте получения низ на променливата st.
  6. Отпечатайте стойността на низа st на конзолата заедно с друг текст.
  7. Програмата трябва да върне стойност при успешно завършване.
  8. Край на тялото на основната () функция.

# 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;}

Изход:

Ето екранна снимка на кода:

Обяснение на кода:

  1. Включете заглавния файл на iostream в нашия код, за да използвате неговите функции.
  2. Включете заглавния файл на низа в нашия код, за да използвате неговите функции.
  3. Включете std пространството от имена в нашия код, за да използвате класовете му, без да го извиквате.
  4. Извикване на функцията main (). Логиката на програмата трябва да бъде добавена в тялото на тази функция.
  5. Създайте низова променлива с име st.
  6. Създайте символ на име b със стойност B.
  7. Присвояване на стойност A на низа, наречен st.
  8. Използвайте оператора + =, за да конвертирате символи в низ.
  9. Отпечатайте стойността на низа st на конзолата заедно с друг текст.
  10. Програмата трябва да върне стойност при успешно завършване.
  11. Край на тялото на основната () функция.

# 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;}

Изход:

Ето екранна снимка на кода:

  1. Включете заглавния файл на iostream в нашия код, за да използвате неговите функции.
  2. Включете заглавния файл на низа в нашия код, за да използвате неговите функции.
  3. Включете std пространството от имена в нашия код, за да използвате класовете му, без да го извиквате.
  4. Извикване на функцията main (). Логиката на програмата трябва да бъде добавена в тялото на тази функция.
  5. Създайте низова променлива с име st.
  6. Задайте символа A в края на низа.
  7. Отпечатайте стойността на низа st на конзолата заедно с друг текст. Endl (краен ред) премества курсора на следващия ред.
  8. Задайте стойността на низа st на празно.
  9. Присвояване на единичен знак C на низа, наречен st.
  10. Отпечатайте стойността на низа st на конзолата заедно с друг текст. Endl (краен ред) премества курсора на следващия ред.
  11. Задайте стойността на низа st на празно.
  12. Заменете съдържанието на низ st с единичен символ D.
  13. Отпечатайте стойността на низа st на конзолата заедно с друг текст. Endl (краен ред) премества курсора на следващия ред.
  14. Вмъкнете единичен знак E в низа, наречен st от първия му индекс.
  15. Отпечатайте стойността на низа st на конзолата заедно с друг текст. Endl (краен ред) премества курсора на следващия ред.
  16. Програмата трябва да върне стойност при успешно завършване.
  17. Край на тялото на основната () функция.

# 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;}

Изход:

Ето екранна снимка на кода:

Обяснение на кода:

  1. Включете заглавния файл на iostream в нашия код, за да използвате неговите функции.
  2. Включете заглавния файл на низа в нашия код, за да използвате неговите функции.
  3. Включете заглавния файл sstream в нашия код, за да използвате неговите функции.
  4. Включете std пространството от имена в нашия код, за да използвате класовете му, без да го извиквате.
  5. Извикване на функцията main (). Логиката на програмата трябва да бъде добавена в тялото на тази функция.
  6. Създайте низова променлива с име st.
  7. Създайте променлива на потока с име myst.
  8. Вмъкнете символа A в обект на поток с име myst.
  9. Конвертирайте обекта на потока в низ.
  10. Отпечатайте стойността на низа st на конзолата заедно с друг текст. Endl (краен ред) премества курсора на следващия ред.
  11. Програмата трябва да върне стойност при успешно завършване.
  12. Край на тялото на основната () функция.

Резюме:

  • Char е тип данни на C ++, използван за съхранение на писма.
  • C ++ Char е интегрален тип данни, което означава, че стойността се съхранява като цяло число.
  • Той заема памет от 1 байт.
  • C ++ Char съхранява само един символ.
  • Стойностите на Char се интерпретират като ASCII символи.
  • ASCII е съкращение от Американски стандартен кодекс за обмен на информация.
  • Той посочва специфичен начин за представяне на английските символи под формата на числа.
  • За да видим ASCII стойността на даден символ, ние го предаваме на функцията int ().
  • За да видим съответната стойност на символа на ASCII стойност, ние дефинираме ASCII като символ.