Содержание
- 2. Работа с символами в Си: char, ASCII, ASCIIZ, функции isX
- 3. Тип char char – это «очень короткий» целый тип #include void main() { char ch =
- 4. Тип char (2) char – это символьный тип #include void main() { char ch = 32;
- 5. Тип char (3) unsigned char = [0 .. 255] #include void main() { unsigned char ch
- 6. Тип char (4) signed char = [-128 .. +127] #include void main() { signed char ch
- 7. Тип char (5) Загадка: Тип char == signed char ИЛИ Тип char == unsigned char ?
- 8. Тип char (6) http://stackoverflow.com/questions/2054939/is-char-signed-or-unsigned-by-default The standard does not specify if plain char is signed or unsigned…
- 9. ASCII https://ru.wikipedia.org/wiki/ASCII ASCII (англ. American standard code for information interchange) — название таблицы (кодировки, набора), в
- 10. ASCIIZ http://stackoverflow.com/questions/7783044/whats-the-difference-between-asciiz-vs-ascii In computing, a C string is a character sequence terminated with a null character
- 11. null-terminated string void main() { char s1[8] = "Hi!\n"; int i; for (i = 0; i
- 12. Инициализация строки как массива символов void main() { char s1[8] = { 'H', 'i', '!', '\n',
- 13. Инициализация строки как строки void main() { char s2[] = "%c(%d), "; int i; for (i
- 14. Простейшие алгоритмы обработки строк (как массива символов с ‘\0’ в конце) Все цифры заменить на символ
- 15. Используем функции из ctype.h Все цифры заменить на символ «#» #include #include void main() { char
- 16. Используем функции из ctype.h Все ????? заменить на символ «#» void main() { char s3[] =
- 17. Используем функции из ctype.h Все ????? заменить на символ «#» void main() { char s3[] =
- 18. Используем функции из ctype.h Все ????? заменить на символ «#» void main() { char s3[] =
- 19. Используем функции из ctype.h Все ????? заменить на символ «#» void main() { char s3[] =
- 20. Используем функции из ctype.h Все ????? заменить на ?????? void main() { char s3[] = "I
- 21. Используем функции из ctype.h Все ????? заменить на ?????? void main() { char s3[] = "I
- 22. Обзор возможностей функций из ctype.h «Основы программирования на языках Си и C++ для начинающих» Заголовочный файл
- 23. Обзор возможностей функций из ctype.h (2)
- 24. Функции обработки строк
- 25. Стандартные функции обработки строк strlen(s) - Возвращает длину строки без завершающей литеры '\0'. strcmp(s1, s2) –
- 26. strlen() #include void main() { char s[10] = "Hi!"; printf("len = %d\n", strlen(s)); s[3] = '
- 27. strlen() #include void main() { char s[10] = "Hi!"; printf("len = %d\n", strlen(s)); s[3] = '
- 28. Сравнение строк – НЕ ДЕЛАЙТЕ ТАК НИКОГДА!!! void main() { char s1[] = "Button"; char s2[]
- 29. Сравнение строк через strcmp int strcmp(const char *str1, const char *str2); int strcmp(char str1[], char str2[]);
- 30. Сравнение строк через strcmp void main() { char s1[] = "Button"; char s2[] = "We"; char
- 31. Копирование строк void main() { char src[] = "Button"; char dest[10]; printf("src = %s, dest =
- 32. Конкатенация строк void main() { char src[] = "Button"; char dest[10] = " "; printf("src =
- 33. Еще раз - int strlen(char s[]) int strlen(char s[]) { int len; … return len; }
- 34. Собственная реализация strlen int strlen_my(char s[]) { int len; … return len; } Нужно написать код
- 35. Собственная реализация strlen int strlen_my(char s[]) { int len = 0; while (s[len] != '\0') len++;
- 36. int strcmp(char s1[], char s2[]) int strcmp(const char *str1, const char *str2); Функция strcmp() сравнивает в
- 37. Собственная реализация strcmp /* s1 s1 == s2 : 0 s1 > s2 : >0 */
- 38. Собственная реализация strcmp /* s1 s1 == s2 : 0 s1 > s2 : >0 */
- 39. Собственная реализация strcpy !!!!
- 40. Собственная реализация strcat !!!!
- 42. Массивы и указатели
- 43. Указатели #include void main() { int k; // переменная k (целый тип) int* pk; // указатель
- 44. Указатели – трассировка (1)
- 45. Указатели – трассировка (2)
- 46. Указатели – трассировка (3)
- 47. Указатели – трассировка (4)
- 48. Связь массивов и указателей #include void main() { int a[8] = {0, 1, 2, 3, 4,
- 49. Связь массивов и указателей (1)
- 50. Связь массивов и указателей (2)
- 51. Связь массивов и указателей (3)
- 52. Связь массивов и указателей (4)
- 53. Связь массивов и указателей (5)
- 54. Связь массивов и указателей (6)
- 55. Связь массивов и указателей (7)
- 56. Связь массивов и указателей (8)
- 57. Связь массивов и указателей (9)
- 58. Массив ar1 #include void main() { int ar[5] = { 10, 20, 30, 40, 50 };
- 59. Вывод массива int i; printf("\n"); for (i = 0; i printf("%d ", ar[i]); printf("\n");
- 60. Вывод массива при помощи указателей int* p; p = ar; for (i = 0; i printf("%d
- 61. Вывод массива при помощи указателей (v 2) int* p1; p1 = ar; for (i = 0;
- 62. Вывод массива при помощи указателей (v 3) p1 = ar; while (p1 - ar printf("%d ",
- 63. Нечто особое printf("!!!!\n"); p1 = ar + 4; while (p1 >= ar) printf("%d ", *(p1--)); printf("\n");
- 64. Нечто совсем особое printf("\n"); for (i = 0; i printf("%d ", i[ar]); printf("\n");
- 65. Нечто совсем особое printf("\n"); for (i = 0; i printf("%d ", i[ar]); printf("\n");
- 66. Массивы и указатели – еще раз int a[8] = {0, 1, 2, 3, 4, 5, 6,
- 67. Операции над указателями #include void main() { int a[8] = {10, 20, 30, 40, 50, 60,
- 68. Что можно почитать про «Указатели и массивы» Курс Лекций по Языку Си. Указатели и массивы -
- 70. Использование указателей при обработке строк
- 71. Собственная реализация strlen v2 int strlen_my(char s[]) { char* p = s; while (*p++); return p
- 72. Собственная реализация strlen v2 (2) int strlen_my(char s[]) { char* p = s; while (*p++); return
- 73. Собственная реализация strlen v2 (3) int strlen_my(char s[]) { char* p = s; while (*p++); return
- 74. Собственная реализация strlen v2 (4) int strlen_my(char s[]) { char* p = s; while (*p++); return
- 75. Собственная реализация strcpy int strcpy_my(char* dest, char* src) { while (*dest++ = *src++); } void main()
- 76. Собственная реализация strcpy (2) int strcpy_my(char* dest, char* src) { while (*dest++ = *src++); } char
- 77. Собственная реализация strcat int strcat_my(char* dest, char* src) { while (*dest) dest++; while (*dest++ = *src++);
- 78. Собственная реализация strcat (2) int strcat_my(char* dest, char* src) { while (*dest) dest++; while (*dest++ =
- 80. Ввод строк с клавиатуры
- 81. Ввод при помощи scanf #define _CRT_SECURE_NO_WARNINGS #include #include void main() { SetConsoleCP(1251); SetConsoleOutputCP(1251); char f[30], i[30],
- 82. Ввод при помощи scanf_s //#define _CRT_SECURE_NO_WARNINGS #include #include void main() { SetConsoleCP(1251); SetConsoleOutputCP(1251); char f[30], i[30],
- 83. Ввод при помощи fgets #include #include void main() { SetConsoleCP(1251); SetConsoleOutputCP(1251); char f[30], i[30], o[30]; printf("Фамилия:");
- 85. Лабораторная работа №20 Знакомство с обработкой строк и символов
- 86. Задача 1 – Hello по русски!
- 87. Задача 1+ – Hello по русски! 1. Закомментируйте строку SetConsoleCP(1251); Запустите программу – посмотрите что получилось.
- 88. Задача 2 Ввести символ CH Вывести на экран 20 символов с кодами от CH до CH+19
- 89. Задача 3* Ввести символ CH Вывести на экран 30 символов с кодами от CH до CH-29
- 90. Задача 4 Ввести строку s. Подсчитать, сколько в ней пробелов
- 91. Задача 5* Ввести строку s. Все пробелы в ней заменить символом ‘#’. После обработки получившуюся строку
- 92. Задача 6.1 Ввести строку s. Все цифры в ней заменить символом ‘$‘. Используйте стандартную функцию isdigit()
- 93. Задача 6.2 Ввести строку s. Все цифры в ней заменить символом ‘$‘ Используйте свою собственную реализацию
- 94. Задача 7.1 Ввести строку s (без русских символов). Все маленькие латинские буквы превратить в большие Используйте
- 95. Задача 7.2* Ввести строку s с русскими и латинскими символами. Все маленькие буквы превратить в большие.
- 96. Задача 8* Создать на основе разработанного кода проект с собственным модулем.
- 97. Задача 8* (1) Создаем новый проект
- 98. Задача 8* (2) Создаем файл для главного модуля – в нем будет находиться main()
- 99. Задача 8* (3) В главный модуль вставляем код main() с реализацией задачи 7.2
- 100. Задача 8* (4) Создаем второй модуль – в нем будут находиться наши собственные реализации функций isDigitMy,
- 101. Задача 8* (5) В CPP файл второго модуля вставляем код функций isDigitMy, toUpperAll
- 102. Задача 8* (6) Создаем заголовочный файл для второго модуля
- 103. Задача 8* (7) В заголовочный файл второго модуля добавляем прототипы функций isDigitMy, toUpperAll
- 104. Задача 8* (8) В главный модуль включаем заголовочный файл нашего второго модуля
- 105. Задача 8* (9) В CPP файл нашего второго модуля включаем заголовочный файл нашего же второго модуля
- 106. Задача 8* (10) Собираем код
- 107. Задача 8* (11) Запускаем на выполнение!
- 108. Задача 9 * Реализовать собственную версию функции int strlen(char *) Добавить ее во второй модуль Написать
- 109. Задача 10 ** Реализовать собственную версию функции int strcmp (char *, char *) Добавить ее во
- 110. Задача 11 ** Реализовать собственную версию функции void strcpy (char *, char *) Добавить ее во
- 111. Задача 12 ** Реализовать собственную версию функции void strcat (char *, char *) Добавить ее во
- 112. Домашнее задание - часть 1 Доделать задачи с *, которые не были сделаны в классе. Все
- 113. Домашнее задание - часть 2 Сделать индивидуальную задачу - выберите свой вариант преобразования – согласно номера
- 114. ИТОГО по лабораторной работе 20 Попробовали работать с символами Попробовали работать со строками Написали несколько собственных
- 116. Лабораторная работа №21 Изучение стандартной библиотеки Си. Модули обработки символов и строк
- 117. Задача 1 – Найти в интернете информацию Нужно найти в интернете описание модулей ctype.h и string.h
- 118. Задача 2 – Выбрать функции для подробного изучения Используя информацию из Интернета изучить список функций в
- 119. Задача 3 – Подготовить код для одной из выбранных функций Нужно подготовить код с комментариями, которого
- 120. Задача 3. Образец выполнения на примере isalpha() - 1 // Источник информации: https://ru.wikipedia.org/wiki/Ctype.h // Краткое описание:
- 121. Задача 3. Образец выполнения на примере isalpha() - 2 #include #include #include #include void main() {
- 122. Задача 3. Образец выполнения на примере isalpha() - 3 void testIsAlpha2() { printf("Тест функции isalpha()\n"); //
- 123. Задача 3. Образец выполнения на примере isalpha() - 4 void testIsAlpha3() { printf("Тест функции isalpha()\n"); //
- 124. Задача 4-10+ Подготовить код для каждой из выбранных функций Как и в задаче 3 нужно подготовить
- 125. Задача 4. Образец выполнения на примере strcat() - 1 // Источник информации: http://all-ht.ru/inf/prog/c/func/strcat.html // Краткое описание:
- 126. Задача 4. Образец выполнения на примере strcat() - 2 void testStrCat() { printf("Тест функции strcat()\n"); char
- 127. ИТОГО по лабораторной работе 21 Попробовали самостоятельно найти информацию по стандартным функциям. Потренировали создавать образцы использования
- 130. Скачать презентацию