Оператор цикла с параметром for
Цикл с параметром – цикл, в котором некоторая переменная изменяет своё значение от заданного начального значения до конечного значения с некоторым шагом, и для каждого значения этой переменной последовательность операторов цикла выполняется один раз.
Оператор цикла for – это наиболее общий способ организации цикла. Он имеет следующий синтаксис:
for (выражение1; выражение-условие; выражение3)
тело_цикла;
выражение1 – выражение инициализации, которое определяет действия, выполняемые до начала цикла, т.е. задает начальные условия для цикла. Оно выполняется один раз в начале цикла.
выражение-условие – это выражение, определяющее условие, при котором тело цикла будет выполняться. Проверка условия производится перед каждым возможным выполнением цикла. Оно обычно логическое или арифметическое.
выражение2 – выражение итерации, которое определяет изменение переменных, управляющих циклом после каждого выполнения тела цикла.
Схема выполнения оператора for следующая:
● вычисляется выражение1;
● вычисляется выражение-условие;
● если значение выражения-условия отлично от нуля, выполняется тело цикла, вычисляется выражение3 и осуществляется переход к пункту 2 (т.е. вычисляется выражение-условие и все повторяется…). Если значение выражения-условия равно нулю, то управление передается на оператор, следующий за оператором for.
Важно отметить, что проверка условия выполняется в начале цикла. Это значит, что тело цикла может ни разу не выполниться, если выражение-условие при входе в цикл будет равно нулю.
Пример 1. Вычисления квадратов чисел от 1 до 9.
#include <stdio.h>
void main() {
int i, b;
for ( i=1; i<10; i++ ) {
b=i*i;
printf("\n %2d в квадрате = %3d", i, b);
}
}
Примеры использования цикла for.
1) for (n=10; n>0; n--) /*уменьшение параметра n*/
{
операторы;
}
2) for (n=2; n>60; n+=13) /*изменение шага корректировки*/
{
операторы;
}
3) for (num=1; num*num*num<216; num++)
/*проверка условия отличного от того, которое налагается
на число итераций*/
{
операторы;
}
4) for (d=100.0; d<150.0; d*=1.1)
/*коррекция с помощью умножения*/
{
операторы;
}
5) for (x=1; y<=75; y=5*(x++)+10)
/*коррекция с помощью арифметического выражения*/
{
операторы;
}
6) for (x=1, y=0; x<10; x++;y+=x);
/*использование нескольких корректирующих выражений, тело цикла
отсутствует*/
Использование нескольких переменных (перечисляются через запятую), управляющих циклом for повышают его гибкость.
Бесконечный цикл – это цикл, написанный таким образом, что условие выхода из него никогда не выполняется. О программе, вошедшей в бесконечный цикл, иногда говорят, что она зациклилась. Для организации такого цикла можно использовать пустое условное выражение, а для выхода из цикла обычно используют дополнительное условие и оператор break.
for ( ; ; )
{ ...
... break;
...
}
Пример 2. Программа для печати фрагмента таблицы ASCII (от 32-го символа до 126-го).
#include <stdio.h>
void main() {
int number;
char character;
for (number = 32; number <= 126; number = number + 1 ) {
character = number;
printf("Символ %c имеет код %d (дес.) или
%x(шестнд.)\n",сharacter,character,character);
}
}
Пример 3. Вычислить S = 1 + 2 + 3 + 4 + … + n.
#include <iostream.h>
void main() {
int n,i,s=0;
cout<<"\nВведите n=";
cin>>n;
if(n<=0) {
cout<<"\n n<=0";
return;
}
for(i=1;i<=n;i++) s+=i;
cout<<"\nS="<<s<<"\n";
}
Задания
1.Составьте программу для решения задачи. Напечатать таблицу соответствия между весом в фунтах и весом в килограммах для 1, 2, … 10 (1 фунт = 453 г).
2.Составьте программу для решения задачи. Вычислить сумму n слагаемых: .
3.Составьте программу для решения задачи. Известны оценки за контрольную работу программированию каждого студента группы. Определить среднюю оценку.
4.Составьте программу для решения задачи. Вычислить факториал числа n. n!=1*2*..*n, 0!=1. Факториал определён только для целых неотрицательных чисел.
Домашние задания
1.Наберите коды программ из Примеров 1, 2 и 3. Сохраните коды программ. Выполните компиляцию и запуск программ. Введите свои данные в качестве входных.
2.Составьте программу для решения задачи. Напечатать таблицу умножения на число n (значение n вводиться с клавиатуры, 1 £ n £ 9). Ниже представлен рекомендуемый вид во время работы программы. Данные, вводимые пользователем, выделены жирным шрифтом.
Введите число n = 7
Таблица умножения на 7:
1*7=7
2*7=14
. . . .
9*7=63
3.Составьте программу для решения задачи. Вычислить сумму n слагаемых: .
4.Составьте программу для решения задачи. Даны числа a1, a2, … an. Определить сумму их квадратов.
5.Составьте программу для решения задачи. Вычислить двойной факториал n!! Значение n вводится с клавиатуры. Под двойным факториалом понимают произведение всех натуральных чисел той же четности, что и n, не превосходящих n. Например, 10!!=2*4*6*8*10; 9!!=1*3*5*7*9.
Дата добавления: 2015-02-16; просмотров: 697;