adfun.ru
| |
BIGLIB |
| большущая библиотека (9812 книг), можно не только прочитать но и скачать бесплатно |
|
| |
ФАНТАСТИКА |
| фентези,
фантастика, фантастические повести |
|
| |
ФИЛОСОФИЯ |
книги, которые заставляют
задуматься над окружающим тебя миром.
|
|
| |
МЕДИЦИНА |
медицинские книги,
методички,
народные лечебники |
|
| |
КУЛИНАРИЯ |
рецепты
тортов, консервирование,
все о спиртных
напитках. |
|
| |
СТИХИ |
| стихи популярных
и не очень авторов |
|
| |
ТВОРЧЕСТВО |
| народное творчество,
стихи, песни и т.д. |
|
| |
ЮМОР |
| анекдоты, приколы,
смешные истории |
|
| |
ЭРОТИКА |
| эротические рассказы,
книги о технике секса,
кама-сутра и др. |
|
|
| |
 |
else
puts("Продолжаем работу!\n");
Как работает эта конструкция? Если в программе используется
выражение ((ch=getch()) == 'q'), то она, дойдя до него, останав-
- 443,444 -
ливается и переходит в состояние ожидания ввода символа с клавиа-
туры. После того, как вы введете символ, осуществляется присваи-
вание введенного символа переменной ch и выполняется сравнение
введенного символа с символом 'q'. Если введенный символ равен
'q', то на экран будет выведено сообщение "До свидания! Программа
завершена.", в противном случае будет выведено сообщение "Продол-
жаем работу!".
Оператор запятая.
-----------------------------------------------------------------
Вы можете использовать оператор запятая (,) для организации
множественных выражений, расположенных внутри круглых скобок. Вы-
ражение внутри скобок вычисляется слева направо и все выражение
принимает значение, которое было вычислено последним. Например,
если oldch и ch имеют тип char, то выражение
(oldch = ch, ch = getch())
присваивает переменной oldch значение ch, затем считывает символ,
вводимый с клавиатуры, и запоминает его в ch. Результатом всего
выражения, в итоге, будет значение введенного с клавиатуры симво-
ла. Приведем еще один пример:
ch='a';
if((oldch = ch, ch = 'b') == 'a')
puts("Это символ 'a'\n");
else
puts("Это символ 'b'\n");
Как вы считаете, какое сообщение будет выведено на экран вашего
дисплея в результате выполнения приведенной выше программы?
Оператор if.
-----------------------------------------------------------------
Обратимся теперь опять к оператору if, который фигурировал
при рассмотрении первых примеров. Оператор if имеет следующий ос-
новной формат:
- 445,446 -
if (значение)
оператор1;
else
оператор2;
где "значение" является любым выражением, которое приводится или
может быть приведено к целочисленному значению. Если "значение"
отлично от нуля ("истина"), то выполняется "оператор1", в против-
ном случае выполняется "оператор2".
Дадим пояснение относительно двух важных моментов по исполь-
зованию оператора if-else.
Во-первых, часть "else оператор2" является необязательной
частью оператора if; другими словами, правомерно употребление
следующей формы оператора if:
if (значение)
оператор1;
В этой конструкции "оператор1" выполняется тогда и только
тогда, когда "значение" отлично от нуля. Если "значение" равно
нулю, "оператор1" пропускается и программа продолжает выполняться
дальше.
Во-вторых, что делать если вы хотите выполнить более одного
оператора в зависимости от того ложно или истинно выражение, ука-
занное в операторе if? Ответ: используйте составной оператор.
Составной оператор состоит из:
- левой или открывающей фигурной скобки ({)
- последовательности операторов, разделенных между собой точ-
кой с запятой (;)
- правой или закрывающей фигурной скобки (})
В приведенном ниже примере в предложении if используется
один оператор
if (b == 0.0)
printf("Отношение не определено\n");
а в предложении else - составной оператор
- 447,448 -
else {
ratio = a/b;
printf( "Значение отношения равно %f\n", ratio);
}
Вы можете так же заметить, что тело вашей программы (функции
main) является подобием составного оператора.
Циклические конструкции в программах.
-----------------------------------------------------------------
Наряду с операторами (или группами операторов), которые мо-
гут выполняться в зависимости от каких-либо условий, существуют
еще и операторы, которые могут выполняться несколько раз в одной
и той же последовательности. Такой вид конструкции в программе
известен как цикл. Есть три основных типа циклов (хотя два из них
можно рассматривать как разновидность одного). Это цикл while
("пока"), цикл for ("для") и цикл do...while ("делать ... пока").
Рассмотрим их по порядку.
Цикл while.
-----------------------------------------------------------------
Цикл while является наиболее общим и может использоваться
вместо двух других типов циклических конструкций. В принципе мож-
но сказать, что по-настоящему для программирования необходим
только цикл while, а другие типы циклических конструкций служат
лишь для удобства написания программ.
- 449,450 -
Загрузите с диска файл HELLO.C и измените его следующим об-
разом:
#inсlude
main()
{
int len;
len=0;
puts("Наберите предложение, затем нажмите <Ввод>");
while ( getchar() != '\n')
{
len++;
}
printf("\nВаше предложение имеет длину %d символов\n",len);
}
Эта программа позволяет ввести предложение с клавиатуры и
подсчитать при этом, сколько раз вы нажали на клавиши клавиатуры
до тех пор, пока не нажали на клавишу <Ввод> (соответствует спе-
циальному символу конца строки - '\n'). Затем программа сообщит
вам сколько символов (символ '\n' не подсчитывается) вы ввели.
Оператор while имеет следующий формат:
while (выражение)
оператор
где "выражение" принимает нулевое или отличное от нуля значение,
а "оператор" может представлять собой как один оператор, так и
составной оператор.
В процессе выполнения цикла while вычисляется значение "вы-
ражения". Если оно истинно, то "оператор", следующий за ключевым
словом while, выполняется и "выражение" вычисляется снова. Если
"выражение" ложно, то цикл while завершается и программа продол-
жает выполняться дальше.
Обратите внимание на другой пример цикла while, который
также находится в файле HELLO.C:
#include
- 451,452 -
|
adfun.ru
|
|
|
|