Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Базовий курс языка C.doc
Скачиваний:
0
Добавлен:
10.11.2018
Размер:
307.2 Кб
Скачать

1.4.2 Типы и размеры данных в Си

Базовые типы:

  • char

  • int

  • fioat

  • double

К типам данных можно применить две группы квалiфiкаторiв:

  • квалiфiкаторы длины

    • short

    • long

  • квалiфiкаторы знака

    • signed

    • unsigned

- Имя квалiфiкатора записывают перед названием базового типа;  - квалiфiкаторы длины применяются к типу int , а квалiфiкатор long также к типу double ;  - квалiфiкаторы знака применяются только к типу int и char .

Пример 2:

short int х; = short х

long int х; = long х

____________________________

размер размер размер

SHORT <= INT <= LONG

Реализация типов данных в языке Turbo-C:

AutoShape 3

Примечание:

  1. В языке Си отсутствует такой фундаментальный тип данных как логический (он моделируется целым типом данных);

  2. Тип указатель будет рассмотрен в соответствующей теме;

  3. В языке Си есть тип данных void (пустой) для идентификации отсутствия типа значения.

1.4.3 Константы

1. Целые константы

Имеют тип int .  Чтобы константа имела тип long конце следует записать символ l или L .  Если после изображения константы запишем l или L , тогда транслятор для этой константы выделяет 4 байта.  Целые константы могут быть в трех системах счисления

Системы счисления

в 10 с / с - цифры 0 - 9 (не начинаются с 0)

в 8 с / с - цифры 0 - 7 (начинаются с 0)

в 16 с / с - цифры 0 - 9; буквы А - F или а - f (начинаются с 0х)

Пример 3:

170 = / * 10-я * /

0252 = / * 8-я * /

0хаа = / * 16-я * /

170L = / * 10-я длинная * /

0252L = / * 8-я длинная * /

0хааl = / * 16-я длинная * /

Замечание: если цiлочисельна константа со знаком окажется больше, чем максимальное целое со знаком (32767), тогда эта константа представляется как длинная.

2. Константа действительна

Это константа, в которой есть или десятичная точка, или экспоненциальная часть.

Пример 4:

314.15е-2 =

314.15е-2 =

3. =

3.1415 =

.31415 Е1 =

0.31415е1

3. Символьная константа

Это один символ из допустимого набора букв в апострофах (одинарные кавычки).

Представление (что может быть записано внутри кавычек):

1) один символ (байт) - буквы кирилiцi и латыни, арабские цифры, арифметические операции, знаки, специальные символы;

Используются коды:  - ASCII (персональные ЭВМ типа IBM PC);  - КОИ-8 (мини-ЭВМ);  - ДКОИ (большие ЭВМ)

2) специальные символы (Esc-последовательности) :

апостроф''

кавычки \ "

пусто (нулевой символ) \ 0

новая строка \ n

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

3) последовательность трех восьмеричный цифр : \ ddd

Пример 5:

'M' 'm' 'n' 'П'

'\ N' '\'

'\ 016' = 'f'

Символьная константа имеет тип int (занимает 2 байта).

4. Строчная константа

Это последовательность символов кодов внутримашинного представления в "" (парных кавычках).

Пример 6:

"ПМ" "informatique"

"П" "m"

В памяти ЭВМ строка представляется массивом символов, в котором после последнего символа компилятором автоматически добавляется признак конца строки (\ 0).

5. Константный выражение

Содержит знаки операций и константы (включая именованные)

Именованные константы:

# Define <имя> <текст>

<Имя> - Сiмвольне имя;  <текст> - последовательность букв, которые представляют собой конструкцию, допустимая в языке Си.

Семантика

- Везде замена <имени> на <текст>, КРОМЕ следующих случаев:

  • внутри парных кавычек

  • если <имя> является частью другого имени

Особенности синтаксиса

- <Имя> пишется заглавными буквами;  - в этих констант НЕТ деклараций (объявлений);  - в # define НЕТ ";"

Пример 7:

# Define МАХ 100

# Define V_YEAR 1

Использование именовавшийся констант в константных выражениях :

Пример 8:

# Define МАХ 100

...

float a [MAX];

Пример 9:

# Define V_YEAR 1

...

iДвойная волна 1nt days_of_year [31 +28 + V_YEAR +31 +30 +31 +30 +31 +31 +30 +31 +30 +31];