2806

Базовые типы данных

Лекция

Информатика, кибернетика и программирование

Лекция 4 Базовые типы данных   Тип задаётся набором допустимых значений и действий, которые можно производить над данными этого типа. Типы данных языка C схематически представлены на рисунке 1. Базовые типы данных языка C. Тип char –...

Русский

2012-10-19

77 KB

18 чел.

Лекция 4

Базовые типы данных

 

Тип задаётся набором допустимых значений и действий, которые можно производить над данными этого типа. Типы данных языка C схематически представлены на рисунке 1.

Рис. 1

Базовые типы данных языка C.

Тип char – символьный тип, хранит код символа. Любой символ в компьютере, который можно ввести с клавиатуры, вывести на монитор, имеет соответствующий ему код. Эти коды представлены в таблицах кодировок ASCII, ГОСТ и других, в зависимости от используемой компьютером кодировки. Преобразование символа в код и наоборот производится компьютером автоматически.

Тип int – целочисленный тип, хранит значение целого числа.

Тип float – вещественный тип, хранит значение числа с плавающей точкой.

Тип double – вещественный тип двойной длины, хранит значение числа с плавающей точкой.

Типы char, int, float, double является знаковыми, то есть переменная данного типа может принимать положительные и отрицательные значения.

Тип void – пустой тип, не имеющий значения.

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

Модификатор signed – знаковый тип, хранит значения как положительные, так и отрицательные.

Модификатор unsigned – беззнаковый тип, хранит только неотрицательные значения.

Модификатор short – короткий тип, хранит укороченные значения.

Модификатор long – длинный тип, хранит удлинённые значения.

Модификаторы signed и unsigned могут применяться к типам char и int. Модификаторы short и long могут применяться к типу int. Модификатор long может также применяться к типу double. Модификаторы signed и unsigned могут комбинироваться с модификаторами short и long в применении к типу int.

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

Тип

Размер в байтах (битах)

Интервал изменения

char

1(8)

от -128

до 127

unsigned char

1(8)

от 0

до 255

signed char

1(8)

от -128

до 127

int

2(16)

от -32768

до 32767

unsigned int

2(16)

от 0

до 65535

signed int

2(16)

от -32768

до 32767

short int

2(16)

от -32768

до 32767

unsigned short int

2(16)

от 0

до 65535

signed short int

2(16)

от -32768

до 32767

long int

4(32)

от -2147483648

до 2147483647

signed long int

4(32)

от -2147483648

до 2147483647

unsigned long int

4(32)

от 0

до 4294967295

float

4(32)

от -3.4E+38

до -3.4E-38

от 3.4E-38

до 3.4E+38

double

8(64)

от -1.7E+308

до -1.7E-308

от 1.7E-308

до 1.7E+308

long double

10(80)

от -3.4E+4932

до -3.4E-4932

от 3.4E-4932

до 3.4E+4932

В среде Borland C++ 3.1 можно в объявлениях переменных опускать слово int (например, short вместо short int, unsigned short вместо unsigned short int).

Все числа в памяти ЭВМ хранятся в двоичной системе счисления, но для программиста они доступны в десятичной системе счисления.

Различие между целыми числами со знаком и целыми числами без знака состоит в том, как интерпретируется старший бит целого числа в машинном представлении. Старший бит для целого знакового числа определяет знак числа. Если старший бит равен нулю, то число положительное, если единице, то число отрицательное. Отрицательные числа хранятся в обратном коде. Старший бит для целого беззнакового числа является обычным численным разрядом.

Константы

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

  •  целые числа (базовый тип – int);
  •  вещественные числа (базовые типы – float, double);
  •  символьные (базовый тип – char);
  •  строковые (массив символов).

Целые константы – натуральные числа. В языке C используются числа в восьмеричной, десятичной и шестнадцатеричной системах счисления. Чтобы отличать восьмеричные и шестнадцатеричные константы от десятичных, перед восьмеричными константами ставится ноль, а перед шестнадцатеричными – пара символов ‘0x’.

Пример 1

Тип данных

Восьмеричная константа

Десятичная константа

