Операции, выражения и операторы
Теперь, когда вы ознакомились со способами представления данных, давайте приступим к исследованию методов обработки данных. Для этих целей в языке С предлагается множество разнообразных операций. Вы можете выполнять арифметические действия, сравнивать значения, обновлять значения переменных, логически объединять отношения и делать многое другое. Начнем с базовых арифметических действий — сложения, вычитания, умножения и деления.
Другим аспектом обработки данных является такая организация программ, которая обеспечит выполнение ими правильных действий в должном порядке. Язык С обладает несколькими языковыми средствами, которые помогают решить эту задачу. Одним из таких средств является цикл, и в этой главе вы получите о нем первое представление. Цикл позволяет повторять действия и делать программу более интересной и мощной.
Введение в циклы
В листинге 5.1 показана демонстрационная программа, выполняющая несложные арифметические действия для вычисления длины ступни в дюймах, для которой подходит мужская обувь размера 9 (применяемого в США). Чтобы вы лучше смогли оценить преимущества циклов, в этой первой версии программы иллюстрируются ограничения программирования без использования циклов.
Листинг 5.1. Программа shoesl.c
/* shoesl.c -- преобразует размер обуви в дюймы */
#include <stdio.h>
#define ADJUST 7.31 // один из видов символической константы
int main(void)
{
const double SCALE = 0.333; // еще один вид символической константы
double shoe, foot;
shoe = 9.0;
foot = SCALE * shoe + ADJUST;
printf("Размер обуви (мужской) длина ступни\n");
printf("%10.1f %15.2f дюймов\n", shoe, foot);
return 0;
}
Ниже приведен вывод:
Размер обуви (мужской) длина ступни
10.31 дюймов
Программа демонстрирует два способа создания символических констант и в ней применяются умножение и сложение. Она принимает размер обуви (если вы носите размер 9) и сообщает длину вашей ступни в дюймах. Вы можете заявить, что в состоянии решить эту задачу вручную (или на калькуляторе) быстрее, чем будет произведен ввод этого кода с клавиатуры. Это правильное замечание. Написание одноразовой программы, обрабатывающей единственный размер обуви, является напрасной тратой времени и сил. Программу можно сделать более полезной, реализовав ее как интерактивную, но и в этом случае потенциал компьютера не будет задействован в полной мере.
Необходим какой-то способ, который позволил бы заставить компьютер выполнять повторяющиеся вычисления для заданной последовательности размеров обуви. В конце концов, это одна из причин применения компьютеров в арифметических вычислениях. Язык С предлагает несколько методов реализации повторяющихся вычислений, и здесь мы рассмотрим один из них. Этот метод, называемый циклом while, позволит более эффективно использовать операции. В листинге 5.2 приведен усовершенствованный вариант программы для определения длины стопы по размеру обуви.
Листинг 5.2. Программа shoes2. с
/* shoes2.c -- вычисляет длину стопы для нескольких размеров обуви*/
#include <stdio.h>
#define ADJUST 7.31 // один из видов символической константы
