For c что это
Перейти к содержимому

For c что это

  • автор:

Что значит for( ; ; )

6 cores are activated что это значит и что с этим делать?
Доброго времени суток уважаемые форумчане. Возникла вот такая незадача с компом. Пишет 6 cores are.

Что значит Handle hf? Что в эту функцию нужно передавать
мне нужно создать функцию Node * ReadNode(HANDLE hf); (Node это структура) Так вот вопрос в том.

Sleep(8000) — что значит? На что можно заменить в борланд с++?
Не распознаёт Sleep(8000) . Если за комментировать пишет что f заданно но не используется. Как.

Псевдослучайный
1946 / 1145 / 98
Регистрация: 13.09.2011
Сообщений: 3,215
приметно то же, что while(1)

Эксперт С++

4984 / 3091 / 456
Регистрация: 10.11.2010
Сообщений: 11,169
Записей в блоге: 10
Цикл без инициализаторов, условий и всего прочего. Бесконечный цикл.
101 / 100 / 36
Регистрация: 14.09.2010
Сообщений: 223

Это цикл for. Перебирает значения i от начального значения до n-1 включительно, увеличивая после каждого прохода цикла i на 1.
Начальный условия опущены(отсюда ; в начале).

Регистрация: 01.06.2012
Сообщений: 108

Проще говоря, бесконечный цикл, который никогда не закончиться, только если ты в цикле не поставишь условие выхода, или что то типа exit() или break)))

Эксперт С++

4984 / 3091 / 456
Регистрация: 10.11.2010
Сообщений: 11,169
Записей в блоге: 10

ЦитатаСообщение от Alex1OPS Посмотреть сообщение

Это цикл for. Перебирает значения i от начального значения до n-1 включительно, увеличивая после каждого прохода цикла i на 1.

Верно только первое предложение.
101 / 100 / 36
Регистрация: 14.09.2010
Сообщений: 223
это ответ на другой вопрос.не знаю почему перенесли в эту тему.
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
Помогаю со студенческими работами здесь

Что значит это условие? Немогу расчехлить на что тут идёт проверка.
НЕмогу понять на что идет проверка. if monthof(DateTimePicker1.date+33)<9 then.

Что значит i в этой программе и что оно делает?
А что значит i в этой программе и что оно делает? clc,clear all.

Что значит boot device led? Что делать?
Купил материнку Asus Z97-A. Все подключил, но при в ключении на матери загорается диод boot device.

Что значит в правой части f(x), и что с этим делать?
Пример: y»-y’-6y=f(x) Уравнение из контрольной, ничего похожего не нашел в интернете.

#5 — Циклы в Си и операторы в них

За счёт циклов вы можете создавать повторяющийся код множество раз подряд. В языке Си существует несколько циклов, а также операторов в них. За урок мы научимся работать с циклами в Си.

Видеоурок

В языке Си, как и в большинстве других языков, существует 3 вида циклов. Каждый из них выполняет одну и ту же роль, но записывается по-разному. Рассмотрим все три цикла.

Цикл For

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

for (int i = 0; i < 10; i++) printf("%d\n", i);

В объявлении цикла записывается следующее: переменная цикла, её начальное значение и диапазон. В примере выше будут выведены числа от 0 до 10.

Если в теле цикла всего одна строка кода, то фигурные скобки можно пропустить и не записывать их.

Цикл While

Суть цикла while не особо отличается от цикла for . Единственное отличие заключается в способе записи цикла. В while необходимо прописать лишь условие, а все остальные параметры записываются вне цикла:

int i = 1; // Создание переменной while (i 

Цикл Do While

Цикл схож с циклом while по форме написания, но при этом работает немного по-другому. Цикл do..while будет выполнен один раз сто процентов, а дальше проверит условие и если оно верно, то цикл будет выполняться дальше:

int x = 13; do < x--; printf("%d\n", i); >while (x > 10);

Как видно из примера, цикл изначально неверный, но это не мешает ему сработать один раз.

Операторы для работы в циклах

Существует два основных оператора для работы в циклах:

  • Оператор break - служит для выхода из цикла полностью;
  • Оператор continue - пропускает лишь одну итерацию и не выходит из цикла.
Весь код будет доступен после подписки на проект!

Задание к уроку

Необходимо оформить подписку на проект, чтобы получить доступ ко всем домашним заданиям

