Что такое findslide.org?

FindSlide.org - это сайт презентаций, докладов, шаблонов в формате PowerPoint.


Для правообладателей

Обратная связь

Email: Нажмите что бы посмотреть 

Яндекс.Метрика

Презентация на тему Уроки программирования C++. Урок 12. Стандартная библиотека.

Содержание

ВведениеНикитин Михаил Евгеньевич, 2015ГБПОУ ПК имени П.А. ОвчинниковаНи одна программа приличных размеров не пишется с использованием только «голых» конструкций языка.Сначала разрабатываются или выбираются библиотеки поддержки.Средства стандартной библиотеки являются частью любой полной реализации С++.Стандартная библиотека определена в
Никитин Михаил Евгеньевич, 2015ГБПОУ ПК имени П.А. ОвчинниковаЯЗЫКИ ПРОГРАММИРОВАНИЯСтандартная библиотека ВведениеНикитин Михаил Евгеньевич, 2015ГБПОУ ПК имени П.А. ОвчинниковаНи одна программа приличных размеров Ввод/выводНикитин Михаил Евгеньевич, 2015ГБПОУ ПК имени П.А. ОвчинниковаЗаголовочный файл .Возможность управлять вводом-выводом Ввод/выводНикитин Михаил Евгеньевич, 2015ГБПОУ ПК имени П.А. ОвчинниковаВвод/вывод на экран/с экрана в Ввод/выводНикитин Михаил Евгеньевич, 2015ГБПОУ ПК имени П.А. ОвчинниковаДоступ к функциям осуществляется через ФлагиНикитин Михаил Евгеньевич, 2015ГБПОУ ПК имени П.А. ОвчинниковаФлаги вывода объявлены в классе iosУстановка флага	cout.setf(ios::/*name_flag*/);Снятие флага	cout.unsetf(ios::/*name_flag*/); ФлагиНикитин Михаил Евгеньевич, 2015ГБПОУ ПК имени П.А. ОвчинниковаЕсли  при  вводе/выводе Флаги форматирования в С++Никитин Михаил Евгеньевич, 2015ГБПОУ ПК имени П.А. Овчинникова Флаги форматирования в С++Никитин Михаил Евгеньевич, 2015ГБПОУ ПК имени П.А. Овчинникова Флаги форматирования в С++Никитин Михаил Евгеньевич, 2015ГБПОУ ПК имени П.А. Овчинникова Манипуляторы в С++Никитин Михаил Евгеньевич, 2015ГБПОУ ПК имени П.А. ОвчинниковаЕщё один способ Манипуляторы в С++Никитин Михаил Евгеньевич, 2015ГБПОУ ПК имени П.А. Овчинникова Манипуляторы в С++Никитин Михаил Евгеньевич, 2015ГБПОУ ПК имени П.А. Овчинникова Манипуляторы в С++Никитин Михаил Евгеньевич, 2015ГБПОУ ПК имени П.А. Овчинникова Манипуляторы в С++Никитин Михаил Евгеньевич, 2015ГБПОУ ПК имени П.А. Овчинникова Манипуляторы в С++Никитин Михаил Евгеньевич, 2015ГБПОУ ПК имени П.А. Овчинникова СтрокиНикитин Михаил Евгеньевич, 2015ГБПОУ ПК имени П.А. ОвчинниковаВ стандартной библиотеке имеется тип СтрокиНикитин Михаил Евгеньевич, 2015ГБПОУ ПК имени П.А. ОвчинниковаДля типа string доступны операторы Методы stringНикитин Михаил Евгеньевич, 2015ГБПОУ ПК имени П.А. Овчинниковаsize Возвращает длину строки length Методы stringНикитин Михаил Евгеньевич, 2015ГБПОУ ПК имени П.А. Овчинникова#include #include int main(){ Методы stringНикитин Михаил Евгеньевич, 2015ГБПОУ ПК имени П.А. Овчинникова#include #include int main(){ Методы stringНикитин Михаил Евгеньевич, 2015ГБПОУ ПК имени П.А. Овчинниковаinsert вставляет в строкуerase Методы stringНикитин Михаил Евгеньевич, 2015ГБПОУ ПК имени П.А. Овчинникова#include #include int main(){ Методы stringНикитин Михаил Евгеньевич, 2015ГБПОУ ПК имени П.А. Овчинникова#include #include int main(){ Методы stringНикитин Михаил Евгеньевич, 2015ГБПОУ ПК имени П.А. Овчинникова#include #include int main(){ Методы stringНикитин Михаил Евгеньевич, 2015ГБПОУ ПК имени П.А. Овчинниковаcopy копирование последовательности символов Методы stringНикитин Михаил Евгеньевич, 2015ГБПОУ ПК имени П.А. Овчинникова#include #include int main(){ Методы stringНикитин Михаил Евгеньевич, 2015ГБПОУ ПК имени П.А. Овчинникова#include #include int main(){ Методы stringНикитин Михаил Евгеньевич, 2015ГБПОУ ПК имени П.А. Овчинникова#include #include int main(){ КонтейнерыНикитин Михаил Евгеньевич, 2015ГБПОУ ПК имени П.А. ОвчинниковаМногие вычисления подразумевают создание наборов ВекторНикитин Михаил Евгеньевич, 2015ГБПОУ ПК имени П.А. ОвчинниковаВстроенные массивы имеют фиксированный размер. ВекторНикитин Михаил Евгеньевич, 2015ГБПОУ ПК имени П.А. Овчинникова#include #include #include using namespace
Слайды презентации

