Вход/Регистрация
Язык Си - руководство для начинающих
вернуться

Д. МАРТИН

Шрифт:

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

Резюме: операции в языке Си

Ниже перечислены операции, которые мы уже обсудили.

= Присваивает величину справа от знака переменной слева от него

 + Прибавляет величину справа от знака к величине слева от него

– Вычитает величину справа от знака из величины слева от него

– Унарная операция, изменяет знак величины справа от знака

* Умножает величину справа от знака на величину слева от него

/ Делит величину слева от знака на величину справа от него.

Результат усекается, если оба операнда целые числа

 % Дает остаток при делении величины слева от знака на величину

справа от него (только для целых чисел)

++ Прибавляет 1 к значению переменной слева от знака (префиксная форма)

или к значению переменной справа от знака (постфиксная форма)

 -- Аналогичная операции ++, но вычитает 1

sizeof Дает размер операнда, стоящего справа, в байтах.

Операнд может быть спецификацией типа, заключенного в круглые скобки,

как, например, sizeof (float), или именем конкретной переменной,

массива и т. п., например sizeof foo

(тип) Операция приведения: приводит величину, стоящую справа, к типу,

определяемому ключевым словом (или словами) в скобках. Например,

(float)9 преобразует целое число 9 в число с

плавающей точкой 9.0.

ПРИМЕР ПРОГРАММЫ

На рис. 5.8 приведена программа, которая может оказаться полезной тем, кто занимается бегом, и которая иллюстрирует некоторые положения данной главы. Она выглядит довольно длинной, но все вычисления в ней выполняются шестью операторами, помещенными в конце. Большей частью программа занимается организацией диалога между машиной и пользователем. Мы ввели в программу достаточно большое число комментариев, чтобы сделать ее почти самодокументируемой. Просмотрите ее, а затем мы объясним некоторые ее моменты.

/* бег */

# define SM 60 /* число секунд в минуте */

# define SH 3600 /* число секунд в часе */

# define МК 0.62137 /* число миль в километре */

main

{

float distk, distm; /* дистанция в км и милях */

float rate; /* средняя скорость в милях в час */

int min, sec; /* время бега в минутах и секундах */

int time; /* время бега в секундах */

float mtime; /* время пробега одной мили в секундах */

int mmin, msec; /* время пробега одной мили в минутах и секундах */

printf(" Эта программа пересчитывает ваше время пробега дистанции, выраженной в км, \n");

printf(" во время, требуемое для пробега одной мили, и вашу среднюю \n");

printf(" скорость в милях в час,\n");

printf(" Укажите, пожалуйста, дистанцию в километрах.\n");

scanf(" %f ", &distk);

printf(" Введите затем время в минутах и секундах. \n ");

printf(" Начните с ввода минут. \n");

scanf(" %d", &min);

printf(" Теперь вводите секунды. \n");

scanf(" %d", &sec);time = SM * mm + sec; /* переводит время в секунды */

distm = MK * distk; /* переводит километры в мили */

  • Читать дальше
  • 1
  • ...
  • 39
  • 40
  • 41
  • 42
  • 43
  • 44
  • 45
  • 46
  • 47
  • 48
  • 49
  • ...

Ебукер (ebooker) – онлайн-библиотека на русском языке. Книги доступны онлайн, без утомительной регистрации. Огромный выбор и удобный дизайн, позволяющий читать без проблем. Добавляйте сайт в закладки! Все произведения загружаются пользователями: если считаете, что ваши авторские права нарушены – используйте форму обратной связи.

Полезные ссылки

  • Моя полка

Контакты

  • chitat.ebooker@gmail.com

Подпишитесь на рассылку: