Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Основы_языка_С.doc
Скачиваний:
1
Добавлен:
01.05.2025
Размер:
137.22 Кб
Скачать

Пробелы и круглые скобки

Для повышения удобочитаемости программы при записи выражений можно использовать пробелы и символы табуляции. Например, следующие два оператора эквивалентны:

x=10/y~(127/x);

x = 10 / y ~(127/x);

Лишние скобки, если они не изменяют приоритет операций, не приводят к ошибке и не замедляют вычисление выражения. Дополнительные скобки часто используют для прояснения порядка вычислений. В следующем примере 2-я строка читается значительно легче:

x = y/3-34*temp+127;

x = (y/3) - (34*temp) + 127;

Логические значениия истина (True) и ложь (False) в языке с

При выполнении многих операторов языка С вычисляются значения условных выражений и в зависимости от полученного значения выбирается та или иная ветвь вычислительного процесса. Условное выражение может принимать одно из двух значений: ИСТИНА или ЛОЖЬ. В языке С значение ИСТИНА представлено любым ненулевым значением, включая отрицательные числа. Значение ЛОЖЬ всегда представлено нулем. Такое представление логических значений ИСТИНА и ЛОЖЬ позволяет весьма эффективно программировать многие процедуры.

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

Общая форма оператора if следующая:

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

else оператор;

Здесь оператор может быть только одним оператором, блоком операторов или отсутствовать (пустой оператор). Фраза else может вообще отсутствовать.

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

В следующей программе иллюстрируется использование оператора if. В ней запрограммирована очень простая игра "угадай магическое число". Если играющий угадал число, на экран выводится сообщение **Верно**. Программа генерирует "магическое число" с помощью стандартного генератора случайных чисел rand(). Генератор возвращает случайное число в диапазоне между 0 и RAND_MAX (обычно это число не меньше 32767). Функция rand() объявлена в заголовочном файле <stdlib.h>.

/* Магическое число, программа N1. */

#include <stdio.h>

#include <stdlib.h>

int main(void)

{

Int magic; /* магическое число */

Int guess; /* попытка игрока */

magic = rand(); /* генерация магического числа */

printf("Угадай магическое число: ");

scanf("%d", &guess);

if(guess == magic) printf("** Верно **");

return 0;

}

В следующей версии программы для игры в "магическое число" иллюстрируется использование оператора else. В этой версии выводится дополнительное сообщение в случае ложного ответа.

/* Магическое число, программа N2. */

#include <stdio.h>

#include <stdlib.h>

int main(void)

{

Int magic; /* магическое число */

Int guess; /* попытка игрока */

magic = rand(); /* генерация магического числа */

printf("Угадай магическое число: ");

scanf("%d", &guess);

if(guess == magic) printf("** Верно **");

else printf("Неверно");

return 0;

}

Оператор if является вложенным, если он вложен, т.е. находится внутри другого оператора if или else. В практике программирования вложенные условные операторы используются довольно часто. Во вложенном условном операторе фраза else всегда ассоциирована с ближайшим if в том же блоке, если этот if не ассоциирован с другой фразой else.

Например:

if(i)

{

if(j) statement 1;