Слайд 2 Введение
Никитин Михаил Евгеньевич, 2015
ГБПОУ ПК имени П.А. Овчинникова
Ни

ВведениеНикитин Михаил Евгеньевич, 2015ГБПОУ ПК имени П.А. ОвчинниковаНи одна программа приличных

одна программа приличных размеров не пишется с использованием только

«голых» конструкций языка.
Сначала разрабатываются или выбираются библиотеки поддержки.
Средства стандартной библиотеки являются частью любой полной реализации С++.
Стандартная библиотека определена в пространстве имен std.

Слайд 3 Ввод/вывод
Никитин Михаил Евгеньевич, 2015
ГБПОУ ПК имени П.А. Овчинникова
Заголовочный

Ввод/выводНикитин Михаил Евгеньевич, 2015ГБПОУ ПК имени П.А. ОвчинниковаЗаголовочный файл .Возможность управлять

файл .
Возможность управлять вводом-выводом в С++, обеспечивают форматирующие функции-члены,

флаги и манипуляторы.
Флаги, функции и манипуляторы выполняют одну и туже задачу — задают определённый формат ввода/вывода информации в потоках.  

Слайд 4 Ввод/вывод
Никитин Михаил Евгеньевич, 2015
ГБПОУ ПК имени П.А. Овчинникова
Ввод/вывод

Ввод/выводНикитин Михаил Евгеньевич, 2015ГБПОУ ПК имени П.А. ОвчинниковаВвод/вывод на экран/с экрана

на экран/с экрана в С++ осуществляется с помощью операторов cin и cout соответственно,

а значит  манипуляторы форматирования используются совместно с данными операторами ввода/вывода.
Различие между функциями флагами и манипуляторами форматирования состоит в способе их применения. Теперь рассмотрим способы применения объектов форматирования.

Слайд 5 Ввод/вывод
Никитин Михаил Евгеньевич, 2015
ГБПОУ ПК имени П.А. Овчинникова
Доступ

Ввод/выводНикитин Михаил Евгеньевич, 2015ГБПОУ ПК имени П.А. ОвчинниковаДоступ к функциям осуществляется

к функциям осуществляется через операцию точка, а в круглых скобочках

передаётся аргумент.
Ещё один способ форматирования — флаги.
Флаги форматирования позволяют включить или выключить один из параметров ввода/вывода. 
Чтобы установить флаг ввода/вывода, необходимо вызвать функцию setf(), если необходимо отключить флаг вывода, то используется функция  unsetf().

Слайд 6 Флаги
Никитин Михаил Евгеньевич, 2015
ГБПОУ ПК имени П.А. Овчинникова
Флаги

