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

2.6.2.4Функция ввода символа с клавиатуры.

Функция getch() приостанавливает выполнение программы до нажатия пользователем любой клавиши и возвращает введенный символ. В примере на экран выводится нажатая пользователем клавиша:

char sim;

sim=getch();

printf("Нажата клавиша %c.",sim);

2.6.3Составной оператор.

Иногда требуется выполнить несколько операторов там, где по правилам синтаксиса можно указать только один. Язык Си позволяет объединить эти операторы в один, заключив их в фигурные скобки:

{ Например:

{

оператор1

a = 1;

оператор2

b += sin(a);

····················

c *= b;

}

}

Такой оператор называется составным или блоком. После символа "}" символ ";" указывать не надо.

3.Операторы управления.

Операторы в программе выполняются последовательно один за другим. Операторы управления предназначены для изменения последовательности выполнения операторов. Блок-схемы этих операторов приведены в разделе 1.2.3.

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

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

3.1.1Оператор if-else.

Условный оператор if-else предназначен для изменения последовательности выполнения операторов программы в зависимости от выполнения условия (т.е. для принятия решений) и имеет вид (синтаксис):

if (условие)

Например:

if (x>y)

оператор1

{max=x; y=0;}

[else

else

оператор2]

{max=y; x=0;}

Оператор if выполняется следующим образом (семантика):

  1. В ычисляется условие.

  2. Если оно истинно (0), то

выполняется оператор1.

Иначе

Если есть else-часть

выполняется оператор2.

Иначе

переход к следующему после if оператору

В примере в переменную max заносится большее из x и y, а меньшее обнуляется (см.2.5.3.3). Скобки {}, образующие блоки, здесь существенны, поскольку по синтаксису после if и else должен стоять только один оператор.

Операторы, входящие в if, сами могут содержать оператор if (т.е. оператор if может быть вложенным). Если у вложенного if нет своей else-части, то можно неоднозначно толковать, куда относится else-часть - ко внешнему или внутреннему if. В Си else всегда относят к ближайшему if, у которого нет своего else. Для изменения этого порядка используют блоки.

П ример 7. Сравним для иллюстрации два оператора if:

if (a>b)

if (a>b)

if(c<0)

{ if(c<0)

x += 3;

x += 3;

else

}

x += 2;

else

x += 2;

В первом операторе else относится к внутреннему if, а во втором - к внешнему. Совет: всегда заключайте внутренний if в скобки.