Студопедия  
Главная страница | Контакты | Случайная страница

АвтомобилиАстрономияБиологияГеографияДом и садДругие языкиДругоеИнформатика
ИсторияКультураЛитератураЛогикаМатематикаМедицинаМеталлургияМеханика
ОбразованиеОхрана трудаПедагогикаПолитикаПравоПсихологияРелигияРиторика
СоциологияСпортСтроительствоТехнологияТуризмФизикаФилософияФинансы
ХимияЧерчениеЭкологияЭкономикаЭлектроника

Система базовых типов данных

Читайте также:
  1. DSM — система классификации Американской психиатрической ассоциации
  2. ERP-система
  3. I Объективные характеристики (потребление материальных благ; продолжительность жизни; система образования; время труда; показатель преступности);
  4. I. Исследование свойств форматов сжатия графических данных
  5. Internet/Intranet-технологии в корпоративных информа­ционных системах.
  6. PDM-система
  7. PR как рационально структурированная система коммуникационного обеспечения деятельности организации
  8. V1: {{2}} Тема № 2 Финансовая система и финансовая политика.
  9. V1: {{3}} Тема №3 Финансы предприятий и налоговая система.
  10. V1: {{4}} Тема № 4 Бюджетная система

Структура программы на языке программирования С

 

В отличие от ЯП Паскаль ЯП С не имеет жестко заданной структуры программы со всеми блоками и разделами. В целом программа состоит из функций, главной из которых является функция main. При запуске программы управление передается этой функции. С точки зрения ЯП Паскаль эта функция эквивалентна главному блоку BEGIN…END.

Так как ЯП С сам по себе является довольно простым языком программирования и не содержит даже операторов ввода\вывода, то основную часть языка С составляют его библиотечные функции. Эти функции группируются в различные библиотеки в зависимости от своего функционального назначения. Для того, чтобы использовать функции необходимо подключить соответствующую программу. Это осуществляется с помощью директивы препроцессора #include<имя библиотеки>. Подключение библиотек осуществляется в самом начале программы. Наиболее часто используемыми библиотеками являются:

· stdio.h – библиотека стандартного I\O,

· math.h – библиотека математических функций,

· conio.h – библиотека консольного I\O,

· stdlib.h – библиотека стандартных функций.

Часто библиотеки перекрывают друг друга: содержат одни и те же функции.

Таким образом, структуру простейшей программы можно представить в следующем виде: она состоит из двух частей. Первая часть – это радел подключений библиотек, а вторая часть – функция main, содержащая саму программу. Программа заключается в фигурные скобки, которые играют роль ключевых слов BEGIN и END в ЯП Паскаль.

Например, простейшая программа «Привет мир!» имеет вид:

#include<stdio.h>

void main()

{

printf(“Hello world!\n”);

}

Тело функции main состоит из операторов, которые записываются в импликативной (процедурной) форме. Каждый оператор завершается знаком «;». Все операторы языке С можно разделить на четыре группы:

1. Операторы объявлений типов и переменных;

2. Операторы присвоений, математических и логических операций;

3. Операторы вызова функций;

4. Операторы управления.

 

Система базовых типов данных

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

Тип - это описание диапазона значений, которые может принимать переменная, указанного типа. Каждый тип данных характеризуется своим размером (количество байт занимаемых значением данного типа в памяти компьютера) и диапазоном принимаемых значений.

Любой язык программирования высокого уровня характеризуется набором своих типов. Все типы данных можно разделить на следующие виды:

· простые (скалярные) и сложные (векторные) типы;

· базовые (системные) и пользовательские типы.

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

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

В языке С систему базовых типов образуют четыре типа данных:

· символьный,

· целочисленный,

· вещественный одинарной точности,

· вещественный двойной точности.

Символьный тип (char) предназначен для описания символьных или целочисленных значений. Размер значения данного типа составляет 1 байт, диапазон принимаемых значений от -128 до 127. Может рассматриваться как символ и как число (специфика языка программирования), т.е. не требует преобразования как в языке Pascal.

