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

Специфікатори типу int мови С

Самостійна робота 25

 

Завдання: Вивчити теоретичний матеріал, законспектувати у зошит. Виконати практичне завдання

 

Тип int представляет целые величины и занимает одно слово машины (два байта памяти).

Вместе с типом int можно использовать квалификаторы - short и long. При этом получаются еще целочисленные типы - short int (int здесь и дальше можно опускать и писать просто short), long int (или просто long). Обычно размер типа short меньше размера типа long. На IBM PC short имеет тот же размер, что и int, а long - 4 байта.

Вместе со всеми целочисленными типами можно использовать квалификаторы signed (числа со знаком) и unsigned (числа без знака). Различие здесь - в интерпретации самого левого бита в значении - обозначает он знак или нет. В unsigned все биты представляют величину и поэтому его значения могут быть только положительными или равными нулю. В signed левый бит представляет знак (если он равен 1 - величина считается отрицательной). Если квалификатора нет, то по умолчанию считается signed.

 

                номер бита
1               байт данных

 

 

Вот размеры и диапазоны целочисленных типов в Borland C++:

Тип Размер(байты) Диапазон

char 1 от -128 до 127

unsigned char 1 от 0 до 255

short,int 2 от -32768 до 32767

unsigned int 2 от 0 до 65535

long 4 от -2.147.483.648 до 2.147.483.647

unsigned long 4 от 0 до 4.294.967.295

 

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

В языке С++ могут быть заданы символьные (еще их называют литерными, а символ, в свою очередь, литерой) константы. Это целые числа, записанные в виде символа, заключенного в одиночные кавычки, например, 'x'. Значением символьной константы является числовой код данного символа из набора символов на данной машине. На IBM PC используется код ASCII и здесь значение 'x' будет 120. Еще раз подчеркнем, что 'x' - это целое число, только особым образом записанное, и оно может участвовать в операциях над числами точно так же, как и любое целое.

Символьные константы в С++ имеют тип char.

 

Строковая литеральная константа состоит из нуля или более символов, заключенных в двойные кавычки. Неотображаемые символы представляются соответствующими управляющими последовательностями (так же, как и одинарная, двойная кавычки и обратная косая черта). Например, "C++" или "abc\n" - это строковые константы. Если несколько строковых констант написаны подряд и между ними нет ничего, кроме пробельных символов, то компилятор склеит их друг с другом и получится одна строковая константа, например, запись "Язык " "С++" эквивалентна записи "Язык С++". Кроме этого, если мы хотим записать одну строковую константу в нескольких строках программы, то в конце каждой строки нужно ставить обратную косую черту, например,

"Это одна строковая \

константа".

Вообще символ \ перед символом перевода строки заставляет транслятор считать следующую строку продолжением текущей.

Строковая константа представляется набором символов. Этот набор состоит из самой константы (тех символов, которые мы в ней задали) и завершающего нулевого символа ('\0'), который добавляет транслятор. Этот символ служит индикатором конца строки. Из такого представления вытекают следующие особенности представления строк в С:

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

2. Строка может быть какой угодно длины.

3. Чтобы найти длину строки, нужно просмотреть ее всю.

Обратите внимание на разницу в представлении символьной константы и строки, содержащей одну литеру: 'x' представляет целое значение 120, а "x" - набор символов, содержащий символ 'x' и символ '\0'.

 

 

Пример Назначение
int a; char b; Объявляются переменная а типа int и переменная b типа char
b=20; Переменной b присваивается число 20.
b=’x’; Переменой b присваивается символьная константа ‘x’, т.е. число 120 – код этой константы
a=b+10; Переменной а присваивается число 130: а=120+10=130
b=b+5; Переменной b присваивается число 125: b=120+5=125
a=’g’; Ошибка, т.к. переменной типа int могут присваиваться только целые числа
b=”x”; Ошибка, т.к. переменная типа char не может работать со строковыми константами.

 

Практическое задание: Определить назначение примеров:

· const int a=100; int s; s=a=101;

· int x; double s=10; x=s+13;

· char s; s=”+”;

· const int a=100; double s; s=a;

· int a, s=3; a=s/2;

· int x; char s=’-’; x=s;

 

Література:

1. Глинський Я.М., Анохін В.Є., Ряжська В.А. С++ і С++ Builder. – Львів: Деол, СПДГлинський, 2003.

2. Подбельский В.В.. Фомин С.С. Программирование на языке Си. – Москва «Финансы и статистика». 1999 г.

 


Дата добавления: 2015-10-21; просмотров: 68 | Нарушение авторских прав


<== предыдущая страница | следующая страница ==>
Part 2. Describe a museum| Операции присваивания

mybiblioteka.su - 2015-2024 год. (0.009 сек.)