Большое задание по курсу

Вам необходимо оформить подписку на сайте, чтобы иметь доступ ко всем большим заданиям. В задание входит методика решения, а также готовый проект с ответом к заданию.
PS: подобные задания доступны при подписке от 1 месяца

Что такое for в C++?

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

for (int i = 0; i < 10; i++) cout 

В цикле записывается три условия: начальное значение переменной, условие и изменение переменной за одну итерацию. В примере выше будут выведены числа от 0 до 9.

Если в теле цикла всего одна строка кода, то фигурные скобки можно пропустить и не записывать их.

Операторы для работы в циклах

Существует три основных оператора для работы в циклах:

  • Оператор break - служит для выхода из цикла полностью;
  • Оператор continue - пропускает лишь одну итерацию и не выходит из цикла.

Операторы цикла в языке Си

Рассмотрим третью алгоритмическую структуру — цикл.
Циклом называется блок кода, который для решения задачи требуется повторить несколько раз.

Каждый цикл состоит из

  • блока проверки условия повторения цикла
  • тела цикла

Цикл выполняется до тех пор, пока блок проверки условия возвращает истинное значение.
Тело цикла содержит последовательность операций, которая выполняется в случае истинного условия повторения цикла. После выполнения последней операции тела цикла снова выполняется операция проверки условия повторения цикла. Если это условие не выполняется, то будет выполнена операция, стоящая непосредственно после цикла в коде программы.

В языке Си следующие виды циклов:

  • while — цикл с предусловием;
  • do…while — цикл с постусловием;
  • for — параметрический цикл (цикл с заданным числом повторений).

Цикл с предусловием while

Общая форма записи

while (Условие)
БлокОпераций;
>

Если Условие выполняется (выражение, проверяющее Условие , не равно нулю), то выполняется БлокОпераций , заключенный в фигурные скобки, затем Условие проверяется снова.
Последовательность действий, состоящая из проверки Условия и выполнения БлокаОпераций , повторяется до тех пор, пока выражение, проверяющее Условие , не станет ложным (равным нулю). При этом происходит выход из цикла, и производится выполнение операции, стоящей после оператора цикла.

Пример на Си : Посчитать сумму чисел от 1 до введенного k

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17

