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

Данные плавающего типа

Для переменных, представляющих число с плавающей точкой используются следующие модификаторы-типа : float, double, long double (в некоторых реализациях языка long double СИ отсутствует).

Величина с модификатором-типа float занимает 4 байта. Из них 1 байт отводится для знака, 8 бит для избыточной экспоненты и 23 бита для мантиссы. Отметим, что старший бит мантиссы всегда равен 1, поэтому он не заполняется, в связи с этим диапазон значений переменной с плавающей точкой приблизительно равен от 3.14E-38 до 3.14E+38.

Величина типа double занимает 8 байт в памяти. Ее формат аналогичен формату float. Биты памяти распределяются следующим образом: 1 бит для знака, 11 бит для экспоненты и 52 бита для мантиссы. С учетом опущенного старшего бита мантиссы диапазон значений равен от 1.7E-308 до 1.7E+308.

Примеры:

float f, a, b;

double x,y;

3) Что такое линейного программирование?

Линейной называется программа, все операторы которой выполняются последовательно в том порядке, в котором они записаны.

Общая структура программы на Си следующая:

директивы_препроцессора

определение_функции_1

определение_функции_2

определение_функции_N

Среди функций обязательно присутствует главная функция с именем main. Простейшая программа содержит только главную функцию и имеет следующую структуру:

директивы препроцессора

void main()

{ определения_объектов;

исполняемые_операторы;

}

Рассмотрим все необходимые средства языка для составления линейных вычислительных программ. В качестве опорного примера рассмотрим программу для вычисления площади треугольника по формуле Герона.

Пример 1. Дано: а, b, с — стороны треугольника. Вычислить S — площадь треугольника. По формуле Герона:

где р — полупериметр треугольника.

#include <stdio.h>

#include <math.h>

void main ()

{float a,b,c,p,s;

printf("\na="); scanf("%f",sa);

printf("\nb="); scanf("%f",&b);

printf("\nc="); scanf("%f",&c);

p=(a+b+c)/2;

s==sqrt (р* (p-a) * (p-b) * (p-c) ) ;

printf("\пПлощадь треугольника=%:е", s) ;

}

Разберемся более подробно, чем это делалось раньше, во всех элементах данной программы. Как уже было сказано, программа состоит из одной главной функции со стандартным именем main. Слово void обозначает отсутствие какого-либо возвращаемого этой функцией результата, а пустые скобки — отсутствие у нее аргументов. Все, что следует после заголовка функции и заключено в фигурные скобки, можно назвать телом функции. Первая строка — объявление используемых переменных. Все они плавающего типа double. Обратите внимание на то, что объявление переменных заканчивается точкой с запятой.

Дальнейшая часть программы — исполняемые операторы. Среди них операторы вывода на экран, ввода данных с клавиатуры, операторы присваивания.

Понятие «оператор» в Си трактуется следующим образом: любое выражение, после которого стоит точка с запятой, воспринимается компилятором как отдельный оператор. Оператор определяет законченное действие на очередном шаге выполнения программы.

С точки зрения данного выше определения следующая конструкция в программе является оператором:

i++;

Его называют оператором-выражением