Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Программирование на C / C++ / Язык программирования Си++. Лекции.DOC
Скачиваний:
173
Добавлен:
02.05.2014
Размер:
775.17 Кб
Скачать
    1. Основные типы данных языка Си

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

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

БНФ:

описание_типа =

["const "] имя_типа " " имя ["=" константа]

{ "," имя ["=" константа] } ";"

Если в описании присутствует ключевое слово const, то описываемое данное объявляется как немодифицируемое, то есть его значение не может быть изменено в процессе выполнения программы.

Если в описании имеется знак "=" и константа соответствующего типа, то вместе с объявлением переменной происходит ее инициализация, то есть присваивание начального значения.

В языке Си предопределены несколько имен типов:

БНФ:

имя_типа = "int" | "short" | "long" | "char" |

"float" | "double"

int - целый длиной 2 байта, диапазон значений -32768 ... +32767;

short - целый короткий, для IBM PC аналогиченint;

long - целый длиной 4 байта, диапазон значений

char - символьный длиной 1 байт, его можно рассматривать как целое -128...+127 (иногда 0...255);

float - тип данных с плавающей точкой, длиной 4 байта, вещественное число с диапазоном значений отдои 6-ю значащими цифрами;

double - тип данных с плавающей точкой, длиной 8 байт, вещественное число с диапазоном значений отдои 14-ю значащими цифрами;

Примеры описаний:

int a, b=4, c; /* описывает целые переменные a,b,c */

/* и инициализирует переменную b */

float speed, line; /* описывает вещественные переменные */

/* speed, line */

const double pi=3.14159; /* описывается имя pi, которое */

/* используется как константа */

/* типа double */

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

Целый тип данных часто используется для организации флагов, счетчиков, индексов и т.д.

    1. Правила записи констант различных типов

Константы - это объекты данных, которые не меняют своих значений в процессе выполнения программы. Имя константы однозначно определяет и ее тип, и ее значение.

В простейшем случае в Си определены три типа констант: целые, вещественные, символьные. Рассмотрим правила их записи.

БНФ:

целая_константа =

( десятичная | восьмеричная |

шестнадцатеричная ) ["l"|"L"]

десятичная = цифра {цифра}

восьмеричная = "0" цифра8 {цифра8}

шестнадцатеричная = "0" ( "x" | "X" ) цифра16 {цифра16}

цифра8 = "0"|"1"|...|"7"

цифра16 = "0"|"1"|...|"9"|"A"|"B"|"C"|"D"|"E"|"F"

Обычно целые константы имеют тип int, добавление сзади константы буквы l или L обозначает константу типа long.

Примерправильных целых констант: 17, 012L, 0x35, 1235L

Отрицательные целые константы получаются путем добавления знака "-" перед константой без знака. Значением целой константы является число, которое она обозначает.

БНФ:

вещ_константа = цифра {цифра} "." {цифра}

[ "e" [ "+" | "-" ] цифра {цифра} ]

Пример правильных вещественных констант: 12e-33, 12.5, 128.05e-56, 54e23 .

Отрицательные вещественные константы получаются путем добавления знака "-" перед константой без знака. Значением вещественной константы является число, которое она обозначает.

Символьной константой является любой символ, заключенный в апострофы: 'A', 'c', 'd'. Значение символьной константы - величина целого типа, равная коду символа из таблицы кодов.

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

'\n' - символ перевода строки,

'\r' - символ возврата каретки,

'\t' - символ табуляции,

'\b' - символ возврата на шаг,

'\\' - обратная косая черта,

'\"' - кавычки,

'\0' - символ с кодом 0.

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

Символ может быть представлен и его шестнадцатеричным кодом, перед которым необходимо поставить \x. Например: '\x4C'эквивалентно 'L' и т.д.

Соседние файлы в папке C++