Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
инфа.docx
Скачиваний:
75
Добавлен:
14.03.2016
Размер:
389.3 Кб
Скачать

Переменные и типы переменных.

2.1 Типы данных в си

 Тип данных – это описание диапазона значений, которые может принимать переменная, указанного типа. Каждый тип данных характеризуется:   1. количеством занимаемых байт(размером)   2. диапазоном значений которые может принимать переменная данного типа.  Все типы данных можно разделить на следующие виды:   1. простые (скалярные) и сложные (векторные) типы;   2. базовые (системные) и пользовательские(которые определил пользователь).  В языке СИ систему базовых типов образуют четыре типа данных:   1. символьный,   2. целочисленный,   3. вещественный одинарной точности,   4. вещественный двойной точности.

Подробное описание типов данных в языке си

тип

Символьный тип

Целочисленный тип

Вещественный тип одинарной точности

Вещественный тип двойной точности

описание

char

int

Float

double

размер

1 байт (8 бит)

4 байта (32 бита)

4 байта (32 бита) 23 бита – мантисса; 8 бит – порядок; 1 бит – знак.

8 байт (64 бита) 52 бита – мантисса; 11 бит – порядок; 1 бит – знак.

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

-128 ... 127

2147483648 ... 2147483647

±3.4Е±38 Точность до 7 знаков после запятой

±1.7Е±308 Точность до 17 знаков после запятой

 В языке СИ предусмотрены модификаторы типов данных двух видов:   1. модификаторы знака: signed и unsigned.   2. модификаторы размера: short и long.  Более подробно модификаторы типов описаны в таблице:

Модификатор

signed

unsigned

short

long

описание

осуществляет преобразование целочисленных значений к знаковым числам

осуществляет преобразование целочисленных значений к незнаковым числам

уменьшает размер целочисленного типа в два раза

увеличивает размер типа данных

использование

совместно с типами char и int. используется по умолчанию

совместно с типами char и int.

только с типом int

совместно с типами int и double.

пример

используется по умолчанию

unsigned char Диапазон: 0 ... 255

short int Диапазон: -32768 ...32767

long double – тоже, что и double Но в стандарте IEEE: 80 бит

Комплексные числа в си

 Комплексные числа введены в стандарте C99.   float _Complex   double _Complex   long double _Complex  Все это счастье находиться в библиотеке complex.h:)  Минимальные и максимальные значения всех базовых типов данных языка СИ описаны в библиотеках: limits.h – содержит диапазоны целочисленных значений, float.h – содержит диапазоны вещественных значений.

Логический тип данных в си

 Стандарт С89:   Логический тип – int0 – ложь (false);    не 0 – истина (true). Т.е как такового логического типа не создано, а вместо него используется int.  Стандарт С99:   Логический тип -_BoolКлючевые слова: bool true false А это счастье в библиотекеstdbool.h

Операторы объявлений

 Переменная – именованная область памяти вычислительной машины, предназначенная для хранения значений определенного типа, с произвольным методом доступа: чтение и запись. Имя переменой – разрешенный идентификатор языка СИ не использовавшийся ранее для обозначения других переменных, типов, элементов перечислений или имен функций. Оператор объявления переменных имеет следующий синтаксис: тип имя1[,имя2[,...]]; Примеры:  int a, b, c;  double x, y;  char ch; Есть некоторые негласные правила, т.е исполнения который является хорошим тоном, но делать это не обязательно:   1. каждое объявление переменных нового типа начинается с новой строки;   2. из названия переменной должно быть понятно зачем она и что в ней будет храниться(хотя иногда из-за таких вот информативных названий скорость написания кода падает, т.к некоторых заносит и они называют переменные целыми предложениями);   3. поэтому появляется правило: название переменной не должно быть слишком длинным;   4. после объявления переменной очень желательно в комментариях пометить зачем она;   5. необходимо разделять имена переменных пробелами.  Оператор объявления переменных с инициализацией имеет следующий синтаксис: тип имя1[=значение1][, имя2[=значение2][,...]]; Примеры: int a=26, b=032, c=0x1A;  double x=2.5e2,y=0x1.ffe-3;  char ch=’Z’;