Оператор цикла со счетчиком
В циклах со счетчиком выполнение тела цикла должно повторяться заранее определенное число раз. Хотя такой цикл можно организовать с помощью оператора цикла с постусловием или предусловием (они универсальны), в языке С++ имеется специальная конструкция для организации циклов со счетчиком. Синтаксис оператора цикла со счетчиком в общем случае следующий:
for ( <п.ц.> = <н.з.>; <условие>; <коррекция п.ц.> )
<оператор>;
Здесь for – ключевое слово (перев. с англ. для); <п.ц.> – переменная цикла, которая может быть только простого типа; <н.ц.> – начальное значение, выражение такого же простого типа, как и переменная цикла; <условие> – выражение типа сравнения, используемое для выхода из цикла; <коррекция п.ц.> – оператор присваивания, задающий изменение переменной цикла; <оператор> – любой оператор языка C++, в том числе и составной, являющийся телом цикла.
Оператор работает таким образом: сначала вычисляется выражение, соответствующее начальному значению, и присваивается переменной цикла, потом проверяется условие выхода из цикла и, если получается истинное значение, выполняется оператор, являющийся телом цикла. Затем изменяется переменная цикла и снова проверяется условие и т. д. Если значение выражения ложно, то осуществляется выход из цикла. Если начальное значение переменной цикла больше конечного значения, то операторы тела цикла не выполняются. Можно сказать, что оператор цикла со счетчиком – это оператор цикла с предусловием.
Строки символов.
Для работы со строками существует специальная библиотека, описание которой находится в файле “#include string.h” Рассмотрим наиболее часто используемые функции из этой библиотеки.
strlen (s) - определяет длину строки (без нуль-символа). s – указатель на строку символов.
strcat (s1, s2) – объединяет две с троки. s1, s2 – указатели на строку символов. Копия второй строки присоединяется к концу первой, и это объединение становится новой первой строкой. Строка s2 остается без изменения, а s1должна быть достаточно большой, чтобы разместить две строки.
strcmp (s1, s2) – сравнивает содержимое двух строк. s1, s2- указатели на строку символов. Эта функция возвращает 0, если строки одинаковые. Если строки разные, то функция возвращает разницу в кодах у первой пары несовпадающих символов.
strcpy (s1, s2) – копирование строки: строка, на которую указывает второй аргумент, копируется в строку, на которую указывает первый.
strchr (s, c) – ищет в строке s первое вхождение символа с и возвращает указатель на этот символ, если не обнаружит, то возвращает NULL.
strstr (s1, s2) – ищет в строке s1 первое вхождение подстроки s2 и возвращает указатель на найденную подстроку, если не обнаружит, то возвращает NULL.
addcslashes | Экранирует спецсимволы в стиле языка C |
addslashes | Экранирует спецсимволы в строке |
bin2hex | Преобразует бинарные данные в шестнадцатиричное представление |
chr | Возвращает символ по его коду |
chunk_split | Разбивает строку на фрагменты |
convert_cyr_string | Преобразует строку из одной кириллической кодировки в другую |
count_chars | Возвращает информацию о символах, входящих в строку |
crc32 | Вычисляет CRC32 для строки |
crypt | Необратимое шифрование (хэширование) |
echo | Выводит одну или более строк |
explode | Разбивает строку на подстроки |
fprintf | Записывает отформатированную строку в поток |
get_html_translation_table | Возвращает таблицу преобразований, используемую функциями htmlspecialchars() и htmlentities() |
hebrev | Преобразует текст на иврите из логической кодировки в визуальную. |
hebrevc | Преобразует текст на иврите из логической кодировки в визуальную с преобразованием перевода строки. |
htmlentities | Преобразует символы в соответствующие HTML сущности. |
htmlspecialchars | Преобразует специальные символы в HTML сущности |
html_entity_decode | Преобразует HTML сущности в соответствующие символы |
implode | Объединяет элементы массива в строку |
localeconv | Возвращает информацию о числовых форматах |
ltrim | Удаляет пробелы из начала строки |
md5 | Возвращает MD5 хэш строки |
md5_file | Возвращает MD5 хэш файла |
metaphone | Возвращает ключ metaphone для строки |
nl2br | Вставляет HTML код разрыва строки перед каждым переводом строки |
number_format | Форматирует число с разделением групп |
ord | Возвращает ASCII код символа |
parse_str | Разбирает строку в переменные |
Выводит строку | |
printf | Выводит отформатированную строку |
quoted_printable_decode | Раскодирует строку, закодированную методом quoted printable |
quotemeta | Экранирует специальные символы |
rtrim | Удаляет пробелы из конца строки |
sha1 | Возвращает SHA1 хэш строки |
sha1_file | Возвращает SHA1 хэш файла |
similar_text | Вычисляет степень похожести двух строк |
soundex | Возвращает ключ soundex для строки |
sprintf | Возвращает отформатированную строку |
sscanf | Разбирает строку в соответствии с заданным форматом |
strcasecmp | Сравнение строк без учета регистра, безопасное для данных в двоичной форме |
strcmp | Сравнение строк, безопасное для данных в двоичной форме |
strcoll | Сравнение строк с учетом текущей локали |
strcspn | Возвращает длину участка в начале строки, не соответствующего маске |
stripcslashes | Удаляет экранирование символов, произведенное функцией addcslashes() |
stripos | Возвращает позицию первого вхождения подстроки без учета регистра |
stripslashes | Удаляет экранирование символов, произведенное функцией addslashes() |
strip_tags | Удаляет HTML и PHP тэги из строки |
stristr | Аналог функции strstr, но независит от регистра. |
strnatcasecmp | Сравнение строк без учета регистра с использованием алгоритма "естественного упорядочения" |
strnatcmp | Сравнение строк с использованием алгоритма "естественного упорядочения" |
strncasecmp | Сравнение первых n символов строк без учета регистра, безопасное для данных в двоичной форме |
strncmp | Сравнение первых n символов строк без учета регистра, безопасное для данных в двоичной форме |
strpos | Находит первое вхождение подстроки в строку |
strrchr | Находит последнее вхождение символа в строку |
strrev | Переворачивает строку |
strripos | Возвращает позицию последнего вхождения подстроки без учета регистра |
strrpos | Находит последнее вхождение символа в строку |
strspn | Возвращает длину участка в начале строки, соответствующего маске |
strtok | Разбивает строку |
strtolower | Преобразует строку в нижний регистр |
strtoupper | Преобразует строку в верхний регистр |
strtr | Преобразует заданные символы |
str_ireplace | Регистро-независимый вариант функции str_replace(). |
str_pad | Дополняет строку другой строкой до заданной длины |
str_repeat | Возвращает повторяющуюся строку |
str_replace | Заменяет строку поиска на строку замены |
str_rot13 | Выполняет над строкой преобразование ROT13 |
str_shuffle | Переставляет символы в строке |
str_split | Преобразует строку в массив |
str_word_count | Возвращает информацию о словах, входящих в строку |
substr | Функция возвращает часть строки |
substr_count | Подсчитывает число вхождений подстроки в строку |
substr_replace | Заменяет часть строки |
trim | Удаляет пробелы из начала и конца строки |
ucfirst | Преобразует первый символ строки в верхний регистр |
ucwords | Преобразует в верхний регистр первый символ каждого слова в строке |
vprintf | Выводит отформатированную строку |
vsprintf | Возвращает отформатированную строку |
wordwrap | Выполняет перенос строки на данное количество символов с использованием символа разрыва строки. |
Структуры.
Структуры — это тип данных, состоящий из фиксированного числа компонентов, называемых полями. В отличие от массива компоненты (поля) структуры могут быть различного типа. Очень часто возникает необходимость описать характеристики некоторого объекта, представляемого и обрабатываемого в программе. Таким объектом могут быть данные о человеке, автомобиле, журнале и т. д.
Объявление структуры:
struct < имя типа >
{
< сп. полей >
};
Здесь struct — ключевое слово;
< имя типа > — правильный идентификатор;
< сп. полей > — список полей, представляющий собой последовательность разделов, между которыми ставится точка с запятой.
Например:
struct auto
{
char mark [10],
type [10];
int date;
float ob;
};