Шестнадцатеричная константа

int

1

1

1

int

173

123

7B

short int

-473

-315

-13B (FEC5)

unsigned int

146114

52300

CC4C

long int

222370

75000

124F8

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

Вещественные константы – вещественные числа в десятичной системе счисления.

Пример 2

Тип данных

Константа

float

14.9

float

-0.516

float

-2.5e-7

double

14.9

double

-4.96e-19

double

123456789

Символьные константы – целые числа, значения которых соответствует ASCII-коду символа. Символьные константы заключаются в одинарные кавычки. В качестве символьной константы может выступать escape-последовательность, также взятая в одинарные кавычки.

Пример 3

Тип данных

Константа

ASCII-код

char

‘a’

97

char

‘\n’

10

char

‘9’

57

Строковые константы – это группа (массив) символов в количестве от 0 до произвольного числа n, заключённая в двойные кавычки и заканчивающаяся нулевым байтом. В строковую константу могут входить escape-последовательности.

Пример 4.

“Это - \n строковая константа”

Строковая константа в программе может быть записана в двух или более строках, но при выводе на консоль в рабочем режиме программы она будет выведена в одну строку, если для переноса на другую строку используются знаки ‘\<Enter>’, так как под символы ‘\<Enter>’ память не отводится.

Пример 5.

printf (“Эта строковая константа\

при выводе на консоль\

будет записана в одну строку”);

Если несколько строк записаны без разделителя или через разделители пробел, Enter или табуляция, то компилятор объединит их в одну строку.

Пример 6.

"Hel" "lo, "

"Wor"   "ld""!"

Особенностью представления строковых констант в языке C является то, что под строковую константу компилятор отводит на один байт больше, чем число символов в константе. Этот дополнительный байт всегда является в константе последним и заполняется нулевым значением ‘\0’.

 

Пример 7

H

e

l

l

o

,

W

o

r

l

d

!

‘\0’

Под разделительные символы (пробел, Enter, табуляция), присутствующие в строке, также отводятся соответствующие байты.

Правила определения типа константы.

Целая константа относится к типу int, если эта константа входит в интервал значений типа int. Если эта константа не входит в интервал значений типа int, то она считается константой типа unsigned int, если же она не входит в интервал unsigned int, то она считается константой типа long int, если же она не входит в интервал long int, то она считается константой типа unsigned long int.

Константа с десятичной точкой считается константой типа double, если она помещается в соответствующий интервал изменения.

Константы символьного и строкового типов задаются явно.

В языке C имеется механизм явного задания типов констант с помощью суффиксов. В качестве суффиксов для целочисленных констант могут использоваться u, l, h, U, L, H, для вещественных констант – l, f, L, F.

Пример 8

Тип данных

Константы

short int

12h, 34H

long int

23L, -237l

unsigned int

17u, 456U

unsigned long int

89lu, 89Lu, 89ul, 7UL, 7Ul

unsigned short int

45uh, 45uH

float

23.4F, -67.7E-24f

long double

1.39l, 12.0L

 


 

А также другие работы, которые могут Вас заинтересовать

23811. Конкретный смысл действия умножение 17.5 KB
  Образовательные: 1 совершенствовать навыки устного счета 2 заменять сумму одинаковых слагаемых умножением; 3 отрабатывать умения решать составные задачи 2. Чему равно уменьшаемое два ученика придумывают два своих примера и задают любому из учеников Цель: называние элементов выражения действий к доске 2 ученика остальные в тетради замените сумму умножением: 7777777= 771 ученик 5555=54 2уч 777= 3 уч тут возникает проблема можем ли мы заменить действие вычитание умножением запомните что нельзя. Потому что при...
23812. Конкретный смысл действия умножения 20.26 KB
  Почему цель: сколько раз и по сколько раз взяли число 777 7777 444 444 222 888 Вычисли: выходят два ученика Остальные в тетрадях. 27999= 217777= Сколько раз из 27 вычли 9 из 28 вычли 7 Значит сколько раз по 9 содержится в 27 по 7 в 14 Внимательно слушаем Запиши число 2728 через сумму 9 7. запись: 999=27; 7777=21по 9 три раза Итак внимание Сумму какого числа мы находили Сколько раз мы сложили это число запишем Это обозначает что мы взяли по 9 взяли три раза кто нибудь...
