Содержание
- 2. Строки Строка — последовательность (массив) символов. Строки в С/С++ представляются как массивы элементов типа char, заканчивающиеся
- 3. Пример char string[10]; string – имя строковой переменной 10 – размер массива, в данной строке может
- 4. Строки Строка может содержать символы, цифры и специальные знаки. Строки заключаются в двойные кавычки. Имя строки
- 5. Инициализация строки char string[10] = "abcdefghf"; Посимвольная инициализация строки: char string[10] = {'a', 'b', 'c', 'd',
- 6. Инициализация строки Массив строк: char s[3][25] = {"Пример", "использования", "строк"}; Массив из 3х строк по 25
- 7. Возможности работы со строками функции стандартной библиотеки С; библиотечный класс С++ string;
- 8. Функции стандартной библиотеки С копирования строк (strcpy, strncpy); сравнения (strcmp); объединения строк (strcat, strncat); поиска подстроки
- 9. Заголовочные файлы , - содержат объявления функций для классификации и преобразования отдельных символов; , - содержат
- 10. Ввод – вывод строк
- 11. Использование объектов cout и cin Программа 8. Ввод-вывод строк с использованием объектов cout, cin
- 12. // Пример 1 // Ввод-вывод строк с использованием объектов cout, cin. #include #include using namespace std;
- 13. Использование методов getline или get класса iostream Функции предназначены для ввода данных из потока, например, для
- 14. Использование методов getline или get класса iostream Метод getline считывает из входного потока (n-1) символов или
- 15. Программа 9 Ввод-вывод строк с использованием методов getline и get
- 16. // Пример 2 // Ввод-вывод строк с использованием методов getline и get #include #include using namespace
- 17. Функции ввода-вывода библиотеки С scanf(); printf (); gets (); puts ().
- 18. scanf() Является процедурой ввода общего назначения, считывающей данные из потока stdin. Может считывать данные всех базовых
- 19. scanf()
- 20. Примеры scanf() scanf("%d", &co); - считать целое число и присвоить его переменной сo scanf("%s", address); -
- 21. printf() Записывает в stdout аргументы из списка arg-list под управлением строки, на которую указывает аргумент format.
- 22. printf()
- 23. Пример printf() printf ("Hello %с %d %s", ‘a’, 17, “world!"); Результат “Hello a 17 world”
- 24. // Пример // Ввод-вывод строк с использованием функций printf, scanf #include #include #include int main() {
- 25. Примечание Если необходимо, чтобы функция считала за знак разделителя только конец строки, то рекомендуется использовать следующий
- 26. // Пример // Ввод-вывод строк с использованием функций printf, scanf #include #include #include int main() {
- 27. gets() Cчитывает символы из стандартного потока ввода до символа новой строки \n или до тех пор,
- 28. puts() Выводит строку типа char*, на которую указывает параметр string в стандартный поток вывод и добавляет
- 29. // Программа // Ввод-вывод строк с использованием функций gets() и puts() #include #include #include int main()
- 30. Операции со строками
- 31. /* Программа - Использование библиотечных функций обработки строк */ #include #include #include #include #include #include using
- 32. // Функция копирования строки - STRCPY() // и функция объединения (сцепления) 2-х строк - STRCAT() printf
- 33. // Функция определения длины строки - STRLEN () printf ("3 - функция STRLEN()\n"); printf ("Введите строку
- 34. // Функция сравнения - STRCMP () cout cout gets(s1); printf ("Введите строку символов s2: "); gets
- 35. printf ("5 - Печать введенной с клавиатуры строки символов\n"); printf (" в обратном порядке.\n"); printf ("Введите
- 36. Примеры программ
- 37. Пример 10 Задан массив слов. Определить количество символов в словах. Обозначения: a[n] – массив слов; n
- 38. Отладочный пример n=3; a[n] = {abc; qq; xxxxx}; Результат: b[n] = {3; 2; 5}
- 39. #include #include #include #include using namespace std; int i,n,b[10]; char a[10][10]; int main() { setlocale(LC_ALL, "rus");
- 40. Пример 11 Задан массив слов. Определить количество слов, в которых встречается буква, вводимая с клавиатуры. Обозначения:
- 41. Отладочный пример n=5; a[n]= {asd; xqxx; cfx; klm; xxxxx}; c=x. Результат: m=3
- 43. #include #include #include using namespace std; int i,j,l,m,n; char a[30][10],c; int main() { setlocale(LC_ALL, "rus"); cout
- 44. Пример 12 Задан текст, слова разделены запятой, за последним словом точка. Определить количество слов, в которых
- 45. Обозначения s[n] – строка символов (заданный текст); с – буква, вводимая с клавиатуры; m – количество
- 46. Отладочный пример s[n]= {asd,xqxx,cfx,klm,xxxxx.} c={x} Результат: m=3
- 48. #include #include #include #include using namespace std; char s[255]; char c; int i,m; int main() {
- 49. Программа 13 Задан текст, между словами – пробел, за последним словом точка. Напечатать слова текста в
- 50. Обозначения a[n] – строка символов (заданный текст); h – количество символов в заданном тексте; b[m][c] –
- 51. Отладочный пример s[n]= {asd xqxx cfx.} Результат: b[m]={cfx; xqxx; asd}
- 53. #include #include #include #include #include using namespace std; char a[255],b[30][255]; int i,l,k,m,h,c; int main() { setlocale(LC_ALL,
- 54. Программа 14 Задан текст. Между словами – пробел, в конце – точка. Выполнить сортировку слов в
- 55. Обозначения text [i] - заданный текст (одномерный символьный массив); word [k][j] – формируемый из текста text
- 56. Отладочный пример text[i] – {klm, z, abc, aaaaa.} Результат: word[k] - {aaaaa, abc, klm, z}
- 57. Пояснения к алгоритму сортировки Преобразовать исходный текст text[i] в массив слов word[k] Выполнить сортировку слов в
- 58. #include #include #include #include using namespace std; char word[100][15],text[255],r[15]; int i,j,k; int main() { setlocale(LC_ALL, "rus");
- 59. Cтроки класса string
- 60. Cтроки класса string В современном стандарте C++ определен класс с функциями и свойствами (переменными) для организации
- 61. Основные возможности класса string: Инициализация массивом символов (строкой встроенного типа) или другим объектом типа string. Встроенный
- 62. Основные возможности класса string: Конкатенация (сцепление) двух строк, дающая результат либо как третью строку, либо вместо
- 63. Инициализация строк Задание пустой строки: string st2; Задание инициализированной строки: string st1( “Winter is coming\n” );
- 64. Определение длины строки Применяется к конкретной строке, для которой определяется размер: st.size(); cout
- 65. Проверка строки на пустоту Исходная строка: string st2; // пустая строка Определение длины строки, если 0,
- 66. Определение совпадения строк string st1 (“Hello!”); string st2 (“Hello!”); … if (st1==st2) cout
- 67. Копирование строк Копирование строк осуществляется операцией присваивания: string st1 (“Hello!”); string st2; st2=st1; string st3=st2;
- 68. Конкатенация строк Для конкатенации (объединения) строк используется оператор сложения + или оператор сложения с присваиванием +=
- 69. Конкатенация строк Допускается объединение между собой не только объектов класса string, но и строк встроенного типа:
- 70. Преобразование Объекты встроенного типа возможно преобразовывать в объекты класса string: string s1; char ch = “Hear
- 71. Преобразование Функция c_str() - возвращает указатель на символьный массив, который содержит в себе строку типа string
- 72. Индексы К отдельным символам объекта string можно обращаться при помощи индексов: string str1(“Valar Morghulis”); cout Метод
- 73. Пример Заменить в строке все пробелы на символы подчеркивания. string str (“Valar Morghulis and Valar Dohaeris”);
- 74. Пример Для решения задачи можно воспользоваться функцией replace(); #include … replace(str.begin(), str.end(), ‘ ’, ‘_’);
- 75. Указатели
- 76. Указатели Указатель — это переменная, значением которой является адрес памяти, по которому хранится объект определенного типа
- 77. Объявление тип * Пример: int *p; //по адресу, записанному в переменной p, //будет хранится переменная типа
- 78. Примеры объявления char *p; int *k, j,*l; float *pf, f;
- 79. Операции над указателями & - “взять адрес” * - “значение, расположенное по данному адресу”
- 80. Операция & Возвращает адрес своего операнда: float a; //объявлена вещественная переменная a float *adr_a; //объявлен указатель
- 81. Операция * - разадресация Возвращает значение переменной, хранящееся в по заданному адресу, то есть выполняет действие,
- 82. Примеры Пусть переменная b размещается по адресу 2000. b_addr = &b Этот оператор присваивания помещает в
- 83. Примеры Если b_addr содержит адрес ячейки памяти переменной b, тогда y = *b_addr; поместит значение переменной
- 84. Примеры программ
- 85. //Программа 1 #include using namespace std; int main() { float x=7.8, y; float *k; //объявляется указатель
- 86. //Программа 2 #include #include #include using namespace std; int main() { setlocale(LC_ALL, "rus"); float x=10.0, y;
- 88. Скачать презентацию