#define _CRT_SECURE_NO_WARNINGS // для возможности использования scanf
#include
int main() int k; // объявляем целую переменную key
int i = 1;
int sum = 0; // начальное значение суммы равно 0
printf( "k = " );
scanf( "%d" , &k); // вводим значение переменной k
while (i sum = sum + i; // добавляем значение i к сумме
i++; // увеличиваем i на 1
>
printf( "sum = %d\n" , sum); // вывод значения суммы
getchar(); getchar();
return 0;
>

Цикл while

Результат выполнения

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

Пример бесконечного цикла

while (1)
БлокОпераций;
>

while — цикл с предусловием, поэтому вполне возможно, что тело цикла не будет выполнено ни разу если в момент первой проверки проверяемое условие окажется ложным.

Цикл while может не выполниться ни разу

Например, если в приведенном выше коде программы ввести k=-1, то получим результат

Цикл с постусловием do. while

Общая форма записи

do <
БлокОпераций;
> while (Условие);

Цикл do. while — это цикл с постусловием, где истинность выражения, проверяющего Условие проверяется после выполнения Блока Операций , заключенного в фигурные скобки. Тело цикла выполняется до тех пор, пока выражение, проверяющее Условие , не станет ложным, то есть тело цикла с постусловием выполнится хотя бы один раз.

Использовать цикл do. while лучше в тех случаях, когда должна быть выполнена хотя бы одна итерация, либо когда инициализация объектов, участвующих в проверке условия, происходит внутри тела цикла.

Пример на Си . Проверка, что пользователь ввел число от 0 до 10

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15

#define _CRT_SECURE_NO_WARNINGS // для возможности использования scanf
#include
#include // для использования функции system()
int main() int num; // объявляем целую переменную для числа
system( "chcp 1251" ); // переходим на русский язык в консоли
system( "cls" ); // очищаем экран
do printf( "Введите число от 0 до 10: " ); // приглашение пользователю
scanf( "%d" , &num); // ввод числа
> while ((num < 0) || (num >10)); // повторяем цикл пока num10
printf( "Вы ввели число %d" , num); // выводим введенное значение num - от 0 до 10
getchar(); getchar();
return 0;
>

Цикл do. while

Результат выполнения:

Параметрический цикл for

Общая форма записи

for (Инициализация; Условие; Модификация)
БлокОпераций;
>

for — параметрический цикл (цикл с фиксированным числом повторений). Для организации такого цикла необходимо осуществить три операции:

  • Инициализация - присваивание параметру цикла начального значения;
  • Условие - проверка условия повторения цикла, чаще всего - сравнение величины параметра с некоторым граничным значением;
  • Модификация - изменение значения параметра для следующего прохождения тела цикла.

Эти три операции записываются в скобках и разделяются точкой с запятой ; ;. Как правило, параметром цикла является целочисленная переменная.
Инициализация параметра осуществляется только один раз — когда цикл for начинает выполняться.
Проверка Условия повторения цикла осуществляется перед каждым возможным выполнением тела цикла. Когда выражение, проверяющее Условие становится ложным (равным нулю), цикл завершается. Модификация параметра осуществляется в конце каждого выполнения тела цикла. Параметр может как увеличиваться, так и уменьшаться.

Пример на Си : Посчитать сумму чисел от 1 до введенного k

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15

#define _CRT_SECURE_NO_WARNINGS // для возможности использования scanf
#include
int main() int k; // объявляем целую переменную key
int sum = 0; // начальное значение суммы равно 0
printf( "k = " );
scanf( "%d" , &k); // вводим значение переменной k
for ( int i=1; i sum = sum + i; // добавляем значение i к сумме
>
printf( "sum = %d\n" , sum); // вывод значения суммы
getchar(); getchar();
return 0;
>

Цикл while

Результат выполнения

В записи цикла for можно опустить одно или несколько выражений, но нельзя опускать точку с запятой, разделяющие три составляющие цикла.
Код предыдущего примера можно представить в виде

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16

#define _CRT_SECURE_NO_WARNINGS // для возможности использования scanf
#include
int main() int k; // объявляем целую переменную key
int sum = 0; // начальное значение суммы равно 0
printf( "k = " );
scanf( "%d" , &k); // вводим значение переменной k
int i=1;
for (; i sum = sum + i; // добавляем значение i к сумме
>
printf( "sum = %d\n" , sum); // вывод значения суммы
getchar(); getchar();
return 0;
>

Параметры, находящиеся в выражениях в заголовке цикла можно изменить при выполнении операции в теле цикла, например

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17

#define _CRT_SECURE_NO_WARNINGS // для возможности использования scanf
#include
int main() int k; // объявляем целую переменную key
int sum = 0; // начальное значение суммы равно 0
printf( "k = " );
scanf( "%d" , &k); // вводим значение переменной k
for ( int i=1; i sum = sum + i; // добавляем значение i к сумме
i++; // добавляем 1 к значению i

>
printf( "sum = %d\n" , sum); // вывод значения суммы
getchar(); getchar();
return 0;
>

В цикле for может использоваться операция запятая - , - для разделения нескольких выражений. Это позволяет включить в спецификацию цикла несколько инициализирующих или корректирующих выражений. Выражения, к которым применяется операция запятая, будут вычисляться слева направо.

1
2
3
4
5
6
7
8
9
10
11
12
13

#define _CRT_SECURE_NO_WARNINGS // для возможности использования scanf
#include
int main() int k; // объявляем целую переменную key
printf( "k = " );
scanf( "%d" , &k); // вводим значение переменной k
for ( int i=1, j=2; i < // (i от 1 до k с шагом 1) и (j от 2 с шагом 2)
printf( "i = %d j = %d\n" , i, j); // выводим значения i и j
>
getchar(); getchar();
return 0;
>

Цикл for

Результат выполнения

Вложенные циклы

В Си допускаются вложенные циклы, то есть когда один цикл находится внутри другого:

for (i = 0; i <
for (j = 0; j ; // блок операций Цикла2
>
// блок операций Цикла1;
>

Пример : Вывести числа от 0 до 99, по 10 в каждой строке

1
2
3
4
5
6
7
8
9
10
11
12
13
14

#define _CRT_SECURE_NO_WARNINGS // для возможности использования scanf
#include
int main() for ( int i=0; i <
for ( int j = 0; j < 10; j++) // цикл для единиц
printf( "%2d " , i * 10 + j); // выводим вычисленное число (2 знакоместа) и пробел
>
printf( "\n" ); // во внешнем цикле переводим строку
>
getchar(); // scanf() не использовался,
return 0; // поэтому консоль можно удержать одним вызовом getchar()
>

Вложенные циклы: вывод чисел от 0 до 99

Результат выполнения

Рекомендации по выбору цикла

При выборе цикла необходимо оценить необходимость проверки условия при входе в цикл или по завершении прохождения цикла.
Цикл с постусловием удобно применять в случаях, когда для проверки условия требуется вычислить значение выражения, которое затем будет размещено в теле цикла (см. выше пример ввода числа от 0 до 10).
Цикл c предусловием используется в случае если все переменные, участвующие в выражении, проверяющем условие, проинициализированы заранее, но точное число повторений цикла неизвестно или предполагается сложная модификация переменных, участвующих в формировании условия повторения цикла.
Если цикл ориентирован на работу с параметром, для которого заранее известно число повторений и шаг изменения, то более предпочтительным является параметрический цикл. Очень удобно использовать параметрический цикл при работе с массивами для перебора элементов.

Операторы прерывания и продолжения цикла break и continue

В теле любого цикла можно использовать операторы прерывания цикла - break и продолжения цикла - continue .

Оператор break позволяет выйти из цикла, не завершая его.
Оператор continue позволяет пропустить часть операторов тела цикла и начать новую итерацию.

Пример на Си : Вывести числа от 0 до 99 ниже главной диагонали

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16

#define _CRT_SECURE_NO_WARNINGS // для возможности использования scanf
#include
int main() for ( int i=0; i <
for ( int j = 0; j < 10; j++) // цикл для единиц
if (j > i) // если число единиц больше числа десятков в числе
break ; // выходим из вложенного цикла и переходим к новой строке
printf( "%2d " , i * 10 + j); // выводим вычисленное число (2 знакоместа) и пробел
>
printf( "\n" ); // во внешнем цикле переводим строку
>
getchar(); // scanf() не использовался,
return 0; // поэтому консоль можно удержать одним вызовом getchar()
>

Оператор break

Результат выполнения

Пример на Си : Вывести числа от 0 до 99 исключая числа, оканчивающиеся на 5 или 8

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16

#define _CRT_SECURE_NO_WARNINGS // для возможности использования scanf
#include
int main() for ( int i=0; i <
for ( int j = 0; j < 10; j++) // цикл для единиц
if ((j == 5) || (j == 8)) // если число единиц в числе равно 5 или 8,
continue; // переходим к следующей итерации цикла
printf( "%2d " , i * 10 + j); // выводим вычисленное число (2 знакоместа) и пробел
>
printf( "\n" ); // во внешнем цикле переводим строку
>
getchar(); // scanf() не использовался,
return 0; // поэтому консоль можно удержать одним вызовом getchar()
>

Оператор continue

Результат выполнения

При вложенных циклах действия операторов break и continue распространяется только на самую внутреннюю структуру, в которой они содержатся.

Оператор безусловного перехода goto

Общая форма записи

goto Метка;
. . .
Метка : Операция;

Выполнение оператора goto вызывает передачу управления в программе операции, помеченной Меткой . По сути Метка является идентификатором адреса операции, которой должно быть передано управление. Для отделения Метки от Операции используется двоеточие - : .
Метка может располагаться в программе как до оператора goto , так и после него. Имена Меток образуются по тем же правилам, что и имена переменных.

Пример на Си : Вывести все целые числа от 5 до 0.

1
2
3
4
5
6
7
8
9
10
11
12

#define _CRT_SECURE_NO_WARNINGS // для возможности использования scanf
#include
int main() int k = 5;
M1: if (k < 0) // если kgoto M2; // переходим на метку M2 (выходим из программы)
printf( "%d " , k); // выводим значение k
k--; // уменьшаем k на 1
goto M1; // переходим на метку M1 (повторяем операции выше)
M2: getchar();
return 0;
>

Оператор goto

Результат выполнения

Использование оператора goto в программах на Си без крайней необходимости не рекомендуется, поскольку это может повлечь за собой ряд ошибок, связанных с плохой читаемостью кода программы. Использование операторов цикла позволяет практически полностью исключить необходимость использования оператора goto .

Комментариев к записи: 26

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *