Программа печати предельных констант. — КиберПедия 

Типы оградительных сооружений в морском порту: По расположению оградительных сооружений в плане различают волноломы, обе оконечности...

Археология об основании Рима: Новые раскопки проясняют и такой острый дискуссионный вопрос, как дата самого возникновения Рима...

Программа печати предельных констант.

2017-07-09 341
Программа печати предельных констант. 0.00 из 5.00 0 оценок
Заказать работу

 

#include <stdio.h>

#include <limits.h>

void main()

{

printf("\nCHAR_BIT=%d", CHAR_BIT);

printf("\nSCHAR_MIN=%d\t\tSCHAR_MAX=%d",

SCHAR_MIN, SCHAR_MAX);

printf("\nUCHAR_MAX=%d", UCHAR_MAX);

printf("\nINT_MIN=%d\t\tINT_MAX=%d", INT_MIN, INT_MAX);

printf("\nLONG_MIN=%ld\tLONG_MAX=%ld", LONG_MIN, LONG_MAX);

}

 

Результат выполнения программы:

CHAR_BIT=8

SCHAR_MIN=-128 SCHAR_MAX=127

UNCHAR_MAX=255

INT_MIN=-2147483648 INT_MAX=2147483647

LONG_MIN= -2147483648 LONG_MAX=2147483647

 

Для вывода вещественных значений с мантиссой и порядком в форматной строке функции printf() нужно использовать спецификацию %e. Следующая программа выводит на экран значения некоторых из предельных вещественных констант:

#include <stdio.h>

#include <float.h>

void main()

{

printf("\nFLT_EPSILON=%e", FLT_EPSILON);

printf("\nDBL_EPSILON=%e", DBL_EPSILON);

printf("\nFLT_MIN=%e\tFLT_MAX=%e", FLT_MIN, FLT_MAX);

printf("\n \t \t \tDBL_MAX=%E", DBL_MAX);

printf("\nFLT_MANT_DIG=%d", FLT_MANT_DIG);

printf("\nDBL_MANT_DIG=%d", DBL_MANT_DIG);

}

Результаты выполнения программы:

FLT_EPSILON=1.192093e-07

DBL_EPSILON=2.20446e-16

FLT_MIN=1.175494e-38 FLT_MAX=3.402823e+38

DBL_MAX=1.797693e+308

FLT_MANT_DIG=24

DBL_MANT_DIG=53

 

FLT_MANT_DIG и DBL_MANT_DIG – максимальные значения типов float и double, сумма каждого из которых со значением 1.0 не отличается от 1.0. Предельные константы называют «машинными нулями» относительно вещественного значения 1.0.

Применимость вещественных данных. Допустим, необходимо вычислить выражение .

 

#include <stdio.h>

void main()

{

float a,b,c,t1,t2,t3;

a=95.0;

b=0.02;

t1=(a+b)*(a+b);

t2=-2.0*a*b-a*a;

t3=b*b;

c=(t1+t2)/t3;

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

}

Результат выполнения программы:

с=2.441406

Если а=100.0, то результат будет еще хуже 0.000000

Если заменить float на double, то значение выражения будет вычислено точно 1.000000

Приведенный пример и общие положения вычислительной математики заставляют существенно ограничить применение переменных типа float. Тип float можно выбирать для представления исходных данных или окончательных результатов, получаемых в программе. Однако применение данных типа float в промежуточных вычислениях (особенно в итерационных алгоритмах) следует ограничить и всегда использовать double либо long double.

 

6.2. Элементарные средства программирования

 

Деление операторов языка Си на группы. Операторы управления работой программы называют управляющими конструкциями программы. К ним относятся:

§ составные операторы;

§ операторы выбора;

§ операторы циклов;

§ операторы перехода.

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

1.2.1. Условный оператор

Условный оператор имеет сокращенную форму:

if (выражение_условие) оператор;

где в качестве выражение_условие могут использоваться арифметическое выражение, отношение и логическое выражение. Оператор, включенный в условный, выполняется только в случае истинности (т.е. при ненулевом значении) выражение_условие.

Рис. 16. Синтаксическая диаграмма условного оператора.

Пример:

if (x < 0 && x > -11) x=-x;

Кроме сокращенной формы, имеется еще и полная форма условного оператора:

if (выражение_условие)

оператор_1;

Else

оператор_2;

Пример использования условного оператора.

Составить программу вычисления значения функции f(x,y) для заданных значений a, b, c и произвольного x с автоматическим выбором необходимой формулы:

где .


Поделиться с друзьями:

Папиллярные узоры пальцев рук - маркер спортивных способностей: дерматоглифические признаки формируются на 3-5 месяце беременности, не изменяются в течение жизни...

Архитектура электронного правительства: Единая архитектура – это методологический подход при создании системы управления государства, который строится...

Опора деревянной одностоечной и способы укрепление угловых опор: Опоры ВЛ - конструкции, предназначен­ные для поддерживания проводов на необходимой высоте над землей, водой...

Индивидуальные и групповые автопоилки: для животных. Схемы и конструкции...



© cyberpedia.su 2017-2024 - Не является автором материалов. Исключительное право сохранено за автором текста.
Если вы не хотите, чтобы данный материал был у нас на сайте, перейдите по ссылке: Нарушение авторских прав. Мы поможем в написании вашей работы!

0.01 с.