|
Самостійна робота 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 | | | Операции присваивания |