Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Domashnee_zadanie_Info.doc
Скачиваний:
0
Добавлен:
01.07.2025
Размер:
1.09 Mб
Скачать

Условные операторы

Условный оператор в Си имеет полную и сокращенную форму.

1) Сокращенная форма условного оператора имеет вид:

If (выражение) оператор1;

где оператор1 – простой или составной оператор.

Условный оператор if выполняет следующие действия. Если выражение в круглых скобках вырабатывает ненулевое значение (истина), то выполняется “оператор1”, в противном случае выполняется следующий за оператором if оператор.

Блок – схема оператора if приведена на рисунке 2.2.

2) Полная форма условного оператора имеет вид:

If (выражение)

оператор1;

else

оператор2;

где оператор1 и оператор2 – простые или составные операторы.

Если выражение в круглых скобках вырабатывает ненулевое значение (истина), то выполняется оператор1, в противном случае выполняется оператор2. Блок – схема оператора if…else приведена на рисунке 2.3.

Рис. 2.2. Схема работы оператора if

Рис. 2.3. Схема работы оператора if…else.

Пример

Найти максимальное число из трех целых чисел x, y, z.

int x, y, z, max;

scanf (“%d %d %d”, &x, &y, &z);

if (x > y)

max x;

else

max y;

if (z > max)

max z; 

printf (“max %d”, max);

Пример

Вычислить значение функции:

Возможны два пути решения:

1)

if ( x > 0)

y 1;  

if (x = = 0)

y 0;  

if ( x < 0)

y - 1;  

2)

if (x > 0)

y 1;

else

if (x < 0)

y - 1;

else

y 0;

Операторы цикла

Синтаксис оператора цикла for следующий:

for (выражение1; выражение2; выражение3)

оператор1;

где выражение1, выражение2, выражение3 – необязательные элементы.

Оператор цикла for работает следующим образом:

  1. вычисляется выражение1, если оно присутствует;

  2. вычисляется выражение2, если оно присутствует. Если полученное значение нуль, то цикл прекращается, в противном случае выполняется тело цикла – оператор1;

  3. вычисляется выражение3, если оно присутствует;

  4. переход к пункту 2.

Например,

// тело цикла – пустой оператор

for ( i=0; i<100; i++ );

// бесконечный цикл

for ( ; ; ) s = 0;

// бесконечный цикл

for ( i=10; i>6; i++ ) s = 0 ;

Пример. Найти произведение f = 200*198*196*….*2:

# include stdio.h

void main() {

int i, f 1;

for ( i 200; i =2; i  2) f * = i;

printf(f %d, f);}

Синтаксис оператора цикла while имеет вид:

while (выражение) оператор1;

Оператор цикла while выполняет следующие действия:

  • cначала вычисляется выражение в круглых скобках;

  • если полученное значение не равно нулю, то выполняется оператор1, представляющий собой тело цикла, в противном случае цикл прекращается.

Является циклом с предусловием (решение о прохождении цикла принимается до выполнения тела цикла).

Пример. Даны натуральные числа: 1,2, 3, …. n. Найти сумму чисел, кратных 3.

# include stdio.h

void main( )

{

int i, n, s ;

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

scanf ( %d, &n);

i=1; s = 0;

while ( i <= n)

{

if ( i % 3 == 0 ) s += i; i ++ ;

}

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

}

Синтаксис оператора цикла do…while следующий:

do оператор1 while (выражение);

Оператор цикла do…while является циклом с постусловием, так как проверка выражения в круглых скобках осуществляется после выполнения тела цикла – оператора1.

Цикл do…while прекращается, когда выражение в круглых скобках станет равным нулю.

Тело цикла do…while будет выполнено хотя бы один раз.

Пример. Вычислить n! = 1*2*3*…..*n;

# include stdio.h

void main( )

{

int i, n, k ;

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

scanf ( %d, &n);

i=1; k=1;

do

{ k *= i; i ++ ; }

while ( i <= n);

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

}

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]