23813. Задачи на умножение 16.86 KB
  Класс: 2 Тип урока: комбинированный Тема: задачи на умножение; ФОУД: фронтальная индивидуальная Технология: традиционная Дидактическая цель: создать условия для отработки навыка замены действий сложения умножением в решении задач; Задачи: 1.Образовательные: 1 совершенствовать навыки устного счета 2 заменять сумму одинаковых слагаемых умножением; 3 отрабатывать умения решать задачи; 4закреплять правила замены суммы одинаковых слагаемых умножением. вычисление с помощью замены умножения сложением замени суммой одинаковых слагаемых: 6=...
23814. Стихи А. Плещеева о весне 19.54 KB
  Плещеева о весне Тип урока: урок чтения лирического произведения и коллективного анализа ФОУД: фронтальная Технология: традиционная Оборудование: учебник Литературное чтение Канакина 2кл. Плещеева о весне Задачи Образовательные: познакомить с важными фактами из жизни и творчества А. Плещеева совершенствовать умение анализировать лирическое произведение совершенствовать навык сознательного правильного выразительного чтения Развивающие: развивать творческое воображение детей развивать литературную речь учащихся развивать память...
23815. Рассказ В. Осеевой «Волшебное слово» 20.25 KB
  Вспомним содержание произведения ответив на вопросы кроссворда у каждого на парте Учитель Читает вопросы: Как зовут мальчика Что было в руке у старика Как зовут девочку Кто пекла пирожки На чем сидел старик в начале рассказа Кого попросил Павлик чтобы его взяли кататься на лодке Где Павлик нашел бабушку Что пекла бабушка На чем чертил старик зонтиком Что попросил Павлик у Лены На чем хотел покататься Павлик Куда положил Павлик руку когда попросил брата взять его покататься Как назвал старика Павлик Какое...
23816. Урок по литературе Рассказ В. Осеевой «Волшебное слово» 21.54 KB
  Для того чтобы узнать какая тема будет сегодня у нас на уроке вам нужно составить правильные словосочетания: сказка настольная лампа волшебное слово интересная Обратите внимание какое слово во втором столбике не может сочетаться с другими словами С каким словом оно сочетается Так называется произведение которое мы сегодня будем изучать на уроке. Увлекательные истории цикла рассказов Волшебное слово очень нравились детям.
23817. В. Осеева «Волшебное слово» 49.5 KB
  Осеева Волшебное слово УМК Школа России Л. сказка деревянная палочка красивый лампа интересная слово настольная цветок волшебное Стрелкой соедините слова связанные по смыслу. Слайд 3 Какое словосочетание здесь лишнее Почему Слайд 4 Можем ли мы употребить слово волшебное с другими славами из первого столбика Что у...
23818. В. Осеева « Волшебное слово». 267.17 KB
  Карточки с пословицами карточки с вежливыми словами выставка книг о вежливости мяч карточки с названиями частей плана учебник портрет В. словарь Ожегова кроссворд Ход урока. Как вы понимаете эти слова Волшебное доброе слово может подбодрить человека в трудную минуту поможет улучшить наше настроение. Словарь вежливых слов Растает даже ледяная глыба от слова теплого СПАСИБО.
23819. Урок чтения лирического произведения и коллективного анализа 19.02 KB
  Дата: 19 февраля Класс: 2 Тема: Тип урока: урок чтения лирического произведения и коллективного анализа ФОУД: фронтальная Технология: традиционная Оборудование: учебник Литературное чтение Канакина 2кл. Вы любите зиму Почему Почему мы рады весне Прочитаем еще раз стихотворение: чтение 1 го четверостишия Найдите рифмующиеся слова злится стучится подберите синоним к слову не даром не зря Какой героине вы больше сопереживаете весне чтение 2 четверостя Кто помогает весне Как вы понимаете значение слова трезвон чтение...