рефераты конспекты курсовые дипломные лекции шпоры

Реферат Курсовая Конспект

Основные типы данных

Основные типы данных - раздел Электроника, ИНФОРМАТИКИ И РАДИОЭЛЕКТРОНИКИ Данные В Языке Си Разделяются На Две Категории: Простые (Скалярные), Будем Их...

Данные в языке Си разделяются на две категории: простые (скалярные), будем их называть базовыми, и сложные (составные) типы данных.

Основные типы базовых данных: стандартный целый (int), веще­ствен­ный с одинарной точностью (float) и символьный (char).

В свою очередь, данные целого типа могут быть короткими (short), длинными (long), и без знаковыми (unsigned), а вещественные - с удвоенной точностью (double).

Сложные типы – массивы, структуры (struct), объединения или смеси (union), перечисление (enum).

Данные целого и вещественного типов находятся в определенных числовых диапазонах так как занимают разный объем оперативной памяти:

Таблица 1

Тип данных Объем памяти (байт) Диапазон значений
сhar -128 …127
int -32768…32767
short 2(1) -32768…32767(-128…127)
long -2147483648…2147483647
unsigned int 0…65535
unsigned long 0…4294967295
float 3,14*10-38…3,14*1038
double 1,7 *10-308 1,7 *10308

 

4.3. Декларация (объявление) объектов

Все объекты, с которыми работает программа в Си необходимо декларировать, т.е. объявить компилятору об их присутствии в программе. При этом возможны две формы декларации:

- описание, не приводящее к выделению памяти;

- определение, при котором под объект будет выделен объем оперативной памяти, в соответствии с его типом; в этом случае объект можно сразу инициализировать, т.е. задать его начальное значение.

Кроме констант, которые можно задавать в исходном тексте, все объекты программы должны быть явно декларированы по следующему формату:

<атрибуты> <список ID объектов>;

элементы списка разделяются запятыми, а атрибуты - разделителями. Например: int i,j,k; float a,b;

Объекты программы в общем случае имеют следующие атрибуты:

<класс памяти> - характеристика способа размещения объектов в памяти (статическая, динамическая), определяет область види­мости и время жизни переменной (по умолчанию - auto), данные атрибуты будут рассмотрены позже;

<тип> - характеристика механизма интерпретации данных, т.е. это совокупность информации о том, сколько объекту нужно выделить памяти, какой вид имеет представление информации и какие действия над ней допустимы (по умолчанию - int).

Класс памяти и тип – атрибуты необязательные и могут отсутст­во­вать, тогда их значения установятся по умолчанию.

Примеры декларации простых объектов:

int i,j,k;

char r;

double gfd;

Рассмотрим основные базовые типы данных более подробно.

 

4.4. Данные целого типа (int)

Тип int - целое число, обычно соответствующее естественному размеру целых в используемой ЭВМ. Квалификаторы short и long, которые можно использовать с типом int, указывают на различные размеры целых, т.е. определяют размер памяти, выделяемый под переменные (табл.1).

Примеры: short int x;

long int x;

unsigned int x = 8; (декларация с одновременной инициализацией числом 8).

Атрибут int в таких ситуациях может быть опущен.

Атрибуты signed и unsigned показывают, как интерпретируется старший бит числа, как знак или как часть числа:

 

int Знак Значение числа  
14 13 12 11 10 9 8 7 6 5 4 3 2 1 0 - номера битов

 

unsigned int   Значение числа
15 0

 

long Знак Значение числа
30 0

 

unsigned long   Значение числа
31 0

 

Если указан только атрибут int, это означает - short signed int.

4.5. Данные символьного типа (char)

Символьная переменная занимает в памяти 1 байт и представля­ется кодом от 0 до 255. Закрепление конкретных символов за кодами производится кодовыми таблицами.

Для персональных компьютеров наиболее распространена ASCII (American Standard Code for Information Interchenge) таблица кодов (Приложение 1). Данные типа char рассматри­ваются компиля­то­ром как "целые", поэтому возможно использование signed char (по умолчанию) - символы с кодами от -128 до +127 (т.е. только символы с кодами до 127) и unsigned char - символы с кодами от 0 до 255 (в том числе и русские).

Примеры:

char res, simv1, simv2;

char let = 's'; (декларация с одновременной инициализацией символом s).

 

4.6. Данные вещественного типа (float, double)

Данные вещественного типа в памяти занимают, соответственно, float - 4 байта; double - 8 байт; long double (повышенная точность) - 10 байт. Для размещения данных типа float обычно 8 бит выделено для представления порядка и знака и 24 бита под мантиссу.

Тип Точность (мантисса) Порядок
float 7 цифр после запятой ± 38
double ± 308
Long double ± 4932

 

– Конец работы –

Эта тема принадлежит разделу:

ИНФОРМАТИКИ И РАДИОЭЛЕКТРОНИКИ

Министерство образования Республики Беларусь... Учреждение образования БЕЛОРУССКИЙ ГОСУДАРСТВЕННЫЙ УНИВЕРСИТЕТ...

Если Вам нужно дополнительный материал на эту тему, или Вы не нашли то, что искали, рекомендуем воспользоваться поиском по нашей базе работ: Основные типы данных

Что будем делать с полученным материалом:

Если этот материал оказался полезным ля Вас, Вы можете сохранить его на свою страничку в социальных сетях:

Все темы данного раздела:

Структура ПЭВМ
ПЭВМ содержат клавиатуру, системный блок, и дисплей. Схема ПЭВМ представлена на рис. 1.     Р

Размещение данных и программ в памяти ПЭВМ
Данные и программы во время работы ПЭВМ размещаются в оперативной памяти, которая представляет собой последовательность пронумерованных ячеек. По указанному номеру процессор находит нужную ячейку,

Программные модули
Про­грам­мист пишет программу на языке высокого уровня, т.е. наиболее удобном для записи алгоритма решения определенного класса задач. Исходный текст программы, введенный с

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

Файловая система хранения информации
Для размещения информации и программ на различных устройствах компьютера, необходимых пользователю, была разработана концепция файлов. Под файлом понимается поимено

Способы описания алгоритмов
Существует несколько способов описания алгоритмов. Наиболее распро­стра­ненными являются словесное и графическое описания алгоритма. Словесное описание алгоритма рассм

Основные символы схемы алгоритма
Символы ввода-вывода данных: - данные ввода/вывода (носитель не определен);  

Немного истории
Алгоритмический язык С был разработан в 1972 г. сотрудником фирмы AT&T Bell Laboratory Денисом Ритчи на базе языка В (автор К.Томпсон), который в свою очередь основывался на языке системного пр

Алфавит языка
Каждому из множества значений, определяемых одним байтом, - от 0 до 255, ‑ в таблице знакогенератора вычислительной машины ставится в соответствие символ. По системе кодировки фирмы IBM симво

Идентификаторы и ключевые слова
Идентификатор (в дальнейшем, для краткости - ID) – это имя программного объекта (константы, переменной, метки, типа, функции, модуля, поля в структуре). В иден

Простейшая программа
Программа написанная на языке Си состоит из одной или нескольких функций, причем одна функция обязательна имеет идентификатор (имя) main() – основная, главная. Ее назначение – управление всей работ

Целочисленные константы
Общий формат: ±n (+ обычно не ставится). Десятичные константы - последовательность цифр 0...9, первая из которых не должна быть 0. Например, 22 и 273 - обычные целые констант

Символьные константы
Символьная константа - это символ, заключенный в одинарные кавычки: 'A', 'х' (занимает 1 байт). Тип char ® целое int. Так же используются специальные последовательности симво

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

Операция приведения типа
В любом выражении преобразование типов может быть осуществлено явно. Для этого достаточно перед любым выражением поставить в скобках идентификатор соответствующего типа. Вид записи операци

Стандартные математические функции
Математические функции алгоритмического языка Си декларированы в файлах <math.h> и <stdlib.h>. В последующих записях аргументы x и y имеют тип double; параметр n им

