- •Лексемы
- •Идентификаторы
- •Константы
- •Операции
- •Знаки пунктуации
- •Основные типы данных.
- •Описание переменных
- •Оператор присваивания
- •Примеры программ
- •Форматированный ввод, вывод
- •Особенности ввода, вывода символов
- •Функции gets, puts, atoi, atol и atof
- •Занятие 2. Операторы выбора.
- •Выражения, операции
- •Логические операции
- •Условная операция
- •Условный оператор
- •Оператор перехода goto
- •Оператор выбора switch
- •Оператор цикла с предусловием (while)
- •Оператор цикла с постусловием (do - while)
- •Оператор цикла for
- •Примеры использования операторо цикла
- •Занятие 3. Указатели. Ссылки. Массивы. Работа со строками.
- •Указатели
- •Операции разыменования и взятия адреса
- •Инициализация указателей
- •Арифметические операции с указателями
- •Присваивание указателей
- •Сравнение указателей
- •Операция new
- •Операция delete
- •Примеры использования указателей
- •Одномерные массивы
- •Инициализация одномерных массивов
- •Примеры работы с одномерными массивами
- •Многомерные массивы
- •Занятие 4. Указатели и массивы.
- •Указатели и одномерные массивы
- •Размещение одномерных массивов в динамической памяти.
- •Массивы указателей
- •Занятие 5. Указатели и многомерные массивы.
- •Двухмерный массив и вспомогательный массив указателей
- •Список рекомендуемой литературы.
Оператор цикла с предусловием (while)
В общем виде цикл while записывается так:
while (выражение)
оператор;
Здесь – while – ключевое слово (имя оператора цикла с предусловием);
выражение - это условное выражение или выражение любого типа;
оператор - оператор тела цикла или группа операторов, заключенных в фигурные скобки.
Оператор цикла с предусловием выполняется следующим образом:
сначала вычисляется выражение - условие продолжения цикла;
если это выражение истинно (не равно нулю), то выполняется оператор,
затем снова проверяется условие продолжения цикла, и если оно истинно, то выполняется оператор, затем снова проверяется условие и т.д.
если условие продолжения цикла ложно (равно 0), то происходит выход из цикла.
Если условие продолжения цикла ложно с самого начала, то оператор не выполняется ни разу.
Пример. Вычислить y=x2 на интервале 0<=x<=1 с шагом x=0.1 с использованием оператора while.
#include <stdio.h>
int main()
{
float x,y;
x=0.;
while (x <=1.000001)
{
y=x*x;
printf(“x=%f y=%f\n”,x,y);
x=x+0.1;
}
return 0;
}
Пояснения.
Так как переменная x в программе описана как float, то проверка строгого равенства величины x, полученной многократным суммированием, и числа 1.0 некорректна из-за ошибок округления. Чтобы цикл наверняка выполнился и для значения x=1.0, необходимо заменить проверку неравенства x<=1.0 проверкой неравенства x<=1.000001.
Оператор цикла с постусловием (do - while)
Оператор цикла с постусловием записывается так:
do
{
оператор;
}
while (выражение);
Здесь - do – ключевое слово;
оператор - оператор тела цикла или группа операторов, заключенная в фигурные скобки;
выражение - это условное выражение или выражение любого типа;
Оператор цикла с постусловием выполняется следующим образом:
сначала выполняется оператор тела цикла;
затем проверяется условие продолжения цикла;
если это выражение истинно (не равно нулю), то снова выполняется оператор, затем снова проверяется условие и т.д.;
если условие продолжения цикла ложно (выражение равно 0), то происходит выход из цикла.
Если условие продолжения цикла ложно с самого начала, то сначала выполнится оператор, а после этого произойдет выход из цикла, т.е. цикл с постусловием выполнится по крайней мере один раз.
Пример. Вычислить y=x2 на интервале 0<=x<=1 с шагом x=0.1 с использованием оператора цикла do-while
#include <stdio.h>
int main()
{
float x,y;
x=0.;
do
{
y=x*x;
printf(“x=%f y=%f\n”,x,y);
x=x+0.1;
}
while (x<=1.000001);
return 0;
}
Оператор цикла for
Оператор цикла for записывается следующим образом:
for (выражение1;выражение2;выражение3)
оператор;
Здесь выражение1 содержит операторы, в которых одному или нескольким переменным присваиваются начальные значения (через запятую);
выражение2 представляет собой условие продолжения цикла;
выражение3 содержит операторы-модификаторы (операторы, изменяющие значения одной или нескольких переменных – через запятую);
оператор - оператор тела цикла или группа операторов, заключенная в фигурные скобки;
Оператор цикла for выполняется следующим образом:
- сначала выполняются операторы выражение1;
- затем проверяется условие продолжения цикла выражение2;
- если это условие истинно (значение не равно 0), то выполняется оператор;
- затем выполняются операторы-модификаторы выражение3;
- затем снова проверяется условие продолжения цикла выражение2, если оно истинно, то выполняется оператор тела цикла, затем операторы модификаторы, затем снова проверяется условие продолжения цикла и т.д.;
- если условие продолжения цикла ложно, то происходит выход из цикла
Если условие продолжения цикла ложно с самого начала, то оператор не выполнится ни разу. Любое из трех или все три выражения в операторе for могут отсутствовать, однако разделяющие их точки с запятыми (;) опускать нельзя. Если опущено выражение2, то считается, что оно постоянно истинно. Оператор for(;;) представляет собой бесконечный цикл, эквивалентный оператору while(1).
Пример Вычисления y=x2 на интервале 0<=x<=1 с шагом x=0.1 с использованием оператора цикла for.
#include <stdio.h>
int main()
{
float x,y;
for (x=0.;x<=1.000001;x=x+0.1)
{
y=x*x;
printf(“x=%f y=%f\n”,x,y);
}
return 0;
}