- •Язык высокого програмирования “с”
- •Переменные и типы переменных.
- •2.1 Типы данных в си
- •Подробное описание типов данных в языке си
- •Комплексные числа в си
- •Логический тип данных в си
- •Операторы объявлений
- •Константы в си
- •Оператор создания типов данных в си
- •Неявное приведение типа
- •Явное приведение типа в языке c
- •1.1. Арифметические операции
- •2.4 Побитовые операции в си
- •№3 Циклические алгоритмы.
- •Операция присваивания
- •Операции отношения
- •Арифметические операции
- •Логические операции
- •Сдвиговые операции
- •3.2 Цикл с предусловием while
- •Цикл с постусловием do...While
- •Цикл с постусловием
- •Параметрический цикл for
- •Рекомендации по выбору цикла
- •Операторы break и continue
- •Оператор безусловного перехода goto
- •Синтаксис
- •Синтаксис
- •Заметки
- •Синтаксис
- •Заметки
- •Тернарные операции
- •Оператор ветвления switch (оператор множественного выбора)
- •№5 Указатели и массивы.
- •Объявление и инициализация массивов
- •Многомерные массивы
- •Инициализация многомерных массивов
- •Передача массива в функцию
- •5.2 И 5.3
- •5.1 Указатели и адреса
- •5.2 Указатели и аргументы функций
- •5.3 Указатели и массивы
- •5.4 Адресная арифметика
- •5.5 Символьные указатели функции
- •5.6 Массивы указателей, указатели на указатели
- •5.7 Многомерные массивы
- •5.8 Инициализация массивов указателей
- •5.9 Указатели против многомерных массивов
- •5.10 Аргументы командной строки
- •5.11 Указатели на функции
- •5.12 Сложные объявления
- •5.4 Указатели типа void
Рекомендации по выбору цикла
При выборе цикла необходимо оценить необходимость проверки yсловия при входе в цикл или по завершении прохождения цикла. Если цикл ориентирован на работу с параметром, который меняется в заданных пределах с заданным шагом, то более предпочтительным является параметрический цикл.
Операторы break и continue
В теле любого цикла можно использовать операторы break и continue. Оператор break позволяет выйти из цикла, не завершая его. Оператор continue позволяет пропустить часть операторов тела цикла и начать новую итерацию.
Пример: Вывести числа от 0 до 99 ниже главной диагонали
#include <stdio.h> #include <stdlib.h> int main() {
unsigned int i,j;
for(i=0; i<10; i++) {
for(j=0; j<10; j++) {
if(j>i)
break;
printf("%2d ",i*10+j);
}
printf("\n");
}
getchar();
return 0; }
Результат
выполнения программы
Пример:
Вывести числа от 0 до 99 исключая числа,
оканчивающиеся на 5 или 8
#include <stdio.h> #include <stdlib.h> int main() {
unsigned int i,j;
for(i=0; i<10; i++) {
for(j=0; j<10; j++) {
if((j==8) || (j==5)))
continue;
printf("%2d ",i*10+j);
}
printf("\n");
}
getchar();
return 0; }
Результат
выполнения

При вложенных циклах действия операторов break и continue распространяется только на самую внутреннюю структуру, в которой они содержатся.
Оператор безусловного перехода goto
Общая форма записи
goto метка; . . . метка : операция;
Выполнение оператора goto вызывает передачу управления в программе операции, помеченной меткой. По сути метка является идентификатором адреса операции, которой должно быть передано управление. Для отделения метки от оператора используется двоеточие (:). Метка может располагаться в программе как до оператора goto, так и после . Имена меток образуются по тем же правилам, что и имена переменных.
Пример
#include <stdio.h> int main() {
int k=5; M1: if(k<0)
goto M2;
printf("%d ",k);
k--;
goto M1; M2: getchar();
return 0; }
3.3.1
Оператор breakзавершает выполнение ближайшего внешнего оператораdo,for,switchилиwhile, в котором он находится.Управление передается оператору, который расположен после завершенного оператора.
Синтаксис
оператор-перехода:
break;
Оператор breakчасто используется для завершения обработки блока case, относящегося к операторуswitch.Если внешний оператор итерации или операторswitchотсутствует, создается ошибка.
Если используются вложенные операторы, то breakзавершает выполнение только того оператораdo,for,switchилиwhile, который непосредственно его окружает.Передать управление за пределы вложенной структуры можно при помощи оператораreturnилиgoto.
В следующем примере показано использование оператора break:
Копировать
#include <stdio.h>
int main() {
char c;
for(;;) {
printf_s( "\nPress any key, Q to quit: " );
// Convert to character value
scanf_s("%c", &c);
if (c == 'Q')
break;
}
} // Loop exits only when 'Q' is pressed
3.3.2
Обеспечивает передачу управления управляющему выражению наименьшего внешнего цикла do,forилиwhile.
Синтаксис
Копировать
continue;
