Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Билеты на экзамен.docx
Скачиваний:
5
Добавлен:
25.08.2019
Размер:
156.49 Кб
Скачать

If (условие) оператор_1; else оператор_2;

Синтаксис сокращенной формы записи условного оператора:

If (условие) оператор_1;

Условие является логическим вычисляемым выражением,  например, x < 0, y > 3, (x > 3) && (x < 5) и т. д. Условие заключается в круглые скобки, что синтаксически отделяет его от последующего оператора_1.

В полной форме условного оператора при истинности условия выполняется оператор_1, в противном случае (условие ложно) выполняется оператор_2, следующий после ключевого слова языка else.

В сокращенной форме условного оператора при выполнении (истинности) условия выполняется оператор_1, в противном случае (условие ложно) происходит переход к следующему за if оператору.

В качестве оператора_1 и оператора_2 могут выступать любые простые и/или структурные операторы.

   Пример 12.5.4. Написать программу вычисления функции по различным математическим выражениям на различных интервалах:

#include <stdio.h>

 main()

 {float x,y;

  printf("Введите x\n");

  scanf(“%f “,&x);

  if (x<=0) {y=x*x+1;}

  else if (x>2) {y=x+1;}

  else y=7-x*x;

  printf(“ x=%8.2f y=%8.2f\n”,x,y);

  return 0; }

  1. В языке Си существует три оператора циклов: цикл с параметром (цикл типа for), цикл  с  предусловием  (цикл  типа  while), цикл с постусловием (цикл типа do … while).

Цикл с параметром имеет следующий синтаксис:

for (раздел 1; раздел 2 ; раздел 3) тело цикла;

где раздел 1 - инициализация; раздел 2 - проверка условий повторения цикла; раздел 3 - модификация; тело цикла (повторяющаяся часть) состоит из одного оператора; если требуется выполнить в цикле несколько операторов, они заключаются в фигурные скобки, образуя составной оператор.

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

В каждом разделе может быть произвольное количество операторов, в этом случае операторы внутри раздела отделяются запятыми. Если в разделе нулевое число операторов, точки с запятой ставятся все равно, так, возможен заголовок цикла for ( ; ; ), в этом случае условие выхода из цикла должно содержаться внутри тела цикла.

В разделе 1 записываются операторы, которые должны быть выполнены до цикла. В разделе 2 записываются операторы проверки условий повторения цикла; при истинности условий цикл повторяется. В разделе 3 записываются операторы, которые должны быть выполнены после каждой итерации цикла.

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

Пример 12.5.6. Найти сумму квадратов натурального ряда:

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

#include<stdio.h>

 #include<conio.h>

 main()

 {   int S,n,i;

   clrscr();

   printf(“Введите n\n”);

   scanf(“%d”,&n);

   for(S=0,i=1;i<=n;i++) S+=i*i;

   printf(“n=%d S=%d\n”,n,S);

   getch();

   return 0;  }

В программе определяются целые переменные S, n, i. В языке Си учитывается регистр при определении идентификатора (имени) переменной. Функция clrscr, производящая очистку экрана, содержится в заголовочном файле conio.h. После ввода переменной n следует цикл типа for. В разделе инициализации присваиваются  начальные значения переменным S (в которой накапливается сумма квадратов) и i - параметру цикла. Присваивания разделяются запятой, раздел инициализации отделяется точкой с запятой. В разделе проверки условия значение i сравнивается с n, при i меньшем или равном n цикл повторяется, в противном случае происходит выход из цикла. Раздел модификации состоит из оператора инкремента (увеличения на 1) значения параметра цикла i. Запись i++ эквивалентна записи i = i + 1.

 В цикле выполняется один оператор S += i * i; это оператор составного присваивания, эквивалентный оператору S = S + i * i, поэтому фигурные скобки для тела цикла не требуются. После окончания цикла производится печать результата (оператор printf). Функция getch, содержащаяся в заголовочном файле conio.h, ожидает нажатия любой клавиши.