ФлагиНикитин Михаил Евгеньевич, 2015ГБПОУ ПК имени П.А. ОвчинниковаФлаги вывода объявлены в классе iosУстановка флага	cout.setf(ios::/*name_flag*/);Снятие флага	cout.unsetf(ios::/*name_flag*/);

вывода объявлены в классе ios

Установка флага
cout.setf(ios::/*name_flag*/);

Снятие флага
cout.unsetf(ios::/*name_flag*/);




Слайд 7 Флаги
Никитин Михаил Евгеньевич, 2015
ГБПОУ ПК имени П.А. Овчинникова
Если

ФлагиНикитин Михаил Евгеньевич, 2015ГБПОУ ПК имени П.А. ОвчинниковаЕсли при вводе/выводе необходимо

при вводе/выводе необходимо установить(снять) несколько

флагов, то можно воспользоваться поразрядной логической операцией ИЛИ |

cout.setf(ios::/*name_flag1*/ | ios::/*name_flag2*/ | ios::/*name_flag_n*/);

cout.unsetf(ios::/*name_flag1*/ | ios::/*name_flag2*/ | ios::/*name_flag_n*/);


Слайд 8 Флаги форматирования в С++
Никитин Михаил Евгеньевич, 2015
ГБПОУ ПК

Флаги форматирования в С++Никитин Михаил Евгеньевич, 2015ГБПОУ ПК имени П.А. Овчинникова

имени П.А. Овчинникова


Слайд 9 Флаги форматирования в С++
Никитин Михаил Евгеньевич, 2015
ГБПОУ ПК

Флаги форматирования в С++Никитин Михаил Евгеньевич, 2015ГБПОУ ПК имени П.А. Овчинникова

имени П.А. Овчинникова


Слайд 10 Флаги форматирования в С++
Никитин Михаил Евгеньевич, 2015
ГБПОУ ПК

Флаги форматирования в С++Никитин Михаил Евгеньевич, 2015ГБПОУ ПК имени П.А. Овчинникова

имени П.А. Овчинникова


Слайд 11 Манипуляторы в С++
Никитин Михаил Евгеньевич, 2015
ГБПОУ ПК имени

Манипуляторы в С++Никитин Михаил Евгеньевич, 2015ГБПОУ ПК имени П.А. ОвчинниковаЕщё один

П.А. Овчинникова
Ещё один способ форматирования — форматирование с помощью

манипуляторов. 
Манипулятор — объект особого типа, который управляет потоками ввода/вывода, для форматирования передаваемой в потоки информации. 
Отчасти манипуляторы дополняют функционал, для форматирования ввода/вывода.

Слайд 12 Манипуляторы в С++
Никитин Михаил Евгеньевич, 2015
ГБПОУ ПК имени

Манипуляторы в С++Никитин Михаил Евгеньевич, 2015ГБПОУ ПК имени П.А. Овчинникова

П.А. Овчинникова


Слайд 13 Манипуляторы в С++
Никитин Михаил Евгеньевич, 2015
ГБПОУ ПК имени

Манипуляторы в С++Никитин Михаил Евгеньевич, 2015ГБПОУ ПК имени П.А. Овчинникова

П.А. Овчинникова


Слайд 14 Манипуляторы в С++
Никитин Михаил Евгеньевич, 2015
ГБПОУ ПК имени

Манипуляторы в С++Никитин Михаил Евгеньевич, 2015ГБПОУ ПК имени П.А. Овчинникова

П.А. Овчинникова


Слайд 15 Манипуляторы в С++
Никитин Михаил Евгеньевич, 2015
ГБПОУ ПК имени

Манипуляторы в С++Никитин Михаил Евгеньевич, 2015ГБПОУ ПК имени П.А. Овчинникова

П.А. Овчинникова


Слайд 16 Манипуляторы в С++
Никитин Михаил Евгеньевич, 2015
ГБПОУ ПК имени

Манипуляторы в С++Никитин Михаил Евгеньевич, 2015ГБПОУ ПК имени П.А. Овчинникова

П.А. Овчинникова


