Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
программирование 1 к ПОВТ.doc
Скачиваний:
4
Добавлен:
09.11.2019
Размер:
1.14 Mб
Скачать

Работа 4 Числовые типы данных

Цель работы:

  • освоить основные приемы работы с целыми типами данных;

  • изучить стандартные вещественные типы данных в языке C;

  • изучить методы составления алгебраических выражений;

  • научиться создавать, вводить и запускать простейшие линейные программы расчета по формулам;

  • научиться создавать собственные пользовательские подпрограммы-функции;

  • закрепить навыки работы в среде C++.

I.Теоретический раздел работы

1.1. Целые типы данных

В СИ имеется несколько целых типов данных, отличающихся размером памяти, отводимой для хранения значения данного, и способом записи знака значения. Для объявления целых переменных используются спецификаторы_типа представленные в табл.1

Таблица 1

Тип

Размер в байтах

Диапазон значений

char

1

от -128 до 127

int

2 или 4

как long или short

short

2

от -32768 до 32767

long

4

от -2 147 483 648 до 2 147 483 647

unsigned сhar

1

oт 0 до 255

unsigned int

2 или 4

как unsigned long или unsigned short

unsigned short

2

от 0 до 65535

unsigned long

4

от 0 до 4 294 967 295

Заметим, что ключевые слова signed и unsigned необязательны. Они указывают как интерпретируется нулевой бит объявляемой переменной, т.е., если указано ключевое слово unsigned, то нулевой бит интерпретируется как часть числа, в противном случае нулевой бит интерпретируется как знаковый. В случае отсутствия ключевого слова unsigned целая переменная считается знаковой. В том случае, если спецификатор_типа состоит из ключевого типа signed или unsigned и далее следует идентификатор переменной, то она будет рассматриваться как переменная типа int.

Cпецификатор_типа char требуется для представления символьных переменных, которые в СИ могут использоваться как арифметические данные. Значением объекта типа char является код (размером 1 байт) соответствующий представляемому символу. Для представления символов русского алфавита необходимо использовать тип unsigned char, так как коды русских букв превышают величину 127.

Например:

unsigned int n;

unsigned int b;

signed char lat;

unsigned char rus;

int c; (подразумевается signed int c )

unsigned d; (подразумевается unsigned int d )

signed f; (подразумевается signed int f )

Следует сделать следующее замечание, в языке СИ не определено представление в памяти и диапазон значений для переменных со спецификаторами_типа int и unsigned int. Размер памяти для переменной типа int определяется длиной машинного слова, которое имеет различный размер на разных машинах. Так на 16-ти разрядных машинах размер слова равен 2-м байтам, на 32-х разрядных машинах соответственно 4-м байтам, т.е. тип int эквивалентен типам short int, или long int в зависимости от архитектуры используемой ПЭВМ. Таким образом, одна и та же программа может правильно работать на одном компьютере и неправильно на другом.

Целая константа - это число записанное в программе в десятичной, восьмеричной или шестнадцатеричной форме. Десятичная целая константа может состоять из десятичных цифр, причем первая цифра не должна быть нулем. Восьмеричная константа состоит из обязательного нуля и одной или нескольких восьмеричных цифр (среди цифр должны отсутствовать  восьмерка и девятка, так как эти цифры не входят в восьмеричную систему счисления). Шестнадцатеричная константа начинается с обязательной последовательности 0х или 0Х и содержит одну или несколько шестнадцатеричных цифр (цифры представляющие собой набор цифр шестнадцатеричной системы счисления: 0,1,2,3,4,5,6,7,8,9,A,B,C,D,E,F)

Примеры целых констант:

Десятичная

Восьмеричная

Шестнадцатеричная

16

020

0x10

127

0117

0x2B

240

0360

0xF0

Если требуется сформировать отрицательную целую константу, то используют знак "-" перед записью константы (который будет называться унарным минусом). Например: -0x2A, -088, -16 .

Для того чтобы любую целую константу определить типом long, достаточно в конце константы поставить букву "l" или "L", для того, чтобы сделать константу беззнаковой, можно использовать букву u или U . Буквы L и U можно использовать одновременно. Пример:

5l, 6l, 128L, 0105L, OX2A11L, 0x004000c2ul.

В заголовочном файле values.h есть встроенные константы MAXINT и MAXLONG позволяют определить границы диапазонов целых типов int и long.