Целочисленный тип (int) предназначен для описания целочисленных значений. Размер значения данного типа зависит от разрядности системы (среды разработки) и составляет:

· в 16-ти разрядных системах - 2 байта (диапазон принимаемых значений от -32768 до 32767);

· в 32-ух разрядных системах - 4 байта (диапазон принимаемых значений от -2147483648 до 2147483647).

ПРИМЕЧАНИЕ: Так как 16-ти разрядные системы устарели, то в дальнейшем будем рассматривать только 32-ух разрядное представление целого числа.

Вещественный тип одинарной точности (float) предназначен для описания вещественных значений одинарной точности. Размер значения данного типа составляет 4 байта (23 бита - мантисса, 8 бит - порядок, 1 бит - знак числа), диапазон принимаемых значений ±3.4Е±38. Точность - до 7 знаков после запятой

Вещественный тип двойной точности (double) предназначен для описания вещественных значений двойной точности. Размер значения данного типа составляет 8 байт (52 бита - мантисса, 11 бит - порядок, 1 бит - знак числа), диапазон принимаемых значений ±1.7Е±308. Точность - до 17 знаков после запятой.

Помимо описанных типов данных в языке С предусмотрены две группы модификаторов типа:

· модификаторы знака: signed и unsigned,

· модификаторы размера: short и long.

Модификатор signed осуществляет преобразование целочисленных значений к знаковым числам. Используется совместно с типами char и int. Так как этот модификатор всегда используется по умолчанию, то указывать его необязательно.

Модификатор unsigned осуществляет преобразование целочисленных значений к незнаковым числам. Используется совместно с типами char и int. Преобразование осуществляется путем переноса бита знака числа в значащие разряды, модифицируя тем самым диапазон принимаемых значений. Тип unsigned char принимает диапазон значений от 0 до 255. А тип unsigned int:

· для 32-ух разрядных систем: от 0 до 4294967295 (232-1),

· для 16-ти разрядных систем: от 0 до 65535 (216-1).

Модификатор short осуществляет преобразование целого числа типа int к короткому целому:

· для 16-ти разрядных систем: используется по умолчанию;

· для 32-ух разрядных систем: преобразует к 2-ух байтному значению с диапазоном от -32768 до 32767.

Модификатор long осуществляет преобразование целого числа типа int к длинному целому:

· для 16-ти разрядных систем: преобразует к 4-ех байтному значению с диапазоном от -2147483648 до 2147483647;

· для 32-ух разрядных систем: используется по умолчанию.

Модификатор long также используется с вещественным типом двойной точности double, преобразуя последний к вещественному числу повышенной точности (формат сопроцессора) размером 10 байт (64 бит - мантисса, 15 бит - порядок, 1 бит - знак числа) и диапазоном ±3.4Е±4932.

В стандарте С99 было разрешено двукратное использование модификатора long для создания 64-ех разрядных целых чисел. Значение типа long long int имеет размер 8 байт и диапазон от -263 до 263-1.

Допускается совместное применение модификаторов типа из различных групп. Например, значение типа unsigned long long int имеет размер 8 байт и диапазон значений от 0 до 264-1.

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

limits.h - содержит диапазоны целочисленных значений,

float.h - содержит диапазоны вещественных значений.

Рассмотренные типы данных относятся к числовым и символьным типам. До появления стандарта С99 в языке С булев (логический) тип отсутствовал как таковой. Вместо логических значений использовались целочисленные значения, интерпретируемые следующим образом:

· 0 - логическая ложь (false),

· 1 или любое отличное от нуля - логическая истина (true).

В стандарте С99 был введен логический тип _Bool, размер которого составляет 1 байт. Для использования более привычных ключевых слов bool, true и false необходимо подключить библиотеку stdbool.h. Тем не менее, чаще всего используется старое представление логического типа (целочисленными значениями).

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




Дата добавления: 2015-04-11; просмотров: 26 | Поможем написать вашу работу | Нарушение авторских прав

<== 1 ==> | 2 | 3 |


lektsii.net - Лекции.Нет - 2014-2024 год. (0.009 сек.) Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав