Итоги
В этом уроке вы узнали, что:
- строка — это массив символов (
char), который заканчивается нулевым символом'\0'. Вchar name[] = "Anna";5 элементов: 4 буквы и'\0'.char name[20] = "Anna";оставляет место для более длинного текста. 'A'— это один символ, а"A"— строка из двух символов ('A'и'\0').- Строку выводят через
%s:printf("%s\n", name);, но никак неprintf(name);. Один символ, напримерname[0], выводят через%c. - Символы читают и меняют по индексу:
name[0] = 'H';. По строке проходят в цикле до'\0':for (int i = 0; name[i] != '\0'; i++). - В библиотеке
string.hесть функции для строк:strlenдаёт длину без'\0'(сохраняйте её вint:int length = strlen(name);),strcpy(target, text)копирует текст в массив, аstrcat(target, text)дописывает его в конец. В массиве должно быть место для текста и'\0'. - Строки нельзя присваивать через
=и сравнивать через==.strcmp(a, b)даёт 0 для одинаковых текстов, отрицательное число, еслиaидёт раньше по алфавиту, и положительное, если послеb. - Библиотека
ctype.hработает с символами:toupperиtolowerдают изменённый символ (его нужно сохранить), аisupper,isalphaиisdigitотвечают 0 (нет) или другим числом (да). - Ширина выравнивает столбцы:
%-10s,%5d,%6.2f. - Русские буквы и буквы с диакритическими знаками занимают по два
char, поэтому строки, которые вы обрабатываете посимвольно, пишите латиницей.
В следующем уроке, о функциях, вы научитесь писать собственные функции, такие как strlen или toupper, и давать имена частям своих программ. А пока проверьте, что вы умеете, на проверке пароля.
Задание
- 1
Пройдите по
passwordв цикле и сосчитайте цифры и заглавные буквы. Выведите их в видеЦифр: 4, заглавных: 1. - 2
Пароль надёжный, если в нём не меньше 8 символов, хотя бы одна цифра и хотя бы одна заглавная буква. Проверьте все три условия в одном условии, с помощью
strlenи ваших счётчиков, и выведитеНадёжный парольилиСлабый пароль. (Когда всё заработает, попробуйте заменить пароль на"lion".)