Функции вывода данных на дисплей
Для вывода информации в языке Си чаще всего используются функции: printf() и puts(). Формат функции printf(): printf((<управляющая строка>, список объектов

Функции ввода информации
Функция scanf() предназначена для форматированного ввода исходной информации с клавиатуры Общий вид этой функции: scanf (<управляющая строка>, список адресо

Ввод - вывод потоками
Поток - это абстрактное понятие расширенной версии языка С, которое относится к любому переносу данных от источника к приемнику. Чтение данных из потока - это извлечение (extraction).

Указатели
Указатель – это переменная, которая может содержать адрес некоторого объекта. Указатель объявляется следующим образом: <тип> *< ID переменной-указателя>;

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

Одномерные массивы
Индексы у одномерных массивов в языке Си начинаются с 0, а в программе одномерный массив объявляется следующим образом: <тип> < ID_массива>[размер]={список начальных значений};

Операция sizeof
Данная операция позволяет определить размер объекта по ID или типу, результатом является размер памяти в байтах (тип результата int). Формат записи: sizeof(параметр

Применение указателей
Идентификатор массива – это адрес памяти, начиная с которого он расположен, т.е. адрес его первого элемента. Работа с массивами тесно связана с применением указателей. Пусть объявлены масс

Указатели на указатели
В языке Си можно описать переменную типа «указатель на указатель». Это ячейка оперативной памяти, в которой будет храниться адрес указателя на какую либо переменную. Признак такого типа данных – по

Адресная функция
Использование многомерных массивов в языке Си связано с расходами оперативной памяти на массивы указателей. Можно избежать таких расходов, если ввести адресную функцию для доступа к элемен

Работа с динамической памятью
  В языке С размерность массива при объявлении должна задаваться константным выражением. При необходимости работы с массивами перемен­ной размерности вместо массива достаточно объявит

Строки в языке Си
  В языке Си отдельного типа данных «строки символов» нет. Работа со строками реализована путем использования одномерных массивов типа char, т.е. строка символов – это одномерный масс

Русификация под Visual
При работе в консольном приложении Visual ввод-вывод выполняется в кодировке ASCII, которая является международной только в первой половине кодов (от 0 до 127, см. Приложение 1). Символы национальн

Декларация функции
Как объект языка Си, функцию необходимо объявить. Объявление функции пользователя, т.е. ее декларация, выполняется в двух формах – в форме описания и в форме определения. Описание функции

Вызов функции
Вызов функции имеет следующий формат: ID _функции (список_аргументов); где в качестве аргументов можно использовать константы, переменные, выражения (их значения перед вызо

Операция typedef
Любому типу данных, как стандартному, так и определенному пользователем, можно задать новое имя с помощью операции typedef: typedef <тип> <новое_имя>;

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

Функции с переменным числом параметров
Иногда нельзя перечислить типы и число всех возможных параметров функции. В этих случаях список параметров представляется многоточием (...), которое отключает механизм проверки типов. Наличие много

Автоматические переменные
Переменные, декларированные внутри функций, являются внутренними и называются локальными переменными. Никакая другая функция не имеет прямого доступа к ним. Такие объекты существуют временно

Внешние переменные
Объекты, размещаемые в статической памяти, декларируются с атрибутом static и могут иметь любой атрибут области действия. Глобальные объекты всегда являются статическими. Атрибут s

Декларация структурного типа данных
Структурный тип данных задается в виде шаблона, общий формат описания которого следующий: struct ID структурного типа { описание полей }; Атрибут «ID структурног

Создание структурных переменных
Как уже отмечалось само описание структуры не приводит к выделению под нее места в ОП. Теперь необходимо создать нужное количество переменных с приведенной структурой и сделать это можно двумя спос

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

Объединения
Объединение - поименованная совокупность данных разных типов, размещаемых с учетом выравнивания в одной и той же области памяти, размер которой достаточен для хранения наибольшего элемента.

Перечисления
Перечисления - средство создания типа данных посредством задания ограниченного множества значений. Определение перечислимого типа данных имеет вид enum ID_

Открытие файла
Каждому файлу присваивается внутреннее логическое имя, используемое в дальнейшем при обращении к нему. Логическое имя (идентификатор файла) - это указатель на файл, т.е. на область памяти, где соде

Закрытие файла
После работы с файлом доступ к нему необходимо закрыть. Это выполняет функция int fclose(указатель файла). Например, из предыдущего примера файл закрывается так: fclose (f);

Блоковый ввод-вывод
В функциях блокового ввода-вывода работа происходит с целыми блоками информации: int fread(void *p, int size, int n, FILE *f) - считывает n блоков

Бинарные файлы
Бинарные (двоичные) файлы обычно используются для организации баз данных, состоящих, как правило, из объектов структурного типа. При чтении-записи бинарных файлов удобнее всего пользоваться функция

Макрозамещение
Макрозамещение - обобщение лексемного замещения посредством параметризации строки директивы define в виде: #define ID(параметр1,... ) строка здесь между элементом «ID» и открывающ

Подключение файлов исходного текста
Напомним, что имеются два варианта запроса включения в текущий файл содержимого другого файла. Директива: #include < ID_файла> вводит содержимое файла из стандартного катало

Условная компиляция
Директивы условной компиляции и реализуемые правила включения исходного текста: а) условное включение (аналог работы оператора if): #if<предикат_условия> ТЕКСТ_1

Хотите получать на электронную почту самые свежие новости?
Education Insider Sample
Подпишитесь на Нашу рассылку
Наша политика приватности обеспечивает 100% безопасность и анонимность Ваших E-Mail
Реклама
Соответствующий теме материал
  • Похожее
  • Популярное
  • Облако тегов
  • Здесь
  • Временно
  • Пусто
Теги