- •Этапы создания исполняемой программы
- •Идентификаторы
- •Ключевые слова
- •Комментарии
- •Структура программы
- •Вывод данных
- •Ввод данных
- •Вопросы для самоконтроля
- •Тема 1.1(2). Типы данных. Константы и переменные
- •Основные (стандартные) типы данных
- •Область действия переменных
- •1.3.1. Математические операции
- •1.3.2. Простое присваивание
- •1.3.3. Составное (сложное) присваивание
- •1.3.4. Операция приведения (преобразования) типов
- •1.3.5. Операции отношения
- •1.3.7. Операция sizeof
- •1.3.8. Операция "запятая" (,)
- •1.3.9. Условная операция (?:)
- •1.3.10. Указатель. Определение адреса переменной
- •1.3.11. Директива define
- •1.3.12. Директива include
- •1.3.13. Примеры программ
- •1.3.14. Вопросы для самоконтроля
- •Тема 1.3. Программирование алгоритмов различной структуры
- •Базовые конструкции структурного программирования
- •Операторы ветвления
- •1.4.1. Условный оператор if
- •If (условие) оператор_1; else оператор_2;
- •If (условие) оператор_1;
- •1.4.2. Оператор выбора switch
- •Операторы цикла
- •1.4.3. Оператор while
- •1.4.4. Оператор do...While
- •1.4.5. Оператор for
- •1.4.6. Функция exit(), операторы break, continue, return
- •Стандартные математические функции
- •Тема 1.4. Ввод-вывод данных
- •Функции get() и put()
- •Функция getch()
- •Функция printf
- •Функция sprintf()
- •Тема 1.5. Функции. Локальные и глобальные переменные. Способы передачи данных.
- •1.5.1. Видимость переменных
- •1.5.2. Определение функции
- •1.5.3. Функция main
- •1.5.4. Вызов функции
- •1.5.5. Способы передачи данных
- •1.5.6. Возвращаемые значения функции
- •1.5.7. Использование прототипов функций
- •Тема 1.6(1). Массивы и указатели
- •Объявление массива
- •Доступ к элементам массива
- •Многомерные массивы
- •Указатели
- •Тема 1.6(2). Структуры и строки
- •1.6.1. Структуры
- •1 Способ – по шаблону.
- •2 Способ – при объявлении (описании) шаблона.
- •1.6.2. Способы реализации строк
- •1.6.3. Строковые константы
- •1.6.4. Указатель на символьную строку
- •1.6.5. Массив символов
- •1.6.6. Некоторые функции для работы со строками
- •1.6.7. Некоторые функции проверки и преобразования символов
- •Тема 1.7. Работа с памятью
- •Функция malloc
- •Функция free
- •Операция new
- •Операция delete
- •Тема 1.10. Динамические структуры
- •Разновидности динамических структур
- •Примеры программ (фрагментов программ) для работы с динамическими структурами
Операторы цикла
1.4.3. Оператор while
Вставить из книги
Оператор while реализует цикл с предусловием.
Формат:
while (условие) оператор;
где условие – это логическое выражение, принимающее значение True или False
оператор – это простой или составной оператор (т.е. блок) ЯП С++
Выполнение оператора while:
Если условие истинно (не принимает значение False, т.е. не равно нулю), то выполняется оператор (тело цикла) и происходит возврат на проверку условия. Если условие ложно (принимает значение True, т.е. равно нулю), происходит выход из цикла. Таким образом, в цикле while задается условие для продолжения цикла.
Цикл while – это цикл с неизвестным числом повторений. Тело цикла может не выполниться ни разу (если при первой же проверке условие примет значение «ложно»).
Условие может быть составлено из нескольких выражений, с использованием логических операций:
-
|| (логическое сложение "или")
-
&& (логическое умножение "и").
Пример
char ans ='Y';
longint a==l;
while ( (ans ='Y') || (ans='y') )
{a*=a+l;
cout <<"\n"<< a;
cout <<"\n\t" <<" Для продолжения введите Y, для окончания N ";
cin >> ans;
}
Переменная ans описывается как символ, переменная а – как целое длинное. Если пользователь вводит 'Y' или 'у', то выполняются блок операторов в фигурных скобках.
Оператор while удобно использовать для проверки данных, введенных пользователем.
1.4.4. Оператор do...While
Вставить из книги
Оператор do...while реализует цикл с постусловием.
Формат:
do оператор while (условие);
где условие – это логическое выражение, принимающее значение True или False
оператор – это простой или составной оператор (т.е. блок) ЯП С++
Выполнение оператора do…while:
Выполняется оператор (тело цикла), затем проверяется условие. Если условие истинно (не принимает значение False, т.е. не равно нулю), то происходит возврат на выполнение оператора (тела цикла). Если условие ложно (принимает значение True, т.е. равно нулю), происходит выход из цикла. Таким образом, в цикле do...while задается условие для продолжения цикла.
Цикл do...while – это цикл с неизвестным числом повторений. В отличие от цикла while условие проверяется в конце цикла. Поэтому тело цикла выполняется хотя бы один раз.
Пример
char ans 'Y';
longint a=l;
do
{a*=a+l;
cout <<"\n" << a;
cout << "\n\t" <<" Для продолжения введите Y, для окончания N " ;
cin>> ans;
}
while ((ans ='Y') || (ans='y') );
1.4.5. Оператор for
Вставить из книги
Оператор for реализует цикл с известным числом повторений.
Формат:
for (начальное выражение; контрольное выражение; счетчик) оператор;
Выполнение оператора for:
-
Перед выполнением цикла вычисляется начальное выражение
-
Проверяется контрольное выражение
-
Если контрольное выражение истинное, то
-
выполняется оператор (тело цикла),
-
рассчитывается выражение счетчик,
-
возврат к пункту 2.
А если контрольное выражение ложно, то оператор for заканчивает свою работу.
Пример 1
// Программа выдает на экран числа от 1 до 10
#include <iostream.h>
main()
{
int i;
for (i=l; i<=10, i++)
{ cout << i <<"\n"; }
}
Пример 2
// Сложение чисел от а до b
#include <iostream.h>
main()
{ int a,b,i;
long int s=0;
cout <<Введите a \n";
cin>> a;
cout <<"Введите b \n";
cin>> b;
if(a>b)
{ cout <<"a>b"; }
else
{
for (i=a; i<=b; i++)
s+=i;
cout <<"\nСумма=" << s;
}
return 0;
}
Вопросы:
-
Что произойдет, если b окажется больше чем а?
-
Какое выражение вычисляется в качестве счетчика, начального выражения, контрольного выражения?
В качестве начального выражения можно использовать несколько операторов, их нужно разделять запятыми. В примере занесем s=0 в начальное выражение:
for (i=a, s=0; i>=b; i++)
s+=i;