-
Оператор цикла с постусловием
Синтаксис этого оператора следующий:
do <оператор> while( <условие>)
Здесь do ,while – ключевые слова (перев. с англ.: выполнять и пока);
<оператор> – любой оператор языка С++, в том числе и составной (его называют телом цикла);
<условие> – условное выражение типа сравнения, используемое дл я выхода из цикла.
Оператор работает следующим образом: сначала выполняются операторы, расположенные в теле цикла, затем вычисляется условное выражение и, если получается ложное значение, осуществляется выход из цикла. Если значение выражения истинно, то выполнение операторов тела цикла повторяется, а затем снова проверяется условие. Итак, операторы тела цикла выполняются хотя бы раз, а потом все зависит от условия выхода из цикла. Очевидно, один из операторов тела цикла должен влиять на значение условного выражения, поскольку иначе цикл будет повторяться бесконечно.
-
Оператор цикла с предусловием
В отличие от оператора цикла с постусловием оператор цикла с предусловием вычисляет и проверяет условие до выполнения операторов, составляющих тело цикла. Синтаксис этого оператора следующий:
while (<условие>) <оператор>;
Здесь while – ключевое слово (перев. с англ.: пока); <оператор> – любой оператор языка C++, в том числе и составной (этот оператор называют телом цикла); <условие> – условное выражение типа сравнения, используемое для выхода и з цикла.
Оператор работает следующим образом: сначала вычисляется условное выражение и, если получается истинное значение, выполняется оператор, являющийся телом цикла, а затем снова проверяется условие. Если значение условного выражения ложно, то осуществляется выход из цикла. Таким образом, если условие было ложно при первом входе в цикл, то операторы тела цикла не выполнятся ни разу. Очевидно, один из операторов тела цикла должен влиять на значение условного выражения, поскольку иначе цикл будет повторяться бесконечно.
-
Оператор цикла со счетчиком
В циклах со счетчиком выполнение тела цикла должно повторяться заранее определенное число раз. Хотя такой цикл можно организовать с помощью оператора цикла с постусловием или предусловием (они универсальны), в языке С++ имеется специальная конструкция для организации циклов со счетчиком. Синтаксис оператора цикла со счетчиком в общем случае следующий:
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 |
Выполняет перенос строки на данное количество символов с использованием символа разрыва строки. |
|
|