- •Вопрос 5 Скалярные типы и выражения. Приведите пример простой программы.
- •Вопрос 6 Типы операций: операции присвоения и отношения. Примеры. Операция присваивания.
- •Вопрос7 Типы операций: логические, битовые и условные операции.
- •10) Условные операторы. Варианты условных операторов. Пример: Даны целые числа X, y. Вычислить max(X, y).
- •11) Условные конструкции. Оператор switch. Приведите примеры
- •12. Условные и циклические конструкции. Виды конструкций, что общего у них.
- •13.Циклические конструкции. Виды конструкций.
- •14Циклические констрккции.Цикл while
- •Вопрос15 Циклические конструкции. Цикл do...While. Приведите примеры.
- •Вопрос16 Циклические конструкции. Цикл for. Приведите примеры. Циклические конструкции. Цикл for
- •Вопрос17 Цикл for. Использование операции "запятая". Приведите примеры.
- •Вопрос18 Укажите особенности операторов go to, break, continue, return.
- •20Этапы решения задач на компьютере
- •21 Назначение препроцессора .Примеры использования директив препроцессора
- •1. Замена идентификаторов заранее подготовленными последовательностями символов;
- •2. Включение в программу текстов из указанных файлов;
- •3. Исключение из программы отдельных частей ее текста, условная компиляция;
- •4. Макроподстановка, то есть замена обозначения параметризованным текстом, формируемым препроцессором с учетом конкретных аргументов.
- •23Основные возможности функции scanf(). Приведите примеры
- •25Арифметические операции. Приведите примеры.
- •27 Указатели и адреса
- •28 Общие сведения о массивах
- •29Многомерные массивы. Работа с массивами с помощью указателей
- •30Общие сведения о функциях. Определение функции
- •31 Класс памяти (auto)
- •32Внешний класс памяти (extern)
- •33 Внешние глобальные объекты (extern)
- •33Внешние статические объекты (static).
- •34 Строки
- •35 Функция для работы со строками
Вопрос16 Циклические конструкции. Цикл for. Приведите примеры. Циклические конструкции. Цикл for
for цикл с известным заранее числом повторений. Его общий вид: for (<инициализация цикла>;<выражение-условие>;<список_выражений> <тело цикла>;
Здесь инициализация цикла - это последовательность определений (описаний) и выражений, разделяемых запятыми. Все выражения, входящие в инициализацию цикла, вычисляются только один раз при входе в цикл. Чаще всего здесь устанавливаются начальные значения счетчиков и параметров цикла. Под выражением-условием понимается конструкция, ранее описанная в циклах while и do: если она равна 0, то выполнение цикла прекращается. В случае отсутствия выражения-условия следующий за ним разделитель "точка с запятой" сохраняется. При отсутствии выражения-условия предполагается, что его значение всегда истинно. Это справедливо также в случае отсутствия секции инициализация цикла. Выражения из списка выражений вычисляются на каждой итерации после выполнения операторов тела цикла. Тело цикла может быть отдельным оператором, составным оператором или пустым оператором. for.
Пример. Составить программу по нахождению суммы квадратов первых k натуральных чисел.
#include <iostream.h>
void main()
{
int k;
cout << "\nЗадайте число: ";
cin >> k;
cout << '\n';
for (int i=1,s=0;i<=k;i++)
s+=i*i;
cout << "\nРезультат: " << s << '\n';
}
Вопрос17 Цикл for. Использование операции "запятая". Приведите примеры.
В заголовке цикла можно использовать операцию "запятая". Напомним, что операция "запятая" связывает два выражения в одно и гарантирует, что самое левое выражение будет вычисляться первым. Обычно она используется для включения дополнительной информации в заголовок цикла for. Например:
1. for (step=2,forgo=0; forgo<1000; step*=2)
forgo += step;
2. for (i=1,j=1; i<10,j<10; i++,j++)
z = i+j;
Таким образом, в различные части оператора for можно включить несколько выражений, например, для параллельного изменения двух индексов:
for (; i==j; i++,j++)
Пример 1.
#include<iostream.h>
main ()
{
for (int x=1,y=1,z=1; x<101,y<101,z<101; x++,y++,z++)
if (y*y+z*z==x*x)
cout << "x=" << x <<" y=" << y <<" z=" << z << endl;
}
При выполнении этой программы ничего не будет выведено на экран, так как переменные x, y, z одновременно будут принимать значения 1, 2, 3 и т.д.
Пример 2.
#include<iostream.h>
main ()
{
for (int x=1,y=1,z=1; x<10; x++,y++,z++)
cout << "x=" << x << "y=" << y << "z=" << z << endl;
}
Результаты работы программы:
x=1 y=1 z=1
x=2 y=2 z=2
x=3 y=3 z=3
x=4 y=4 z=4
x=5 y=5 z=5
x=6 y=6 z=6
x=7 y=7 z=7
x=8 y=8 z=8
x=9 y=9 z=9
если изменить текст последней программы, добавив в цикл условие y<5. Таким образом, текст программы примет следующий вид:
#include<iostream.h>
main ()
{
for (int x=1,y=1,z=1; x<10,y<5; x++,y++,z++)
cout << "x=" << x << "y=" << y << "z=" << z << endl;
}
Что будет выведено на экран при ее выполнении? Ниже приведены результаты работы этой программы:
x=1 y=1 z=1
x=2 y=2 z=2
x=3 y=3 z=3
x=4 y=4 z=4
Отсюда можно сделать вывод, что в данном случае операция "запятая" выполняет роль логической операции "И" (&&).
Применение операции "запятая" не ограничивается только циклами for, но именно в них она используется особенно часто.