Слайд 17 Строки
Никитин Михаил Евгеньевич, 2015
ГБПОУ ПК имени П.А. Овчинникова
В

СтрокиНикитин Михаил Евгеньевич, 2015ГБПОУ ПК имени П.А. ОвчинниковаВ стандартной библиотеке имеется

стандартной библиотеке имеется тип string.

Тип string обеспечивает множество полезных

операций над строками

Заголовочный файл .


Слайд 18 Строки
Никитин Михаил Евгеньевич, 2015
ГБПОУ ПК имени П.А. Овчинникова
Для

СтрокиНикитин Михаил Евгеньевич, 2015ГБПОУ ПК имени П.А. ОвчинниковаДля типа string доступны

типа string доступны операторы сравнения ==, ,

<= , >=, !=
Доступны операции +, +=. Данные операторы реализуют операцию конкатенации.
Операцией взятия индекса [ ] str[10]
Метод at() предлагает похожую схему доступа. метод at(), обеспечивает проверку границ и генерирует сключение out_of_range
str.at(7)

Слайд 19 Методы string
Никитин Михаил Евгеньевич, 2015
ГБПОУ ПК имени П.А.

Методы stringНикитин Михаил Евгеньевич, 2015ГБПОУ ПК имени П.А. Овчинниковаsize Возвращает длину

Овчинникова
size Возвращает длину строки 
length Возвращает длину строки
max_size Возвращает максимальный

размер строки
resize Изменяет размер строки
capacity возвращет размер выделенной памяти
clear очищает строку
empty проверка на пустоту строки.

Слайд 20 Методы string
Никитин Михаил Евгеньевич, 2015
ГБПОУ ПК имени П.А.

Методы stringНикитин Михаил Евгеньевич, 2015ГБПОУ ПК имени П.А. Овчинникова#include #include int

Овчинникова
#include
#include

int main()
{
std::string str("Test string");

std::cout << "size: " << str.size() << std:: endl;
std::cout << "length: " << str.length() << std:: endl;
std::cout << "capacity: " << str.capacity() << std:: endl;
std::cout << "max_size: " << str.max_size() << std:: endl;
std::cout << std::boolalpha << "empty:" << str.empty() << std::endl;
str.clear();
std::cout << "after clean:" << str << std::endl;
return 0;
}

Слайд 21 Методы string
Никитин Михаил Евгеньевич, 2015
ГБПОУ ПК имени П.А.

Методы stringНикитин Михаил Евгеньевич, 2015ГБПОУ ПК имени П.А. Овчинникова#include #include int

Овчинникова
#include
#include

