1 of 19

Работа с символами

8.4.3.11 использовать функции для обработки символов (char, int)

2 of 19

Основные типы данных в С ++

  • int — целочисленный тип данных.
  • float — тип данных с плавающей запятой.
  • double — тип данных с плавающей запятой двойной точности.
  • char — символьный тип данных.
  • bool — логический тип данных.

3 of 19

// объявления символьной переменной

char symbol = 'a';

// где symbol – имя переменной типа char

// char – тип данных для хранения символов

Символ – элементарная единица, некоторый набор которых несет определенный смысл. В языке программирования С++ предусмотрено использование символьных констант.

Символьная константа – это целочисленное значение (типа int) представленное в виде символа, заключённого в одинарные кавычки, например 'a’.

В таблице ASCII представлены символы и их целочисленные значения.

4 of 19

В языке программирования C++ можно работать с символами с помощью функций char (код символа) и int (символ).

5 of 19

Работа со строками

  • - интерпретировать строку как массив символов
  • - использовать операции определения длины строки, склеивания, удаления, поиска, вставки для обработки строк

6 of 19

Работа со строками в программе

На C++ нумерация начинается с нуля. Например, у нас есть строка «доктор». Для хранения набора символов на С++ используется описание:

char s1[n]

где s1 – имя строки, n – количество отводимых ячеек в памяти для хранения символов.

Строка – это набор символов, и каждый символ в строке имеет свой индекс (номер)

7 of 19

Нумерация элементов в строковом массиве начинается с 0.

Для работы со строками существует ряд функций и процедур. Но для их использования надо подключить заголовочный файл:

#include <string>

8 of 19

Описание, чтение и вывод строк выглядит следующим образом:

string s,a,b; //описание строк

cin >> s; //чтение строки до первого разделителя

getline(cin, s); //чтение строки полностью

a = "ABC"; //присвоение строке значения

b = "DEFGH";

s = a+b; //конкатенация строк (склеивание)

cout << s; //вывод строки "ABCDEFGH"

9 of 19

Запустите программный код, что выведет программа?

#include <iostream>

#include <string>

using namespace std;

string s,t,p="Visual C++";

int main(){

  char c = p[2]; //c = 's'

  cout << "Input string 1: "; getline(cin, p);

  cout << "Input string 2: "; cin >> s;

  cout << "p=" << p << ", s=" << s << endl;

  p += " Vasilyevich";

  t = "two";

    for(int i=0; i<s.length(); i++) 

    cout << s[i] << " ";

  return 0;

}

10 of 19

11 of 19

Функции и методы класса string

12 of 19

Функции и методы класса string

13 of 19

Рассмотрим пример использования всех функций

14 of 19

C++: Strings

15 of 19

Напишите программный код, для следующего условия:

Задача разминка

16 of 19

Задачи

1. Дано название футбольного клуба. Создать программу, которая определяет количество символов в нем.

2. Даны названия двух городов Казахстана. Присвоить названия городов переменным s1 и s2, после чего поменять их значения местами.

3. Дана строка. Замените в этой строке все цифры 1 на слово one.

4. Дана строка. Удалите из этой строки все символы @.

5. Дана строка, состоящая ровно из двух слов, разделенных пробелом. Переставьте эти слова местами. Результат запишите в строку и выведите получившуюся строку.

6. Дана строка, состоящая из слов, разделенных пробелами. Определите, сколько в ней слов.

17 of 19

Индивидуальная работа

18 of 19

Ресурсы для закрепления

19 of 19

Рефлексия

  • Какие задания я смогу решить?
  • Какие задания предоставляют мне трудности?
  • Над чем еще нужно поработать?