Рабочие листы
к вашим урокам
Скачать
1 слайд
Никитин Михаил Евгеньевич, 2015
ГБПОУ ПК имени П.А. Овчинникова
1
ЯЗЫКИ ПРОГРАММИРОВАНИЯ
Стандартная библиотека
2 слайд
Введение
Никитин Михаил Евгеньевич, 2015
ГБПОУ ПК имени П.А. Овчинникова
2
Ни одна программа приличных размеров не пишется с использованием только «голых» конструкций языка.
Сначала разрабатываются или выбираются библиотеки поддержки.
Средства стандартной библиотеки являются частью любой полной реализации С++.
Стандартная библиотека определена в пространстве имен std.
3 слайд
Ввод/вывод
Никитин Михаил Евгеньевич, 2015
ГБПОУ ПК имени П.А. Овчинникова
3
Заголовочный файл <iostream>.
Возможность управлять вводом-выводом в С++, обеспечивают форматирующие функции-члены, флаги и манипуляторы.
Флаги, функции и манипуляторы выполняют одну и туже задачу — задают определённый формат ввода/вывода информации в потоках.
4 слайд
Ввод/вывод
Никитин Михаил Евгеньевич, 2015
ГБПОУ ПК имени П.А. Овчинникова
4
Ввод/вывод на экран/с экрана в С++ осуществляется с помощью операторов cin и cout соответственно, а значит манипуляторы форматирования используются совместно с данными операторами ввода/вывода.
Различие между функциями флагами и манипуляторами форматирования состоит в способе их применения. Теперь рассмотрим способы применения объектов форматирования.
5 слайд
Ввод/вывод
Никитин Михаил Евгеньевич, 2015
ГБПОУ ПК имени П.А. Овчинникова
5
Доступ к функциям осуществляется через операцию точка, а в круглых скобочках передаётся аргумент.
Ещё один способ форматирования — флаги.
Флаги форматирования позволяют включить или выключить один из параметров ввода/вывода.
Чтобы установить флаг ввода/вывода, необходимо вызвать функцию setf(), если необходимо отключить флаг вывода, то используется функция unsetf().
6 слайд
Флаги
Никитин Михаил Евгеньевич, 2015
ГБПОУ ПК имени П.А. Овчинникова
6
Флаги вывода объявлены в классе ios
Установка флага
cout.setf(ios::/*name_flag*/);
Снятие флага
cout.unsetf(ios::/*name_flag*/);
7 слайд
Флаги
Никитин Михаил Евгеньевич, 2015
ГБПОУ ПК имени П.А. Овчинникова
7
Если при вводе/выводе необходимо установить(снять) несколько флагов, то можно воспользоваться поразрядной логической операцией ИЛИ |
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
ГБПОУ ПК имени П.А. Овчинникова
8
9 слайд
Флаги форматирования в С++
Никитин Михаил Евгеньевич, 2015
ГБПОУ ПК имени П.А. Овчинникова
9
10 слайд
Флаги форматирования в С++
Никитин Михаил Евгеньевич, 2015
ГБПОУ ПК имени П.А. Овчинникова
10
11 слайд
Манипуляторы в С++
Никитин Михаил Евгеньевич, 2015
ГБПОУ ПК имени П.А. Овчинникова
11
Ещё один способ форматирования — форматирование с помощью манипуляторов.
Манипулятор — объект особого типа, который управляет потоками ввода/вывода, для форматирования передаваемой в потоки информации.
Отчасти манипуляторы дополняют функционал, для форматирования ввода/вывода.
12 слайд
Манипуляторы в С++
Никитин Михаил Евгеньевич, 2015
ГБПОУ ПК имени П.А. Овчинникова
12
13 слайд
Манипуляторы в С++
Никитин Михаил Евгеньевич, 2015
ГБПОУ ПК имени П.А. Овчинникова
13
14 слайд
Манипуляторы в С++
Никитин Михаил Евгеньевич, 2015
ГБПОУ ПК имени П.А. Овчинникова
14
15 слайд
Манипуляторы в С++
Никитин Михаил Евгеньевич, 2015
ГБПОУ ПК имени П.А. Овчинникова
15
16 слайд
Манипуляторы в С++
Никитин Михаил Евгеньевич, 2015
ГБПОУ ПК имени П.А. Овчинникова
16
17 слайд
Строки
Никитин Михаил Евгеньевич, 2015
ГБПОУ ПК имени П.А. Овчинникова
17
В стандартной библиотеке имеется тип string.
Тип string обеспечивает множество полезных операций над строками
Заголовочный файл <string>.
18 слайд
Строки
Никитин Михаил Евгеньевич, 2015
ГБПОУ ПК имени П.А. Овчинникова
18
Для типа string доступны операторы сравнения ==, <, > , <= , >=, !=
Доступны операции +, +=. Данные операторы реализуют операцию конкатенации.
Операцией взятия индекса [ ] str[10]
Метод at() предлагает похожую схему доступа. метод at(), обеспечивает проверку границ и генерирует сключение out_of_range
str.at(7)
19 слайд
Методы string
Никитин Михаил Евгеньевич, 2015
ГБПОУ ПК имени П.А. Овчинникова
19
size Возвращает длину строки
length Возвращает длину строки
max_size Возвращает максимальный размер строки
resize Изменяет размер строки
capacity возвращет размер выделенной памяти
clear очищает строку
empty проверка на пустоту строки.
20 слайд
Методы string
Никитин Михаил Евгеньевич, 2015
ГБПОУ ПК имени П.А. Овчинникова
20
#include <iostream>
#include <string>
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
ГБПОУ ПК имени П.А. Овчинникова
21
#include <iostream>
#include <string>
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
ГБПОУ ПК имени П.А. Овчинникова
22
insert вставляет в строку
erase удаляет последовательность символов из строки
replace заменяет часть строки
23 слайд
Методы string
Никитин Михаил Евгеньевич, 2015
ГБПОУ ПК имени П.А. Овчинникова
23
#include <iostream>
#include <string>
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
ГБПОУ ПК имени П.А. Овчинникова
24
#include <iostream>
#include <string>
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
ГБПОУ ПК имени П.А. Овчинникова
25
#include <iostream>
#include <string>
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
ГБПОУ ПК имени П.А. Овчинникова
26
copy копирование последовательности символов из строки
find поиск первого вхождения подстроки в строку
rfind поиск последнего вхождения подстроки в строку
substr возвращает подстроку строки
27 слайд
Методы string
Никитин Михаил Евгеньевич, 2015
ГБПОУ ПК имени П.А. Овчинникова
27
#include <iostream>
#include <string>
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
ГБПОУ ПК имени П.А. Овчинникова
28
#include <iostream>
#include <string>
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
ГБПОУ ПК имени П.А. Овчинникова
29
#include <iostream>
#include <string>
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
ГБПОУ ПК имени П.А. Овчинникова
30
Многие вычисления подразумевают создание наборов объектов в различных формах и обработку таких наборов.
Класс, главной целью которого является хранение объектов, называется контейнером.
Реализация контейнеров, подходящих для данной задачи, и поддержка их основными полезными операциями — важнейшие шаги при написании любой программы.
31 слайд
Вектор
Никитин Михаил Евгеньевич, 2015
ГБПОУ ПК имени П.А. Овчинникова
31
Встроенные массивы имеют фиксированный размер.
Если мы выберем слишком большой размер, то впустую израсходуем память.
Если же выбранный размер слишком мал, массив может переполниться.
В любом случае нам придется написать код низкого уровня для управления памятью.
Стандартная библиотека предоставляет вектора (vector), которые сами позаботятся об этом
32 слайд
Вектор
Никитин Михаил Евгеньевич, 2015
ГБПОУ ПК имени П.А. Овчинникова
32
#include <iostream>
#include <vector>
#include <string>
using namespace std;
struct Entry {
string name;
int number;
};
vector<Entry> phone_book(1000);
void print_entry(int i) {
cout<<phone_book[i].name << phone_book[i].number << endl;
}
void addjentries(int n){
phone_book.resize(phone_book.size() + n);
}
Рабочие листы
к вашим урокам
Скачать
Стандартная библиотека С++ содержит набор универсальных классов и интерфейсов, значительно расширяющих ядро языка С++. Однако эта библиотека не является самоочевидной. Для того чтобы полнее использовать возможности ее компонентов и извлечь из них максимальную пользу, необходим полноценный справочник, а не простое перечисление классов и их функций.
6 672 265 материалов в базе
Настоящий материал опубликован пользователем Никитин Михаил Евгеньевич. Инфоурок является информационным посредником и предоставляет пользователям возможность размещать на сайте методические материалы. Всю ответственность за опубликованные материалы, содержащиеся в них сведения, а также за соблюдение авторских прав несут пользователи, загрузившие материал на сайт
Если Вы считаете, что материал нарушает авторские права либо по каким-то другим причинам должен быть удален с сайта, Вы можете оставить жалобу на материал.
Удалить материалВаша скидка на курсы
40%Курс профессиональной переподготовки
500/1000 ч.
Курс профессиональной переподготовки
600 ч.
Курс повышения квалификации
36 ч. — 144 ч.
Курс профессиональной переподготовки
300/600 ч.
Мини-курс
3 ч.
Мини-курс
2 ч.
Оставьте свой комментарий
Авторизуйтесь, чтобы задавать вопросы.