int main()
{
std::string str("I like to

code in C");
std::cout << str << '\n';
std::string::size_type sz = str.size();
str.resize(sz + 2, '+');
std::cout << str << '\n';
str.resize(14);
std::cout << str << '\n';
return 0;
}

Слайд 22 Методы string
Никитин Михаил Евгеньевич, 2015
ГБПОУ ПК имени П.А.

Методы stringНикитин Михаил Евгеньевич, 2015ГБПОУ ПК имени П.А. Овчинниковаinsert вставляет в

Овчинникова
insert вставляет в строку

erase удаляет последовательность символов из строки

replace

заменяет часть строки

Слайд 23 Методы string
Никитин Михаил Евгеньевич, 2015
ГБПОУ ПК имени П.А.

Методы stringНикитин Михаил Евгеньевич, 2015ГБПОУ ПК имени П.А. Овчинникова#include #include int

Овчинникова
#include
#include

int main()
{
std::string str = "to

be question";
std::string str2 = "the ";
// used in the same order as described above:
str.insert(6, str2); // to be (the )question
std::cout << str << '\n';
return 0;
}

Слайд 24 Методы string
Никитин Михаил Евгеньевич, 2015
ГБПОУ ПК имени П.А.

Методы stringНикитин Михаил Евгеньевич, 2015ГБПОУ ПК имени П.А. Овчинникова#include #include int

Овчинникова
#include
#include

int main()
{
std::string str("This is an example

sentence.");
std::cout << str << std::endl;
str.erase(10, 8);
std::cout << str << std::endl;
return 0;
}

Слайд 25 Методы string
Никитин Михаил Евгеньевич, 2015
ГБПОУ ПК имени П.А.

Методы stringНикитин Михаил Евгеньевич, 2015ГБПОУ ПК имени П.А. Овчинникова#include #include int

Овчинникова
#include
#include

int main()
{
std::string base = "this is

a test string.";
std::string str2 = "n example";
std::string str = base; // "this is a test string."
str.replace(9, 5, str2); // "this is an example string." (1)
std::cout << base << std::endl;
std::cout << str << std::endl;
return 0;
}

Слайд 26 Методы string
Никитин Михаил Евгеньевич, 2015
ГБПОУ ПК имени П.А.

Методы stringНикитин Михаил Евгеньевич, 2015ГБПОУ ПК имени П.А. Овчинниковаcopy копирование последовательности

Овчинникова
copy копирование последовательности символов из строки
find поиск первого вхождения

подстроки в строку
rfind поиск последнего вхождения подстроки в строку
substr возвращает подстроку строки

Слайд 27 Методы string
Никитин Михаил Евгеньевич, 2015
ГБПОУ ПК имени П.А.

Методы stringНикитин Михаил Евгеньевич, 2015ГБПОУ ПК имени П.А. Овчинникова#include #include int

Овчинникова
#include
#include

int main()
{
char buffer[20];
std::string str("Test string...");

std::size_t length = str.copy(buffer, 6, 5);
buffer[length] = '\0';
std::cout << "buffer contains: " << buffer << '\n';
return 0;
}

Слайд 28 Методы string
Никитин Михаил Евгеньевич, 2015
ГБПОУ ПК имени П.А.

Методы stringНикитин Михаил Евгеньевич, 2015ГБПОУ ПК имени П.А. Овчинникова#include #include int

Овчинникова
#include
#include

int main()
{
std::string str("There are two

needles in this haystack with needles.");
std::string str2("needle");
std::string::size_type found = str.find(str2);
if (found != std::string::npos)
std::cout << "first 'needle' found at: " << found << std::endl;

str.replace(str.find(str2), str2.length(), "preposition");
std::cout << str << std::endl;

return 0;
}

Слайд 29 Методы string
Никитин Михаил Евгеньевич, 2015
ГБПОУ ПК имени П.А.

Методы stringНикитин Михаил Евгеньевич, 2015ГБПОУ ПК имени П.А. Овчинникова#include #include int

Овчинникова
#include
#include

int main()
{
std::string str = "We

think in generalities, but we live in details.";
std::string str2 = str.substr(12, 12);
std::string::size_type pos = str.find("live");
std::string str3 = str.substr(pos);
std::cout << str2 << ' ' << str3 << '\n';
return 0;
}

Слайд 30 Контейнеры
Никитин Михаил Евгеньевич, 2015
ГБПОУ ПК имени П.А. Овчинникова
Многие

КонтейнерыНикитин Михаил Евгеньевич, 2015ГБПОУ ПК имени П.А. ОвчинниковаМногие вычисления подразумевают создание

вычисления подразумевают создание наборов объектов в различных формах и

обработку таких наборов.
Класс, главной целью которого является хранение объектов, называется контейнером.
Реализация контейнеров, подходящих для данной задачи, и поддержка их основными полезными операциями — важнейшие шаги при написании любой программы.

Слайд 31 Вектор
Никитин Михаил Евгеньевич, 2015
ГБПОУ ПК имени П.А. Овчинникова
Встроенные

ВекторНикитин Михаил Евгеньевич, 2015ГБПОУ ПК имени П.А. ОвчинниковаВстроенные массивы имеют фиксированный

массивы имеют фиксированный размер.
Если мы выберем слишком большой

размер, то впустую израсходуем память.
Если же выбранный размер слишком мал, массив может переполниться.
В любом случае нам придется написать код низкого уровня для управления памятью.
Стандартная библиотека предоставляет вектора (vector), которые сами позаботятся об этом

  • Имя файла: uroki-programmirovaniya-c-urok-12-standartnaya-biblioteka.pptx
  • Количество просмотров: 126
  • Количество скачиваний: 0