Оператор цикла со счетчиком

В циклах со счетчиком выполнение тела цикла должно повторяться заранее определенное число раз. Хотя такой цикл можно организовать с помощью оператора цикла с постусловием или предусловием (они универсальны), в языке С++ имеется специальная конструкция для организации циклов со счетчиком. Синтаксис оператора цикла со счетчиком в общем случае следующий:

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 Разбирает строку в переменные
print Выводит строку
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;
};